MEC021 v2.2.1 - OAS v.3.1

Merge request reports

Loading
+324 −35
Changes for MEC021_AppMobilityService.json: 324 added lines, 35 removed lines.
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
  "openapi": "3.1.0",
  "info": {
    "title": "ETSI GS MEC 021 Application Mobility Service API",
    "version": "2.1.1",
    "version": "2.2.1",
    "description": "ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.",
    "license": {
      "name": "BSD-3-Clause",
@@ -15,8 +15,8 @@
    }
  },
  "externalDocs": {
    "description": "ETSI GS MEC 021 Application Mobility Service API, v2.1.1",
    "url": "https://www.etsi.org/deliver/etsi_gs/MEC/001_099/021/02.01.01_60/gs_mec021v020101p.pdf"
    "description": "ETSI GS MEC 021 Application Mobility Service API, v2.2.1",
    "url": "https://www.etsi.org/deliver/etsi_gs/MEC/001_099/021/02.02.01_60/gs_mec021v020201p.pdf"
  },
  "jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
  "servers": [
@@ -41,6 +41,10 @@
    {
      "name": "subscriptions",
      "description": "Subscription for Application Mobility Service"
    },
    {
      "name": "notifications",
      "description": "Notification for Application Mobility Service"
    }
  ],
  "paths": {
@@ -56,7 +60,7 @@
          {
            "name": "filter",
            "in": "query",
            "description": "Attribute-based filtering parameters according to ETSI GS MEC 011",
            "description": "Attribute-based filtering parameters according to ETSI GS MEC 009",
            "style": "form",
            "explode": true,
            "schema": {
@@ -76,7 +80,7 @@
          {
            "name": "fields",
            "in": "query",
            "description": "Complex attributes to be included into the response. See clause 6.18 in ETSI GS MEC 011",
            "description": "Complex attributes to be included into the response. See clause 6.18 in ETSI GS MEC 009",
            "style": "form",
            "explode": true,
            "schema": {
@@ -86,7 +90,7 @@
          {
            "name": "exclude_fields",
            "in": "query",
            "description": "Complex attributes to be excluded from the response.See clause 6.18 in ETSI GS MEC 011",
            "description": "Complex attributes to be excluded from the response.See clause 6.18 in ETSI GS MEC 009",
            "style": "form",
            "explode": true,
            "schema": {
@@ -111,7 +115,6 @@
            "content": {
              "application/json": {
                "schema": {
                  "minItems": 0,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AdjacentAppInstanceInfo"
@@ -1408,6 +1411,101 @@
        "deprecated": false
      },
      "parameters": []
    },
    "/uri_provided_by_subscriber": {
      "post": {
        "tags": [
          "notifications"
        ],
        "summary": "delivers a notification from the AMS resource to the subscriber",
        "description": "delivers a notification from the AMS resource to the subscriber",
        "operationId": "notificationPOST",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/MobilityProcedureNotification"
                  },
                  {
                    "$ref": "#/components/schemas/AdjacentAppInfoNotification"
                  },
                  {
                    "$ref": "#/components/schemas/ExpiryNotification"
                  }
                ],
                "contentMediaType": "application/json"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "The notification was delivered successfully. The response body shall be empty.",
            "headers": {},
            "content": {}
          },
          "401": {
            "description": "It is used when the client did not submit credentials.'",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "operation is not allowed given the current status of the resource.'",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "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": "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"
                }
              }
            }
          },
          "429": {
            "description": "Used when a rate limiter has triggered.'",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
@@ -1448,10 +1546,18 @@
            "$ref": "#/components/schemas/AdjacentAppInfoSubscription.links"
          },
          "callbackReference": {
            "type": "string",
            "type": "uri",
            "description": "URI selected by the service consumer to receive notifications on the subscribed Application Mobility Service. This shall be included both in the request and in response."
          },
          "requestTestNotification": {
            "type": "boolean",
            "description": "Shall be set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, specified in ETSI GS MEC 009, as described in clause 6.12a."
          },
          "websockNotifConfig": {
            "$ref": "#/components/schemas/WebsockNotifConfig"
          },
          "expiryDeadline": {
            "description": "Identifies a boundary after which the subscription will expire.",
            "$ref": "#/components/schemas/TimeStamp"
          },
          "filterCriteria": {
@@ -1481,7 +1587,6 @@
            "description": "Identifier of the application descriptor."
          },
          "appInstanceCommLink": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommunicationInterface"
@@ -1494,6 +1599,10 @@
          },
          "mecHostInformation": {
            "$ref": "#/components/schemas/MECHostInformation"
          },
          "registeredInstanceId": {
            "type": "string",
            "description": "dentifier of the application instance that registers to the AMS, which is instantiated from the application descriptor identified by the attribute \"appDId\"."
          }
        }
      },
@@ -1558,10 +1667,9 @@
        "properties": {
          "appInstanceId": {
            "type": "string",
            "description": "Identifier of the application instance that registers the application mobility service."
            "description": "Identifier of the application instance that registers the Application Mobility Service."
          },
          "associateId": {
            "minItems": 0,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssociateId"
@@ -1569,7 +1677,6 @@
            "description": "0 to N identifiers to associate the information for specific UE(s) and flow(s)."
          },
          "mobilityStatus": {
            "minItems": 0,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MobilityStatus"
@@ -1579,10 +1686,22 @@
        },
        "description": "List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response."
      },
      "WebsockNotifConfig": {
        "type": "object",
        "properties": {
          "websocketUri": {
            "description": "Set by AMS to indicate to the service consumer the Websocket URI to be used for delivering notifications.",
            "type": "uri"
          },
          "requestWebsocketUri": {
            "type": "boolean",
            "description": "Set to true by the service consumer to indicate that Websocket delivery is requested."
          }
        }
      },
      "MobilityProcedureSubscription": {
        "title": "MobilityProcedureSubscription",
        "required": [
          "callbackReference",
          "filterCriteria",
          "subscriptionType"
        ],
@@ -1592,10 +1711,19 @@
            "$ref": "#/components/schemas/MobilityProcedureSubscription.links"
          },
          "callbackReference": {
            "type": "string",
            "type": "uri",
            "description": "URI selected by the service consumer to receive notifications on the subscribed Application Mobility Service. This shall be included both in the request and in response."
          },
          "requestTestNotification": {
            "type": "boolean",
            "description": "Shall be set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, specified in ETSI GS MEC 009, as described in clause 6.12a."
          },
          "websockNotifConfig": {
            "description": "Provides details to negotiate and signal the use of a Websocket connection between AMS and the service consumer for notifications.",
            "$ref": "#/components/schemas/WebsockNotifConfig"
          },
          "expiryDeadline": {
            "description": "Identifies a boundary after which the subscription will expire.",
            "$ref": "#/components/schemas/TimeStamp"
          },
          "filterCriteria": {
@@ -1611,6 +1739,161 @@
          }
        }
      },
      "MobilityProcedureNotification": {
        "title": "MobilityProcedureNotification",
        "required": [
          "notificationType",
          "associateId",
          "mobilityStatus",
          "links"
        ],
        "properties": {
          "notificationType": {
            "type": "string",
            "description": "Shall be set to \"MobilityProcedureNotification\"."
          },
          "timeStamp": {
            "description": "Date and time of the generation of the notification",
            "$ref": "#/components/schemas/TimeStamp"
          },
          "associateId": {
            "type": "array",
            "description": "1 to N identifiers to associate the information for specific",
            "items": {
              "$ref": "#/components/schemas/AssociateId"
            }
          },
          "mobilityStatus": {
            "description": "Indicate the status of the UE mobility. Values are defined as following 1 = INTERHOST_MOVEOUT_TRIGGERED. 2 = INTERHOST_MOVEOUT_COMPLETED. 3 = INTERHOST_MOVEOUT_FAILED. Other values are reserved.",
            "$ref": "#/components/schemas/MobilityStatus"
          },
          "targetAppInfo": {
            "type": "object",
            "required": [
              "appInstanceId"
            ],
            "properties": {
              "appInstanceId": {
                "type": "string",
                "description": "Identifiers of the target application instance."
              },
              "commInterface": {
                "description": "If present, it specifies the communication interface of the application instance.",
                "$ref": "#/components/schemas/CommunicationInterface"
              }
            }
          },
          "_links": {
            "$ref": "#/components/schemas/LinkType"
          }
        }
      },
      "AdjacentAppInfoNotification": {
        "title": "AdjacentAppInfoNotification",
        "required": [
          "notificationType",
          "_links"
        ],
        "properties": {
          "notificationType": {
            "type": "string",
            "description": "Shall be set to \"AdjacentAppInfoNotification\"."
          },
          "timeStamp": {
            "description": "Date and time of the generation of the notification",
            "$ref": "#/components/schemas/TimeStamp"
          },
          "associateId": {
            "type": "array",
            "description": "1 to N identifiers to associate the information for specific",
            "items": {
              "$ref": "#/components/schemas/AssociateId"
            }
          },
          "adjacentAppInfo": {
            "type": "object",
            "required": [
              "appInstanceId",
              "commInterface"
            ],
            "properties": {
              "appInstanceId": {
                "type": "string",
                "description": "Identifier of the adjacent application instance."
              },
              "commInterface": {
                "type": "array",
                "description": "If present, it represents the communication interface(s) information of the application instance.",
                "items": {
                  "$ref": "#/components/schemas/CommunicationInterface"
                }
              }
            }
          },
          "_links": {
            "$ref": "#/components/schemas/LinkType"
          }
        }
      },
      "ExpiryNotification": {
        "title": "ExpiryNotification",
        "required": [
          "notificationType",
          "_links",
          "expiryDeadline"
        ],
        "properties": {
          "notificationType": {
            "type": "string",
            "description": "Shall be set to \"ExpiryNotification\"."
          },
          "timeStamp": {
            "description": "Date and time of the generation of the notification",
            "$ref": "#/components/schemas/TimeStamp"
          },
          "_links": {
            "type": "object",
            "required": [
              "subscription"
            ],
            "properties": {
              "subscription": {
                "$ref": "#/components/schemas/LinkType"
              }
            }
          },
          "expiryDeadline": {
            "description": "The boundary value setting in the subscription request.",
            "$ref": "#/components/schemas/TimeStamp"
          }
        }
      },
      "TestNotification": {
        "title": "TestNotification",
        "required": [
          "notificationType",
          "_links"
        ],
        "properties": {
          "notificationType": {
            "type": "string",
            "description": "Shall be set to \"TestNotification\"."
          },
          "_links": {
            "type": "object",
            "description": "Hyperlink related to the resource.",
            "required": [
              "subscription"
            ],
            "properties": {
              "subscription": {
                "description": "URI identifying the subscription for the test notification.",
                "$ref": "#/components/schemas/LinkType"
              }
            }
          }
        }
      },
      "MobilityStatus": {
        "title": "MobilityStatus",
        "enum": [
@@ -1648,11 +1931,11 @@
        "properties": {
          "appInstanceId": {
            "type": "string",
            "description": "If present, it represents the identifier of the application instance registering the application mobility service."
            "description": "If present, it represents the identifier of the application instance registering the Application Mobility Service."
          },
          "mepId": {
            "type": "string",
            "description": "If present, it represents the identifier of the MEC platform registering the application mobility service."
            "description": "If present, it represents the identifier of the MEC platform registering the Application Mobility Service."
          }
        },
        "description": "The identifier of service consumer requesting the application mobility service, i.e. either the application instance ID or the MEC platform ID."
@@ -1669,16 +1952,15 @@
            "description": "The identifier of registered application mobility service. Shall be absent in POST requests, and present otherwise."
          },
          "deviceInformation": {
            "minItems": 0,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RegistrationInfo.deviceInformation"
            },
            "description": "If present, it specifies the device served by the application instance which is registering the application mobility service."
            "description": "If present, it specifies the device served by the application instance which is registering is registering the Application Mobility Service."
          },
          "expiryTime": {
            "type": "integer",
            "description": "If present, it indicates the time of application mobility service expiration from the time of registration accepted.The value \"0\" means infinite time, i.e. no expiration.The unit of expiry time is one second.",
            "description": "If present, it indicates the time of Application Mobility Service expiration from the time of registration accepted.The value \"0\" means infinite time, i.e. no expiration.The unit of expiry time is one second.",
            "contentEncoding": "int32"
          },
          "serviceConsumerId": {
@@ -1688,16 +1970,24 @@
      },
      "SubscriptionLinkList.links": {
        "title": "SubscriptionLinkList.links",
        "description": "List of hyperlinks related to the resource.",
        "required": [
          "self"
        ],
        "type": "object",
        "properties": {
          "self": {
            "$ref": "#/components/schemas/LinkType"
          }
            "$ref": "#/components/schemas/LinkType",
            "description": "URI of this resource."
          },
        "description": "List of hyperlinks related to the resource."
          "subscription": {
            "type": "array",
            "description": "The service consumer’s subscriptions.",
            "items": {
              "$ref": "#/components/schemas/SubscriptionLinkList.subscription"
            }
          }
        }
      },
      "SubscriptionLinkList.subscription": {
        "title": "SubscriptionLinkList.subscription",
@@ -1712,6 +2002,7 @@
            "description": "The URI referring to the subscription."
          },
          "subscriptionType": {
            "description": null,
            "$ref": "#/components/schemas/subscriptionType"
          }
        }
