Commit 9ede615c authored by Elian Kraja's avatar Elian Kraja
Browse files

Merge branch 'stf606-draft' into stf606-final

parents 35090fd7 2112055a
Pipeline #11050 failed with stage
in 0 seconds
This diff is collapsed.
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.
$ref: '#/components/schemas/LinkType'
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
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment