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
......@@ -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."
},
"subscription": {
"type": "array",
"description": "The service consumer’s subscriptions.",
"items": {
"$ref": "#/components/schemas/SubscriptionLinkList.subscription"
}
}
},
"description": "List of hyperlinks related to the resource."
}
},
"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",
......
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: ''