@@ -1724,15 +2015,8 @@
        "type": "object",
        "properties": {
          "_links": {
            "$ref": "#/components/schemas/SubscriptionLinkList.links"
          },
          "subscription": {
            "minItems": 0,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubscriptionLinkList.subscription"
            },
            "description": "A link to a subscription."
            "$ref": "#/components/schemas/SubscriptionLinkList.links",
            "description": "Hyperlinks related to the resource."
          }
        }
      },
@@ -1813,6 +2097,12 @@
        },
        "description": "'This data type represents the time stamp as Unix-time since January 1, 1970, 00:00:00 UTC'"
      },
      "KeyValuePairs": {
        "type": "object",
        "additionalProperties": {
          "type": "object"
        }
      },
      "MECHostInformation": {
        "title": "MECHostInformation",
        "required": [
@@ -1825,11 +2115,10 @@
            "description": "Human-readable name of MEC host."
          },
          "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": "'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'",
            "$ref": "#/components/schemas/KeyValuePairs"
          }
        }
        },
        "description": "'The data type represents the parameters of MEC host information.'"
      },
      "ProblemDetails": {
        "title": "ProblemDetails",
+235 −28
Changes for MEC021_AppMobilityService.yaml: 235 added lines, 28 removed lines.
Original line number Diff line number Diff line
openapi: 3.1.0
info:
  title: ETSI GS MEC 021 Application Mobility Service API
  version: '2.1.1'
  version: '2.2.1'
  description: ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
  license:
    name: BSD-3-Clause
@@ -11,8 +11,8 @@ info:
    url: https://forge.etsi.org/rep/mec/gs021-amsi-api
    email: cti_support@etsi.org
externalDocs:
  description: ETSI GS MEC 021 Application Mobility Service API, v2.1.1
  url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/021/02.01.01_60/gs_mec021v020101p.pdf
  description: ETSI GS MEC 021 Application Mobility Service API, v2.2.1
  url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/021/02.02.01_60/gs_mec021v020201p.pdf
  
jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema
servers:
@@ -27,6 +27,8 @@ tags:
  description: Application Mobility Services Deregister task
- name: subscriptions
  description: Subscription for Application Mobility Service
- name: notifications
  description: Notification for Application Mobility Service


paths:
@@ -40,7 +42,7 @@ paths:
      parameters:
      - name: filter
        in: query
        description: Attribute-based filtering parameters according to ETSI GS MEC 011
        description: Attribute-based filtering parameters according to ETSI GS MEC 009
        style: form
        explode: true
        schema:
@@ -54,14 +56,14 @@ paths:
          type: string
      - name: fields
        in: query
        description: Complex attributes to be included into the response. See clause 6.18 in ETSI GS MEC 011
        description: Complex attributes to be included into the response. See clause 6.18 in ETSI GS MEC 009
        style: form
        explode: true
        schema:
          type: string
      - name: exclude_fields
        in: query
        description: Complex attributes to be excluded from the response.See clause 6.18 in ETSI GS MEC 011
        description: Complex attributes to be excluded from the response.See clause 6.18 in ETSI GS MEC 009
        style: form
        explode: true
        schema:
@@ -80,7 +82,6 @@ paths:
          content:
            application/json:
              schema:
                minItems: 0
                type: array
                items:
                  $ref: '#/components/schemas/AdjacentAppInstanceInfo'
@@ -915,6 +916,67 @@ paths:
                $ref: '#/components/schemas/ProblemDetails'
      deprecated: false
    parameters: []

  /uri_provided_by_subscriber:
    post:
      tags:
      - notifications
      summary: delivers a notification from the AMS resource to the subscriber
      description: delivers a notification from the AMS resource to the subscriber
      operationId: notificationPOST
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/MobilityProcedureNotification'
              - $ref: '#/components/schemas/AdjacentAppInfoNotification'
              - $ref: '#/components/schemas/ExpiryNotification'
              contentMediaType: application/json
        required: true
      responses:
        '204':
          description: The notification was delivered successfully. The response body shall be empty.
          headers: {}
          content: {}
        '401':
          description: It is used when the client did not submit credentials.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: operation is not allowed given the current status of the resource.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: 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: 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'
        '429':
          description: Used when a rate limiter has triggered.'
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'

components:
  schemas:
    AdjacentAppInfoSubscription.links:
@@ -944,9 +1006,15 @@ components:
        _links:
          $ref: '#/components/schemas/AdjacentAppInfoSubscription.links'
        callbackReference:
          type: string
          type: uri
          description: URI selected by the service consumer to receive notifications on the subscribed Application Mobility Service. This shall be included both in the request and in response.
        requestTestNotification:
          type: boolean
          description: Shall be set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, specified in ETSI GS MEC 009, as described in clause 6.12a.
        websockNotifConfig:
          $ref: '#/components/schemas/WebsockNotifConfig'
        expiryDeadline:
          description: Identifies a boundary after which the subscription will expire.
          $ref: '#/components/schemas/TimeStamp'
        filterCriteria:
          $ref: '#/components/schemas/AdjacentAppInfoSubscription.filterCriteria'
@@ -968,7 +1036,6 @@ components:
          type: string
          description: Identifier of the application descriptor.
        appInstanceCommLink:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/CommunicationInterface'
@@ -978,6 +1045,9 @@ components:
          description: Identifier of the application instance.
        mecHostInformation:
          $ref: '#/components/schemas/MECHostInformation'
        registeredInstanceId:
          type: string
          description: dentifier of the application instance that registers to the AMS, which is instantiated from the application descriptor identified by the attribute "appDId".
    AppMobilityServiceLevel:
      title: AppMobilityServiceLevel
      enum:
@@ -1023,24 +1093,32 @@ components:
      properties:
        appInstanceId:
          type: string
          description: Identifier of the application instance that registers the application mobility service.
          description: Identifier of the application instance that registers the Application Mobility Service.
        associateId:
          minItems: 0
          type: array
          items:
            $ref: '#/components/schemas/AssociateId'
          description: 0 to N identifiers to associate the information for specific UE(s) and flow(s).
        mobilityStatus:
          minItems: 0
          type: array
          items:
            $ref: '#/components/schemas/MobilityStatus'
          description: In case mobilityStatus is not included in the subscription request, the default value 1 = INTER_HOST_MOBILITY_TRIGGERED shall be used and included in the response.
      description: List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response.
    
    WebsockNotifConfig:
      type: object
      properties:
        websocketUri:
          description: Set by AMS to indicate to the service consumer the Websocket URI to be used for delivering notifications.
          type: uri
        requestWebsocketUri:
          type: boolean
          description: Set to true by the service consumer to indicate that Websocket delivery is requested.
        
    MobilityProcedureSubscription:
      title: MobilityProcedureSubscription
      required:
      - callbackReference
      - filterCriteria
      - subscriptionType
      type: object
@@ -1048,9 +1126,16 @@ components:
        _links:
          $ref: '#/components/schemas/MobilityProcedureSubscription.links'
        callbackReference:
          type: string
          type: uri
          description: URI selected by the service consumer to receive notifications on the subscribed Application Mobility Service. This shall be included both in the request and in response.
        requestTestNotification:
          type: boolean
          description: Shall be set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, specified in ETSI GS MEC 009, as described in clause 6.12a.
        websockNotifConfig:
          description: Provides details to negotiate and signal the use of a Websocket connection between AMS and the service consumer for notifications.
          $ref: '#/components/schemas/WebsockNotifConfig'
        expiryDeadline:
          description: Identifies a boundary after which the subscription will expire.
          $ref: '#/components/schemas/TimeStamp'
        filterCriteria:
          $ref: '#/components/schemas/MobilityProcedureSubscription.filterCriteria'
@@ -1060,6 +1145,118 @@ components:
          description: Shall be set to "MobilityProcedureSubscription".
          examples:
          - MobilityProcedureSubscription
    MobilityProcedureNotification:
      title: MobilityProcedureNotification
      required:
        - notificationType
        - associateId
        - mobilityStatus
        - links
      properties:
        notificationType:
          type: string
          description: Shall be set to "MobilityProcedureNotification".
        timeStamp:
          description: Date and time of the generation of the notification
          $ref: '#/components/schemas/TimeStamp'
        associateId:
           type: array
           description: 1 to N identifiers to associate the information for specific
           items:
             $ref: '#/components/schemas/AssociateId'
        mobilityStatus:
          description: Indicate the status of the UE mobility. Values are defined as following 1 = INTERHOST_MOVEOUT_TRIGGERED. 2 = INTERHOST_MOVEOUT_COMPLETED. 3 = INTERHOST_MOVEOUT_FAILED. Other values are reserved.
          $ref: '#/components/schemas/MobilityStatus'
        targetAppInfo:
          type: object
          required:
            - appInstanceId
          properties:
            appInstanceId:
              type: string
              description: Identifiers of the target application instance.
            commInterface:
              description: If present, it specifies the communication interface of the application instance.
              $ref: '#/components/schemas/CommunicationInterface'
        _links:
            $ref: '#/components/schemas/LinkType'

    AdjacentAppInfoNotification:
      title: AdjacentAppInfoNotification
      required:
        - notificationType
        - _links
      properties:
        notificationType:
          type: string
          description: Shall be set to "AdjacentAppInfoNotification".
        timeStamp:
          description: Date and time of the generation of the notification
          $ref: '#/components/schemas/TimeStamp'
        associateId:
           type: array
           description: 1 to N identifiers to associate the information for specific
           items:
             $ref: '#/components/schemas/AssociateId'
        adjacentAppInfo:
          type: object
          required:
            - appInstanceId
            - commInterface
          properties:
            appInstanceId:
              type: string
              description: Identifier of the adjacent application instance.
            commInterface:
              type: array
              description: If present, it represents the communication interface(s) information of the application instance.
              items:
               $ref: '#/components/schemas/CommunicationInterface'
        _links:
            $ref: '#/components/schemas/LinkType'

    ExpiryNotification:
      title: ExpiryNotification
      required:
        - notificationType
        - _links
        - expiryDeadline
      properties:
        notificationType:
          type: string
          description: Shall be set to "ExpiryNotification".
        timeStamp:
          description: Date and time of the generation of the notification
          $ref: '#/components/schemas/TimeStamp'
        _links:
           type: object
           required:
             - subscription
           properties:
              subscription:
                $ref: '#/components/schemas/LinkType'

        expiryDeadline:
          description: The boundary value setting in the subscription request.
          $ref: '#/components/schemas/TimeStamp'
    TestNotification:
      title: TestNotification
      required:
        - notificationType
        - _links
      properties:
        notificationType:
          type: string
          description: Shall be set to "TestNotification".
        _links:
           type: object
           description: Hyperlink related to the resource.
           required:
             - subscription
           properties:
              subscription:
                description: URI identifying the subscription for the test notification.
                $ref: '#/components/schemas/LinkType'
    MobilityStatus:
      title: MobilityStatus
      enum:
@@ -1088,10 +1285,10 @@ components:
      properties:
        appInstanceId:
          type: string
          description: If present, it represents the identifier of the application instance registering the application mobility service.
          description: If present, it represents the identifier of the application instance registering the Application Mobility Service.
        mepId:
          type: string
          description: If present, it represents the identifier of the MEC platform registering the application mobility service.
          description: If present, it represents the identifier of the MEC platform registering the Application Mobility Service.
      description: The identifier of service consumer requesting the application mobility service, i.e. either the application instance ID or the MEC platform ID.
    RegistrationInfo:
      title: RegistrationInfo
@@ -1103,26 +1300,31 @@ components:
          type: string
          description: The identifier of registered application mobility service. Shall be absent in POST requests, and present otherwise.
        deviceInformation:
          minItems: 0
          type: array
          items:
            $ref: '#/components/schemas/RegistrationInfo.deviceInformation'
          description: If present, it specifies the device served by the application instance which is registering the application mobility service.
          description: If present, it specifies the device served by the application instance which is registering is registering the Application Mobility Service.
        expiryTime:
          type: integer
          description: If present, it indicates the time of application mobility service expiration from the time of registration accepted.The value "0" means infinite time, i.e. no expiration.The unit of expiry time is one second.
          description: If present, it indicates the time of Application Mobility Service expiration from the time of registration accepted.The value "0" means infinite time, i.e. no expiration.The unit of expiry time is one second.
          contentEncoding: int32
        serviceConsumerId:
          $ref: '#/components/schemas/RegistrationInfo.serviceConsumerId'
    SubscriptionLinkList.links:
      title: SubscriptionLinkList.links
      description: List of hyperlinks related to the resource.
      required:
      - self
      type: object
      properties:
        self:
          $ref: '#/components/schemas/LinkType'  
      description: List of hyperlinks related to the resource.
          description: URI of this resource.
        subscription:
          type: array
          description: The service consumer’s subscriptions.
          items:
           $ref: '#/components/schemas/SubscriptionLinkList.subscription'
    SubscriptionLinkList.subscription:
      title: SubscriptionLinkList.subscription
      required:
@@ -1134,7 +1336,9 @@ components:
          type: string
          description: The URI referring to the subscription.
        subscriptionType:
          description:
          $ref: '#/components/schemas/subscriptionType'
    
    SubscriptionLinkList:
      title: SubscriptionLinkList
      required:
@@ -1143,12 +1347,8 @@ components:
      properties:
        _links:
          $ref: '#/components/schemas/SubscriptionLinkList.links'
        subscription:
          minItems: 0
          type: array
          items:
            $ref: '#/components/schemas/SubscriptionLinkList.subscription'
          description: A link to a subscription.
          description: Hyperlinks related to the resource.

    contextTransferState:
      title: contextTransferState
      enum:
@@ -1206,6 +1406,12 @@ components:
          description: "'The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.'"
          contentEncoding: int32
      description: "'This data type represents the time stamp as Unix-time since January 1, 1970, 00:00:00 UTC'"
    
    KeyValuePairs:
      type: object
      additionalProperties:
          type: object

    MECHostInformation:
      title: MECHostInformation
      required:
@@ -1216,9 +1422,10 @@ components:
          type: string
          description: Human-readable name of MEC host.
        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: "'The data type represents the parameters of MEC host information.'"
          $ref: '#/components/schemas/KeyValuePairs'
           
      
    ProblemDetails:
      title: ProblemDetails
      type: object
Loading