Update MEC010-s to v2.2.1

Merge request reports

Loading
+13 −16
Changes for MEC010-2_AppGrant.json: 13 added lines, 16 removed lines.
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
  "info": {
    "title": "ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management",
    "description": "ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management described using OpenAPI.",
    "version": "2.1.1",
    "version": "2.2.1",
    "license": {
      "name": "BSD-3-Clause",
      "url": "https://forge.etsi.org/legal-matters"
@@ -15,8 +15,8 @@
    }
  },
  "externalDocs": {
    "description": "ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v2.1.1",
    "url": "https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.01.01_60/gs_MEC01002v020101p.pdf"
    "description": "ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v2.2.1",
    "url": "https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.02.01_60/gs_MEC01002v020201p.pdf"
  },
  "jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
  "servers": [
@@ -259,7 +259,6 @@
            "description": "Identifier of the external CP instance to which this set of configuration parameters is requested to be applied. \n\nShall be present if this instance has already been created."
          },
          "cpProtocolData": {
            "minItems": 0,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CpProtocolData"
@@ -281,7 +280,6 @@
        "type": "object",
        "properties": {
          "cpConfig": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppExtCpConfig"
@@ -350,7 +348,6 @@
        "type": "object",
        "properties": {
          "extCps": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppExtCpData"
@@ -358,7 +355,6 @@
            "description": "External CPs of the application instance to be connected to this external VL."
          },
          "extLinkPorts": {
            "minItems": 0,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtLinkPortData"
@@ -390,22 +386,23 @@
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
            "type": "string",
            "description": "Identifier of the Grant."
          },
          "appInstanceId": {
            "type": "string",
            "description": "Identifier of application instance."
            "description": "Identifier of the application instance which this Grant is related to."
          },
          "appLcmOpOccId": {
            "type": "string",
            "description": "Identifier of application lifecycle management operation occurrence."
            "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.",
            "items": {
              "$ref": "#/components/schemas/VimConnectionInfo"
            },
            "description": ""
            }
          },
          "zones": {
            "type": "array",
@@ -763,7 +760,7 @@
          },
          "resourceTemplateId": {
            "type": "string",
            "description": "Reference to a resource template, i.e. VirtualLinkDesc, VirtualComputeDesc, AppExtCpd, VirtualStorageDesc in the AppD."
            "description": "Reference to a resource template, i.e. VirtualComputeDescriptor, AppExtCpd, VirtualStorageDescriptor in the AppD."
          },
          "resource": {
            "$ref": "#/components/schemas/Resource"
@@ -874,7 +871,6 @@
        "type": "object",
        "properties": {
          "zoneId": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string"
@@ -893,10 +889,11 @@
        "properties": {
          "id": {
            "type": "string",
            "description": "The identifier of this ZoneInfo instance, for the purpose of referencing it from other structures in the \"Grant\" structure."
            "description": "Identifier of the connection to the VIM that manages the resource zone. The applicable \"VimConnectionInfo\" structure, which is referenced by vimConnectionId, can be obtained from the \" vimConnectionInfo\" attribute of the \"AppInstanceInfo\" structure."
          },
          "vimConnectionId": {
            "type": "string"
            "type": "string",
            "description": null
          },
          "zoneId": {
            "type": "string",
+10 −13
Changes for MEC010-2_AppGrant.yaml: 10 added lines, 13 removed lines.
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@ openapi: 3.1.0
info:
  title: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management'
  description: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management described using OpenAPI.'
  version: '2.1.1'
  version: '2.2.1'
  license:
    name: BSD-3-Clause
    url: https://forge.etsi.org/legal-matters
@@ -11,8 +11,8 @@ info:
    url: https://forge.etsi.org/rep/mec/gs010-2-app-pkg-lcm-api
    email: cti_support@etsi.org
externalDocs:
  description: "ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v2.1.1"
  url: 'https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.01.01_60/gs_MEC01002v020101p.pdf'
  description: "ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v2.2.1"
  url: 'https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.02.01_60/gs_MEC01002v020201p.pdf'
jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema
servers:
- url: https://localhost/granting/v1
@@ -173,7 +173,6 @@ components:
          type: string
          description: "Identifier of the external CP instance to which this set of configuration parameters is requested to be applied. \n\nShall be present if this instance has already been created."
        cpProtocolData:
          minItems: 0
          type: array
          items:
            $ref: '#/components/schemas/CpProtocolData'
@@ -189,7 +188,6 @@ components:
      type: object
      properties:
        cpConfig:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/AppExtCpConfig'
@@ -239,13 +237,11 @@ components:
      type: object
      properties:
        extCps:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/AppExtCpData'
          description: External CPs of the application instance to be connected to this external VL.
        extLinkPorts:
          minItems: 0
          type: array
          items:
            $ref: '#/components/schemas/ExtLinkPortData'
@@ -270,17 +266,18 @@ components:
      properties:
        id:
          type: string
          description: Identifier of the Grant.
        appInstanceId:
          type: string
          description: Identifier of application instance.
          description: Identifier of the application instance which this Grant is related to.
        appLcmOpOccId:
          type: string
          description: Identifier of application lifecycle management operation occurrence.
          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.
          items:
            $ref: '#/components/schemas/VimConnectionInfo' 
          description: ''
        zones:
          type: array
          items:
@@ -540,7 +537,7 @@ components:
          description: Reference to the related VDU in the AppD applicable to this resource.
        resourceTemplateId:
          type: string
          description: Reference to a resource template, i.e. VirtualLinkDesc, VirtualComputeDesc, AppExtCpd, VirtualStorageDesc in the AppD.
          description: Reference to a resource template, i.e. VirtualComputeDescriptor, AppExtCpd, VirtualStorageDescriptor in the AppD.
        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 '"
@@ -620,7 +617,6 @@ components:
      type: object
      properties:
        zoneId:
          minItems: 1
          type: array
          items:
            type: string
@@ -634,9 +630,10 @@ components:
      properties:
        id:
          type: string
          description: The identifier of this ZoneInfo instance, for the purpose of referencing it from other structures in the "Grant" structure.
          description: Identifier of the connection to the VIM that manages the resource zone. The applicable "VimConnectionInfo" structure, which is referenced by vimConnectionId, can be obtained from the " vimConnectionInfo" attribute of the "AppInstanceInfo" structure.
        vimConnectionId: 
          type: string
          description: 
        zoneId:
          type: string
          description: The identifier of the resource zone, as managed by the resource management layer (typically, the VIM).
+938 −210

File changed.

Preview size limit exceeded, changes collapsed.

+712 −196
Changes for MEC010-2_AppLcm.yaml: 712 added lines, 196 removed lines.
Original line number Diff line number Diff line
@@ -9,11 +9,11 @@ info:
    name: ETSI Forge
    url: https://forge.etsi.org/rep/mec/gs010-2-app-pkg-lcm-api
    email: cti_support@etsi.org
  version: '2.1.1'
  version: '2.2.1'

externalDocs:
  description: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v2.1.1'
  url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.01.01_60/gs_MEC01002v020101p.pdf
  description: 'ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, v2.2.1'
  url: 'https://www.etsi.org/deliver/etsi_gs/MEC/001_099/01002/02.02.01_60/gs_MEC01002v020201p.pdf'
jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema
tags:
- name: app-lcm
@@ -328,24 +328,9 @@ paths:
    post:
      tags:
      - 'app-lcm-notifications'
      summary:  'subscribe to the notification of application instance operational state change'
      description: subscribe to the notification of application instance operational state change
      summary:  'subscribe to the notification of application instance related change'
      description: subscribe to the notification of application instance related change
      operationId: appLcmSubscriptionsPOST
      parameters:
      - name: subscriptionType
        in: query
        description: >-
          "Query parameter to filter on a specific subscription type. Permitted values:
            • "AppInstanceStateChange"
            • "AppLcmOpOccStateChange"
          "
        required: true
        style: form
        explode: true
        schema:
          oneOf:
          - $ref: '#/components/schemas/AppInst.SubscriptionType'
          - $ref: '#/components/schemas/AppLcmOpOcc.SubscriptionType'
      requestBody:
        description: ''
        content:
@@ -354,6 +339,8 @@ paths:
              oneOf:
              - $ref: '#/components/schemas/AppInstSubscriptionRequest'
              - $ref: '#/components/schemas/AppLcmOpOccSubscriptionRequest'
              - $ref: '#/components/schemas/AppInstIdCreationSubscriptionRequest'
              - $ref: '#/components/schemas/AppInstIdDeletionSubscriptionRequest'
              contentMediaType: application/json
        required: true
      responses:
@@ -366,6 +353,8 @@ paths:
                oneOf:
                - $ref: '#/components/schemas/AppInstSubscriptionInfo'
                - $ref: '#/components/schemas/AppLcmOpOccSubscriptionInfo'
                - $ref: '#/components/schemas/AppInstIdCreationSubscriptionInfo'
                - $ref: '#/components/schemas/AppInstIdDeletionSubscriptionInfo'
                contentMediaType: application/json
        '400':
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
@@ -438,11 +427,11 @@ paths:
      parameters:
      - name: subscriptionType
        in: query
        description: 'Permitted values: AppInstanceStateChange or  AppLcmOpOccStateChange'
        description: Query parameter to filter on a specific subscription type.
        style: form
        explode: true
        schema:
          type: string
          $ref: '#/components/schemas/AppInstanceSubscriptionType'
      responses:
        '200':
          description: List of all subscriptions is returned.
@@ -450,7 +439,7 @@ paths:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionLinkList'
                $ref: '#/components/schemas/AppInstanceSubscriptionLinkList'
        '400':
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
@@ -510,14 +499,6 @@ paths:
        style: simple
        schema:
          type: string
      - name: subscriptionType
        in: query
        description: 'Permitted values: AppInstanceStateChange or  AppLcmOpOccStateChange'
        required: true
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: Representation of the resource.
@@ -528,6 +509,8 @@ paths:
                oneOf:
                - $ref: '#/components/schemas/AppInstSubscriptionInfo'
                - $ref: '#/components/schemas/AppLcmOpOccSubscriptionInfo'
                - $ref: '#/components/schemas/AppInstIdCreationSubscriptionInfo'
                - $ref: '#/components/schemas/AppInstIdDeletionSubscriptionInfo'
                contentMediaType: application/json
        '400':
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
@@ -637,6 +620,8 @@ paths:
              oneOf:
              - $ref: '#/components/schemas/AppInstNotification'
              - $ref: '#/components/schemas/AppLcmOpOccNotification'
              - $ref: '#/components/schemas/AppInstanceIdentifierCreationNotification'
              - $ref: '#/components/schemas/AppInstanceIdentifierDeletionNotification'
              contentMediaType: application/json
        required: true
      responses:
@@ -759,6 +744,9 @@ paths:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    parameters: []
  
  ## Resources of application lifecycle management on Mm1

  /app_instances/{appInstanceId}/terminate:
    post:
      tags:
@@ -939,21 +927,21 @@ paths:
          type: string
      - name: fields
        in: query
        description: Complex attributes of AppPkgInfo to be included into the response
        description: Complex attributes of AppLcmOpOcc to be excluded from the response.
        style: form
        explode: true
        schema:
          type: string
      - name: exclude_fields
        in: query
        description: Complex attributes of AppPkgInfo to be excluded from the response.
        description: Complex attributes of AppLcmOpOcc to be excluded from the response.
        style: form
        explode: true
        schema:
          type: string
      - name: exclude_default
        in: query
        description: Indicates to exclude the following complex attributes of AppPkgInfo from the response.
        description: Indicates to exclude the following complex attributes of AppLcmOpOcc from the response.
        style: form
        explode: true
        schema:
@@ -967,7 +955,7 @@ paths:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AppInstanceLcmOpOcc'
                  $ref: '#/components/schemas/AppLcmOpOcc'
                description: ''
                contentMediaType: application/json
        '400':
@@ -1036,7 +1024,7 @@ paths:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppInstanceLcmOpOcc'
                $ref: '#/components/schemas/AppLcmOpOcc'
        '400':
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
@@ -1081,123 +1069,526 @@ paths:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    parameters: []
components:
  schemas:
    AppInstanceLcmOpOcc:
      title: AppInstanceLcmOpOcc
      required:
      - id
      - operationState
      - stateEnteredTime
      - startTime
      - lcmOperation
      - _links
      type: object
      properties:
        id:
          type: string
          description: "'Identifier of the subscription to application LCM operation occurrence notification'"
        operationState:
          $ref: '#/components/schemas/OperationState'
        stateEnteredTime:
          $ref: '#/components/schemas/TimeStamp'
        startTime:
          $ref: '#/components/schemas/TimeStamp'
        lcmOperation:
          $ref: '#/components/schemas/LcmOperation'
        operationParams:
          $ref: '#/components/schemas/OperationParams'
        _links:
          $ref: '#/components/schemas/AppInstanceLcmOpOcc.links'
      description: "'This data type represents an application lifecycle management operation occurrence'"
    OperationParams:
      title: OperationParams
      enum:
      - INSTANTIATE
      - OPERATE
      - TERMINATE
  /app_lcm_op_occs/{appLcmOpOccId}/cancel:
    post:
      tags:
      - 'app-lcm'
      summary: 'cancel an ongoing application lifecycle operation whose related "Individual application LCM operation occurrence" resource is in "PROCESSING" state.'
      description: cancel an ongoing application lifecycle operation whose related "Individual application LCM operation occurrence" resource is in "PROCESSING" state.
      operationId: appLcmCancelPOST
      parameters:
      - name: appLcmOpOccId
        in: path
        description: Identifies an individual application LCM operation occurrence
        required: true
        style: simple
        schema:
          type: string
      description: "'Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation.'"
      examples:
      - INSTANTIATE
    AppInstanceLcmOpOcc.links:
      title: AppInstanceLcmOpOcc.links
      required:
      - self
      - appInstance
      type: object
      properties:
        self:
          $ref: '#/components/schemas/LinkType'
        appInstance:
          $ref: '#/components/schemas/LinkType'
      description: Links to resources related to this resource.
    SubscriptionLinkList:
      title: SubscriptionLinkList
      required:
      - _links
      type: object
      properties:
        _links:
          $ref: '#/components/schemas/SubscriptionLinkList.links'
      description: "'The data type represents a subscription link list of notification on application lifecycle management. '"
    SubscriptionLinkList.links:
      title: SubscriptionLinkList.links
      required:
      - self
      type: object
      properties:
        self:
          $ref: '#/components/schemas/LinkType'
        subscriptions:
          type: array
          items:
            $ref: '#/components/schemas/SubscriptionLinkList.links.subscriptions'
      requestBody:
        description: ''
      description: Links to resources related to this resource.
    SubscriptionLinkList.links.subscriptions:
      title: SubscriptionLinkList.links.subscriptions
      required:
      - href
      - subscriptionType
      type: object
      properties:
        href:
          type: string
        subscriptionType:
          $ref: '#/components/schemas/SubscriptionType'
      description: A link list to the subscriptions
    AppLcmOpOccSubscriptionInfo:
      title: AppLcmOpOccSubscriptionInfo
      required:
      - id
      - subscriptionType
      - callbackUri
      - _links
      type: object
      properties:
        id:
          type: string
          description: "''"
        subscriptionType:
          const: AppLcmOpOccStateChange
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelMode'
        required: true
      responses:
        '202':
          description: The request was accepted for processing, but it is possible that the processing is not yet completed.
          headers: {}
          content: {}
        '400':
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '406':
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '409':
          description: 'Conflict : The operation cannot be executed currently, due to a conflict with the state of the resource'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    parameters: []
  /app_lcm_op_occs/{appLcmOpOccId}/fail:
    post:
      tags:
      - 'app-lcm'
      summary: marks an application lifecycle management operation occurrence as "finally failed"
      description: marks an application lifecycle management operation occurrence as "finally failed"
      operationId: appLcmFailPOST
      parameters:
      - name: appLcmOpOccId
        in: path
        description: Identifies an individual application LCM operation occurrence
        required: true
        style: simple
        schema:
          type: string
          description: Shall be set to AppLcmOpOccStateChange.
          examples:
          - AppLcmOpOccStateChange
        callbackUri:
      responses:
        '202':
          description: Shall be returned when the state of the application lifecycle management operation occurrence has been changed successfully
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppLcmOpOcc'
        '400':
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '406':
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '409':
          description: 'Conflict : The operation cannot be executed currently, due to a conflict with the state of the resource'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    parameters: []
  /app_lcm_op_occs/{appLcmOpOccId}/retry:
    post:
      tags:
      - 'app-lcm'
      summary: initiate retrying an application lifecycle operation that has experience a temporary failure
      description: initiate retrying an application lifecycle operation that has experience a temporary failure
      operationId: appLcmRetryPOST
      parameters:
      - name: appLcmOpOccId
        in: path
        description: Identifies an individual application LCM operation occurrence
        required: true
        style: simple
        schema:
          type: string
          description: The URI of the endpoint for the notification to be sent to.
      responses:
        '202':
          description: The request was accepted for processing, but it is possible that the processing is not yet completed
          headers: {}
          content: {}
        '400':
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '406':
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '409':
          description: 'Conflict : The operation cannot be executed currently, due to a conflict with the state of the resource'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    parameters: []


## Resources of MEPM's application lifecycle management on Mm3
  /app_instances/{appInstanceId}/configure_platform_for_app:
    post:
      tags:
      - 'app-lcm'
      summary: provide configuration information in AppD to the MEPM-V, intended to configure the MEP to run the application instance.
      description: provide configuration information in AppD to the MEPM-V, intended to configure the MEP to run the application instance.
      operationId: appInstancesConfigPlatformPOST
      parameters:
      - name: appInstanceId
        in: path
        description: The identifier of the application instance.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: The payload body in the request contains the information necessary to provide configuration information in AppD
        content:
          application/json:
            schema:
              $ref: './MEC010p2_v221_definitions.yaml#/definitions/ConfigPlatformForAppRequest'
      responses:
        '202':
          description: The request was accepted for processing, but it is possible that the processing is not yet completed
          headers: {}
          content: {}
        '400':
          description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: 'Unauthorized :  used when the client did not submit credentials.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '406':
          description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '409':
          description: 'Conflict : The operation cannot be executed currently, due to a conflict with the state of the resource'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '429':
          description: 'Too Many Requests : used when a rate limiter has triggered.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    parameters: []

components:
  schemas:
    AppLcmOpOcc:
      title: AppLcmOpOcc
      required:
      - id
      - operationState
      - stateEnteredTime
      - startTime
      - lcmOperation
      - _links
      type: object
      properties:
        id:
          type: string
          description: "'Identifier of the subscription to application LCM operation occurrence notification'"
        operationState:
          $ref: '#/components/schemas/OperationState'
        stateEnteredTime:
          $ref: '#/components/schemas/TimeStamp'
        startTime:
          $ref: '#/components/schemas/TimeStamp'
        lcmOperation:
          $ref: '#/components/schemas/LcmOperation'
        operationParams:
          $ref: '#/components/schemas/OperationParams'
        isCancelPending:
          type: boolean
          description: If the application LCM operation occurrence operationState is in "PROCESSING" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.
        cancelMode:
          $ref: '#/components/schemas/CancelMode'

        _links:
          $ref: '#/components/schemas/AppLcmOpOccSubscriptionInfo.links'
      description: "'This data type represents a subscription to notifications of application life cycle management operation occurrence'"
    AppLcmOpOcc.SubscriptionType:
      title: AppLcmOpOcc.SubscriptionType
          $ref: '#/components/schemas/AppInstanceLcmOpOcc.links'
      description: "'This data type represents an application lifecycle management operation occurrence'"
    
    AppInstanceSubscriptionLinkList:
      required:
        - _links
      properties:
        _links:
          $ref: '#/components/schemas/AppInstanceSubscriptionLinkList._links'

    AppInstanceSubscriptionLinkList._links:
      required:
        - self
      type: object
      properties:
          self:
            type: string
            description: URI referring to a resource
          subscriptions:
            type: array
            items:
              $ref: '#/components/schemas/AppInstanceSubscriptionLinkList._links.subscriptions'

    AppInstanceSubscriptionLinkList._links.subscriptions:
      type: object
      required:
        - href
        - subscriptionType
      properties:
            href:
              type: uri
            subscriptionType:
              $ref: '#/components/schemas/AppInstanceSubscriptionType'


    AppInstanceSubscriptionType:
      type: string
      description: String representing the type of a subscription.
      enum:
          - AppInstanceStateChangeSubscription
          - AppLcmOpOccStateChangeSubscription
          - AppIdentifierCreationSubscription
          - AppIdentifierDeletionSubscription

    OperationParams:
      oneOf:
                - $ref: '#/components/schemas/InstantiateAppRequest'
                - $ref: '#/components/schemas/OperateAppRequest'
                - $ref: '#/components/schemas/TerminateAppRequest'

    CancelMode:
      description: Indicates the intervention action to be taken. GRACEFUL Indicates ongoing resource management operations in the underlying system are allowed to complete execution or time out. FORCED Indicates ongoing resource management operations in the underlying system are to be cancelled without allowing them to complete execution or time out.
      type: string
      enum:
        - GRACEFUL
        - FORCED





    AppInstIdCreationSubscriptionRequest:
      type: object
      required:
        - subscriptionType
        - callbackUri
      properties:
        subscriptionType:
          type: string
        callbackUri:
          type: uri
        appInstanceSubscriptionFilter:
          $ref: '#/components/schemas/AppInstanceSubscriptionFilter'



    AppInstIdDeletionSubscriptionRequest:
      type: object
      required:
        - subscriptionType
        - callbackUri
      properties:
        subscriptionType:
          type: string
          description: Shall be set to "AppIdentifierDeletionSubscription".
        callbackUri:
          type: uri
        appInstanceSubscriptionFilter:
          $ref: '#/components/schemas/AppInstanceSubscriptionFilter'

    AppInstIdCreationSubscriptionInfo:
      type: object
      required:
        - id
        - subscriptionType
        - callbackUri
        - _links
      properties:
        id:
          type: string
        subscriptionType:
          type: string
        callbackUri:
          type: uri
        appInstanceSubscriptionFilter:
          $ref: '#/components/schemas/AppInstanceSubscriptionFilter'
        _links:
          type: object
          required:
            - self
          properties:
            self:
              $ref: '#/components/schemas/LinkType'



    AppInstIdDeletionSubscriptionInfo:
      type: object
      required:
        - id
        - subscriptionType
        - callbackUri
        - _links
      properties:
        id:
          type: string
        subscriptionType:
          type: string
          description: Shall be set to "AppIdentifierDeletionSubscription".
        callbackUri:
          type: uri
        appInstanceSubscriptionFilter:
          $ref: '#/components/schemas/AppInstanceSubscriptionFilter'
        _links:
          type: object
          required:
            - self
          properties:
            self:
              $ref: '#/components/schemas/LinkType'

    AppInstanceLcmOpOcc.links:
      title: AppInstanceLcmOpOcc.links
      required:
      - self
      - appInstance
      type: object
      properties:
        self:
          $ref: '#/components/schemas/LinkType'
        appInstance:
          $ref: '#/components/schemas/LinkType'
      description: Links to resources related to this resource.


    AppLcmOpOccSubscriptionInfo:
      title: AppLcmOpOccSubscriptionInfo
      required:
      - id
      - subscriptionType
      - callbackUri
      - _links
      type: object
      properties:
        id:
          type: string
          description: Identifier of this subscription resource.
        subscriptionType:
          const: AppLcmOpOccStateChange
          type: string
      description: Shall be set to AppLcmOpOccStateChange.
          description: Shall be set to "AppLcmOpOccStateChangeSubscription".
          examples:
          - AppLcmOpOccStateChange
        callbackUri:
          type: string
          description: The URI of the endpoint for the notification to be sent to.
        appLcmOpOccSubscriptionFilter: 
          $ref: '#/components/schemas/AppLcmOpOccSubscriptionFilter'
          description: Criteria used to select application LCM operation occurrences on which to send notifications related to this subscription.
        _links:
          $ref: '#/components/schemas/AppLcmOpOccSubscriptionInfo.links'
      description: "'This data type represents a subscription to notifications of application life cycle management operation occurrence'"

    AppLcmOpOccSubscriptionInfo.links:
      title: AppLcmOpOccSubscriptionInfo.links
      required:
@@ -1212,7 +1603,6 @@ components:
      required:
      - id
      - subscriptionType
      - notificationType
      - callbackUri
      - _links
      type: object
@@ -1223,34 +1613,23 @@ components:
        subscriptionType:
          const: AppInstanceStateChange
          type: string
          description: Shall be set to AppInstanceStateChange.
          description: Shall be set to "AppInstanceStateChangeSubscription".
          examples:
          - AppInstanceStateChange
        notificationType:
          $ref: '#/components/schemas/AppInst.NotificationType'
        callbackUri:
          type: string
          description: The URI of the endpoint for the notification to be sent to.
        _links:
          $ref: '#/components/schemas/AppInstSubscriptionInfo.links'
      description: "'The data type represents a subscription to notification of application instance operational state change.'"
    AppInst.SubscriptionType:
      title: AppInst.SubscriptionType
      const: AppInstanceStateChange
          - AppInstanceStateChangeSubscription
        appInstanceState:
          type: string
      description: Shall be set to AppInstanceStateChange.
      examples:
      - AppInstanceStateChange
    AppInst.NotificationType:
      title: AppInst.NotificationType
          enum:
            - NOT_INSTANTIATED
            - STARTED
            - STOPPED
        appInstanceSubscriptionFilter:
           $ref: '#/components/schemas/AppInstanceSubscriptionFilter'
        callbackUri:
          type: string
      description: Subscribed notification
      examples:
      - NOT_INSTANTIATED
          description: The URI of the endpoint for the subscription related notification to be sent to.
        _links:
          $ref: '#/components/schemas/AppInstSubscriptionInfo.links'
      description: "'The data type represents a subscription to notification of application instance operational state change.'"
    AppInstSubscriptionInfo.links:
      title: AppInstSubscriptionInfo.links
      required:
@@ -1273,7 +1652,8 @@ components:
          type: string
        subscriptionType:
          type: string
          description: Shall be set to "AppLcmOpOccStateChange".
          description: Shall be set to "AppLcmOpOccStateChangeSubscription".

    AppLcmOpOccSubscriptionFilter:
      title: AppLcmOpOccSubscriptionFilter
      type: object
@@ -1281,6 +1661,7 @@ components:
        appInstanceSubscriptionFilter:
          $ref: '#/components/schemas/AppInstanceSubscriptionFilter'
        notificationTypes:
          description: Match particular notification types. Permitted values AppLcmOpOccNotification.
          $ref: '#/components/schemas/NotificationTypes'
        operationStates:
          $ref: '#/components/schemas/OperationStates'
@@ -1300,6 +1681,7 @@ components:
      - PROCESSING
      - COMPLETED
      - FAILED
      - FAILED_TEMP
      type: string
      description: "'Type of the LCM operation state represented by this application instance LCM operation occurrence.'"
      examples:
@@ -1314,6 +1696,18 @@ components:
      description: "'Type of the LCM operation represented by this application instance LCM operation occurrence.'"
      examples:
      - INSTANTIATE

    MepInformation:
      type: object
      required:
        - mepId
      properties:
        mepId:
          type: string
          description: Deployment-specific identifier of MEC platform.
        mepName:
          type: string
          description: Human-readable name of MEC platform  
    CreateAppInstanceRequest:
      title: CreateAppInstanceRequest
      required:
@@ -1329,6 +1723,9 @@ components:
        appInstanceName:
          type: string
          description: Human-readable name of the application instance to be created.
        appPlacementInfo:
          description: Describes the information of selected MEC platform for the application instance to associate
          $ref: '#/components/schemas/MepInformation'
    AppInstSubscriptionRequest:
      title: AppInstSubscriptionRequest
      required:
@@ -1339,7 +1736,7 @@ components:
        subscriptionType:
          const: AppInstanceStateChange
          type: string
          description: Shall be set to AppInstanceStateChange.
          description: Shall be set to "AppInstanceStateChangeSubscription".
          examples:
          - AppInstanceStateChange
        callbackUri:
@@ -1457,12 +1854,44 @@ components:
          type: string
          description: Identifier of this notification. If a notification is sent multiple times due to multiple subscriptions, the "notificationId" attribute of all these notifications shall have the same value.
        notificationType:
          $ref: '#/components/schemas/AppInst.NotificationType'
          type: string
          description: Discriminator for the different notification types. Shall be set to "AppInstanceStateChangeSubscription" for this notification type.
        subscriptionId:
          type: string
          description: Identifier of the subscription related to this notification.
        timeStamp:
          $ref: '#/components/schemas/TimeStamp'
        appInstLocation:
          $ref: '#/components/schemas/LocationInformation'
        appInstanceState:
          type: string
          enum:
            - NOT_INSTANTIATED
            - STARTED
            - STOPPED

    LocationInformation:
      type: object
      required:
       - countryCode
      properties:
        countryCode:
          type: string
        civicAddress:
           $ref: '#/components/schemas/LocationInformation.civicAddress'
        geographicalPosition:
          type: string

    LocationInformation.civicAddress:
      type: object
      required:
       - civicAddressElement
      properties:
        civicAddressElement:
          type: array
          items:
            $ref: '#/components/schemas/CivicAddressElement'

    AppInstanceInfo:
      title: AppInstanceInfo
      required:
@@ -1523,6 +1952,7 @@ components:
      - PROCESSING
      - COMPLETED
      - FAILED
      - FAILED_TEMP
      type: string
      description: Operation state
      examples:
@@ -1584,6 +2014,8 @@ components:
      required:
      - id
      - notificationType
      - operationType
      - operationState
      - subscriptionId
      - timeStamp
      - appLcmOpOccId
@@ -1595,7 +2027,23 @@ components:
          type: string
          description: "''"
        notificationType:
          $ref: '#/components/schemas/AppLcmOpOcc.NotificationType'
          type: string
          description: Discriminator for the different notification types. Shall be set to "AppLcmOpOccStateChangeSubscription" for this notification type.
        operationType:
          type: string
          description: Type of the LCM operation represented by this application instance LCM operation occurrence.
          enum:
            - INSTANTIATE
            - OPERATE
            - TERMINATE 
        operationState:
          type: string
          enum:
            - STARTING
            - PROCESSING
            - COMPLETED
            - FAILED
            - FAILED_TEMP
        subscriptionId:
          type: string
          description: Identifier of the subscription related to this notification.
@@ -1610,17 +2058,72 @@ components:
        _links:
          $ref: '#/components/schemas/AppLcmOpOccNotification.links'
      description: "'This data type represents a notification related to state changes of an application LCM operation occurrence which informs the subscribers'"
    AppLcmOpOcc.NotificationType:
      title: AppLcmOpOcc.NotificationType
      enum:
      - STARTING
      - PROCESSING
      - COMPLETED
      - FAILED



    
    AppInstanceIdentifierCreationNotification:
      title: AppInstanceIdentifierCreationNotification
      required:
      - id
      - notificationType
      - subscriptionId
      - timeStamp
      - appInstanceId
      - _links
      type: object
      properties:
        id:
          type: string
      description: Discriminator for the different notification types
      examples:
      - STARTING
        notificationType:
          type: string
          description: Discriminator for the different notification types. Shall be set to "AppIdentifierCreationSubscription" for this notification type.
        subscriptionId:
          type: string
        timeStamp:
          $ref: '#/components/schemas/TimeStamp'
        appInstanceId:
          type: string
        _links:
          $ref: '#/components/schemas/Notification._links'
    
    Notification._links:
      type: object
      required:
        - subscription
        - appInstance
      properties:
        subscription:
          $ref: '#/components/schemas/LinkType'
        appInstance:
          $ref: '#/components/schemas/LinkType'
    
    AppInstanceIdentifierDeletionNotification:
      title: AppInstanceIdentifierDeletionNotification
      required:
      - id
      - notificationType
      - subscriptionId
      - timeStamp
      - appInstanceId
      - _links
      type: object
      properties:
        id:
          type: string
        notificationType:
          type: string
          description: Discriminator for the different notification types. Shall be set to "AppIdentifierDeletionSubscription" for this notification type.
        subscriptionId:
          type: string
        timeStamp:
          $ref: '#/components/schemas/TimeStamp'
        appInstanceId:
          type: string
        _links:
          $ref: '#/components/schemas/Notification._links'


    AppLcmOpOccNotification.links:
      title: AppLcmOpOccNotification.links
      required:
@@ -1645,13 +2148,11 @@ components:
        locationConstraints:
          $ref: '#/components/schemas/LocationConstraints'
        selectedMECHostInfo:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/MECHostInformation'
          description: Describes the information of selected host for the application instance. See note 2.
        vimConnectionInfo:
          minItems: 0
          type: array
          items:
            $ref: '#/components/schemas/VimConnectionInfo'
@@ -1661,13 +2162,35 @@ components:
            This attribute shall only be supported and may be present if application-related resource management in direct mode is applicable. See note 2.
        virtualComputeDescriptor:
          type: string
          description: Ref NFV
          description: Describes CPU and memory requirements, as well as optional additional requirements, such as disk and acceleration related capabilities, of the virtualisation container used to realize the application instance to be created. This attribute may be provided in the InstantiateAppRequest structure to override the same attribute in the AppD.
        virtualStorageDescriptor:
          minItems: 0
          type: array
          items:
            type: string
          description: Defines descriptors of virtual storage resources to be used by the application instance to be created. See note 1.
        appTermCandsForCoord:
          $ref: '#/components/schemas/AppTermCandsForCoord'
    
    AppTermCandsForCoord:
      type: object
      required:
        - terminationOptions
      properties:
        terminationOptions:
          type: array
          items:
           $ref: '#/components/schemas/AppTermCandsForCoord.terminationOptions'

    
    AppTermCandsForCoord.terminationOptions:
      type: object
      required:
        - appInstIdTerminationCands
      properties:
        appInstIdTerminationCands:
          type: array
          items:
            type: string
    LinkType:
      title: LinkType
      required:
@@ -1679,8 +2202,6 @@ components:
          description: URI referring to a resource
    LocationConstraints:
      title: LocationConstraints
      required:
      - countryCode
      type: object
      properties:
        countryCode:
@@ -1690,7 +2211,9 @@ components:
          type: array
          items:
            $ref: '#/components/schemas/CivicAddressElement'
          description: ''
        area:
          type: object
          description: Geographic area. Shall be absent if the "civicAddressElement" attribute is present. The content of this attribute shall follow the provisions for the "Polygon" geometry object as defined in IETF RFC 7946 [8], for which
      description: "'The LocationConstraints data type supports the specification of MEC application requirements related to MEC application deployment location constraints. The location constraints shall be presented as a country code, optionally followed by a civic address based on the format defined by IETF RFC 4776'"
    CivicAddressElement:
      title: CivicAddressElement
@@ -1715,7 +2238,7 @@ components:
      properties:
        hostId:
          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'"
          description: Deployment-specific information to identify a MEC host. This information can be structured to cater for host identification schemes that are more complex than a simple identifier, e.g. when referring to the structure of an NFVI.
        hostName:
          type: string
          description: Human-readable name of MEC host.
@@ -1841,13 +2364,6 @@ components:
        subscription:
          $ref: '#/components/schemas/LinkType'
      description: Links to resources related to this notification.
    SubscriptionType:
      title: SubscriptionType
      enum:
      - AppInstanceStateChange
      - AppLcmOpOccStateChange
      type: string
      examples:
      - AppInstanceStateChange

security:
- {}
+1100 −947

File changed.

Preview size limit exceeded, changes collapsed.

Loading
Loading