Commit 67d286da authored by piscione's avatar piscione
Browse files

Updated MEC021 OAS from v2.1.1 to v2.2.1 (used actually the 2.1.8 stable version).

parent 9ebf7111
Pipeline #10650 failed with stage
in 0 seconds
This diff is collapsed.
openapi: 3.1.0 openapi: 3.1.0
info: info:
title: ETSI GS MEC 021 Application Mobility Service API 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. description: ETSI GS MEC 021 Application Mobility Service API described using OpenAPI.
license: license:
name: BSD-3-Clause name: BSD-3-Clause
...@@ -11,8 +11,8 @@ info: ...@@ -11,8 +11,8 @@ info:
url: https://forge.etsi.org/rep/mec/gs021-amsi-api url: https://forge.etsi.org/rep/mec/gs021-amsi-api
email: cti_support@etsi.org email: cti_support@etsi.org
externalDocs: externalDocs:
description: ETSI GS MEC 021 Application Mobility Service API, v2.1.1 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.01.01_60/gs_mec021v020101p.pdf 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 jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema
servers: servers:
...@@ -27,6 +27,8 @@ tags: ...@@ -27,6 +27,8 @@ tags:
description: Application Mobility Services Deregister task description: Application Mobility Services Deregister task
- name: subscriptions - name: subscriptions
description: Subscription for Application Mobility Service description: Subscription for Application Mobility Service
- name: notifications
description: Notification for Application Mobility Service
paths: paths:
...@@ -40,7 +42,7 @@ paths: ...@@ -40,7 +42,7 @@ paths:
parameters: parameters:
- name: filter - name: filter
in: query 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 style: form
explode: true explode: true
schema: schema:
...@@ -54,14 +56,14 @@ paths: ...@@ -54,14 +56,14 @@ paths:
type: string type: string
- name: fields - name: fields
in: query 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 style: form
explode: true explode: true
schema: schema:
type: string type: string
- name: exclude_fields - name: exclude_fields
in: query 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 style: form
explode: true explode: true
schema: schema:
...@@ -80,7 +82,6 @@ paths: ...@@ -80,7 +82,6 @@ paths:
content: content:
application/json: application/json:
schema: schema:
minItems: 0
type: array type: array
items: items:
$ref: '#/components/schemas/AdjacentAppInstanceInfo' $ref: '#/components/schemas/AdjacentAppInstanceInfo'
...@@ -915,6 +916,67 @@ paths: ...@@ -915,6 +916,67 @@ paths:
$ref: '#/components/schemas/ProblemDetails' $ref: '#/components/schemas/ProblemDetails'
deprecated: false deprecated: false
parameters: [] 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: components:
schemas: schemas:
AdjacentAppInfoSubscription.links: AdjacentAppInfoSubscription.links:
...@@ -944,9 +1006,15 @@ components: ...@@ -944,9 +1006,15 @@ components:
_links: _links:
$ref: '#/components/schemas/AdjacentAppInfoSubscription.links' $ref: '#/components/schemas/AdjacentAppInfoSubscription.links'
callbackReference: 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. 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: expiryDeadline:
description: Identifies a boundary after which the subscription will expire.
$ref: '#/components/schemas/TimeStamp' $ref: '#/components/schemas/TimeStamp'
filterCriteria: filterCriteria:
$ref: '#/components/schemas/AdjacentAppInfoSubscription.filterCriteria' $ref: '#/components/schemas/AdjacentAppInfoSubscription.filterCriteria'
...@@ -968,7 +1036,6 @@ components: ...@@ -968,7 +1036,6 @@ components:
type: string type: string
description: Identifier of the application descriptor. description: Identifier of the application descriptor.
appInstanceCommLink: appInstanceCommLink:
minItems: 1
type: array type: array
items: items:
$ref: '#/components/schemas/CommunicationInterface' $ref: '#/components/schemas/CommunicationInterface'
...@@ -978,6 +1045,9 @@ components: ...@@ -978,6 +1045,9 @@ components:
description: Identifier of the application instance. description: Identifier of the application instance.
mecHostInformation: mecHostInformation:
$ref: '#/components/schemas/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: AppMobilityServiceLevel:
title: AppMobilityServiceLevel title: AppMobilityServiceLevel
enum: enum:
...@@ -1023,24 +1093,32 @@ components: ...@@ -1023,24 +1093,32 @@ components:
properties: properties:
appInstanceId: appInstanceId:
type: string 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: associateId:
minItems: 0
type: array type: array
items: items:
$ref: '#/components/schemas/AssociateId' $ref: '#/components/schemas/AssociateId'
description: 0 to N identifiers to associate the information for specific UE(s) and flow(s). description: 0 to N identifiers to associate the information for specific UE(s) and flow(s).
mobilityStatus: mobilityStatus:
minItems: 0
type: array type: array
items: items:
$ref: '#/components/schemas/MobilityStatus' $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: 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. 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: MobilityProcedureSubscription:
title: MobilityProcedureSubscription title: MobilityProcedureSubscription
required: required:
- callbackReference
- filterCriteria - filterCriteria
- subscriptionType - subscriptionType
type: object type: object
...@@ -1048,9 +1126,16 @@ components: ...@@ -1048,9 +1126,16 @@ components:
_links: _links:
$ref: '#/components/schemas/MobilityProcedureSubscription.links' $ref: '#/components/schemas/MobilityProcedureSubscription.links'
callbackReference: 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. 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: expiryDeadline:
description: Identifies a boundary after which the subscription will expire.
$ref: '#/components/schemas/TimeStamp' $ref: '#/components/schemas/TimeStamp'
filterCriteria: filterCriteria:
$ref: '#/components/schemas/MobilityProcedureSubscription.filterCriteria' $ref: '#/components/schemas/MobilityProcedureSubscription.filterCriteria'
...@@ -1060,6 +1145,118 @@ components: ...@@ -1060,6 +1145,118 @@ components:
description: Shall be set to "MobilityProcedureSubscription". description: Shall be set to "MobilityProcedureSubscription".
examples: examples:
- MobilityProcedureSubscription - 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: MobilityStatus:
title: MobilityStatus title: MobilityStatus
enum: enum:
...@@ -1088,10 +1285,10 @@ components: ...@@ -1088,10 +1285,10 @@ components:
properties: properties:
appInstanceId: appInstanceId:
type: string 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: mepId:
type: string 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. description: The identifier of service consumer requesting the application mobility service, i.e. either the application instance ID or the MEC platform ID.
RegistrationInfo: RegistrationInfo:
title: RegistrationInfo title: RegistrationInfo
...@@ -1103,26 +1300,31 @@ components: ...@@ -1103,26 +1300,31 @@ components:
type: string type: string
description: The identifier of registered application mobility service. Shall be absent in POST requests, and present otherwise. description: The identifier of registered application mobility service. Shall be absent in POST requests, and present otherwise.
deviceInformation: deviceInformation:
minItems: 0
type: array type: array
items: items:
$ref: '#/components/schemas/RegistrationInfo.deviceInformation' $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: expiryTime:
type: integer 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 contentEncoding: int32
serviceConsumerId: serviceConsumerId:
$ref: '#/components/schemas/RegistrationInfo.serviceConsumerId' $ref: '#/components/schemas/RegistrationInfo.serviceConsumerId'
SubscriptionLinkList.links: SubscriptionLinkList.links:
title: SubscriptionLinkList.links title: SubscriptionLinkList.links
description: List of hyperlinks related to the resource.
required: required:
- self - self
type: object type: object
properties: properties:
self: self:
$ref: '#/components/schemas/LinkType' $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: SubscriptionLinkList.subscription:
title: SubscriptionLinkList.subscription title: SubscriptionLinkList.subscription
required: required:
...@@ -1134,7 +1336,9 @@ components: ...@@ -1134,7 +1336,9 @@ components:
type: string type: string
description: The URI referring to the subscription. description: The URI referring to the subscription.
subscriptionType: subscriptionType:
description:
$ref: '#/components/schemas/subscriptionType' $ref: '#/components/schemas/subscriptionType'
SubscriptionLinkList: SubscriptionLinkList:
title: SubscriptionLinkList title: SubscriptionLinkList
required: required:
...@@ -1143,12 +1347,8 @@ components: ...@@ -1143,12 +1347,8 @@ components:
properties: properties:
_links: _links:
$ref: '#/components/schemas/SubscriptionLinkList.links' $ref: '#/components/schemas/SubscriptionLinkList.links'
subscription: description: Hyperlinks related to the resource.
minItems: 0
type: array
items:
$ref: '#/components/schemas/SubscriptionLinkList.subscription'
description: A link to a subscription.
contextTransferState: contextTransferState:
title: contextTransferState title: contextTransferState
enum: enum:
...@@ -1206,6 +1406,12 @@ components: ...@@ -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.'" description: "'The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.'"
contentEncoding: int32 contentEncoding: int32
description: "'This data type represents the time stamp as Unix-time since January 1, 1970, 00:00:00 UTC'" 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: MECHostInformation:
title: MECHostInformation title: MECHostInformation
required: required:
...@@ -1216,9 +1422,10 @@ components: ...@@ -1216,9 +1422,10 @@ components:
type: string type: string
description: Human-readable name of MEC host. description: Human-readable name of MEC host.
hostId: 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'"
description: "'The data type represents the parameters of MEC host information.'" $ref: '#/components/schemas/KeyValuePairs'
ProblemDetails: ProblemDetails:
title: ProblemDetails title: ProblemDetails
type: object 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