Newer
Older
"description": "The ETSI MEC ISG MEC011 MEC Application Support API described using OpenAPI",
"name": "BSD-3-Clause",
"url": "https://forge.etsi.org/legal-matters"
},
"contact": {
"email": "cti_support@etsi.org"
"description": "ETSI GS MEC011 Application Enablement API, V3.1.1",
"url": "https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/03.01.01_60/gs_MEC011v030101p.pdf"
},
{
"name": "appRegistrations"
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"servers": [
{
"url": "http://127.0.0.1:8081/mec_app_support/v2",
"variables": {}
"url": "https://127.0.0.1:8081/mec_app_support/v2",
"variables": {}
"description": "This method retrieves information about all the traffic rules associated with a MEC application instance.",
"operationId": "ApplicationsTrafficRules_GET",
"parameters": [
{
"name": "appInstanceId",
"in": "path",
"description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"description": "Upon success, a response message content containing an array of the TrafficRules is returned.",
"headers": {},
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TrafficRule"
},
"description": "",
"examples": [
[
{
"trafficRuleId": "TrafficRule123",
"filterType": "FLOW",
"priority": 1,
"trafficFilter": [
{
"srcAddress": [
}
],
"action": "FORWARD_DECAPSULATED",
"state": "ACTIVE"
}
]
],
"contentMediaType": "application/json"
},
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
"TrafficRules": {
"value": [
{
"trafficRuleId": "TrafficRule123",
"filterType": "FLOW",
"priority": 1,
"trafficFilter": [
{
"srcAddress": [
"192.127.4.100/32",
"192.127.4.101/32"
],
"dstAddress": [
"192.127.4.102/32",
"192.127.4.103/32"
],
"srcPort": ["80"],
"dstPort": ["80"]
}
],
"action": "FORWARD_DECAPSULATED",
"dstInterface": [
{
"dstInterface": null,
"interfaceType": "IP",
"tunnelInfo": "tunnel",
"dstIpAddress": "20.1.1.1"
}
],
"state": "ACTIVE"
},
{
"trafficRuleId": "TrafficRule123",
"filterType": "FLOW",
"priority": 1,
"trafficFilter": [
{
"srcAddress": [
"192.127.4.104/32",
"192.127.4.105/32"
],
"dstAddress": [
"192.127.4.106/32",
"192.127.4.107/32"
],
"srcPort": ["80"],
"dstPort": ["80"]
}
],
"action": "FORWARD_DECAPSULATED",
"dstInterface": [
{
"dstInterface": null,
"interfaceType": "IP",
"tunnelInfo": "tunnel",
"dstIpAddress": "20.1.1.2"
}
],
"state": "ACTIVE"
}
]
}
"description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "Forbidden. The operation is not allowed given the current status of the resource.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"/applications/{appInstanceId}/traffic_rules/{trafficRuleId}": {
"description": "This method retrieves information about all the traffic rules associated with a MEC application instance.",
"operationId": "ApplicationsTrafficRule_GET",
"parameters": [
{
"name": "appInstanceId",
"in": "path",
"description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
},
{
"name": "trafficRuleId",
"in": "path",
"description": "Represents a traffic rule.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"description": "Upon success, a response message content containing the TrafficRules is returned.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TrafficRule"
},
"examples": {
"TrafficRule": {
"value": {
"trafficRuleId": "TrafficRule123",
"filterType": "FLOW",
"priority": 1,
"trafficFilter": [
{
"srcAddress": [
}
],
"action": "FORWARD_DECAPSULATED",
"description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "Forbidden. The operation is not allowed given the current status of the resource.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "This method retrieves information about all the traffic rules associated with a MEC application instance.",
"operationId": "ApplicationsTrafficRule_PUT",
"parameters": [
{
"name": "appInstanceId",
"in": "path",
"description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
},
{
"name": "trafficRuleId",
"in": "path",
"description": "Represents a traffic rule.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "One or more updated attributes that are allowed to be changed are included in the TrafficRule data structure in the message content of the request.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TrafficRule"
}
}
},
"required": true
},
"description": "Upon success, a response message content containing data type describing the updated TrafficRule is returned.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TrafficRule"
},
"examples": {
"TrafficRule": {
"value": {
"trafficRuleId": "TrafficRule123",
"serName": "ExampleService",
"filterType": "FLOW",
"priority": 1,
"trafficFilter": [
{
"srcAddress": [
}
],
"action": "FORWARD_DECAPSULATED",
"dstInterface": [
{
"dstInterface0": null,
"interfaceType": "IP",
"description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "Forbidden. The operation is not allowed given the current status of the resource.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "Precondition Failed. It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
Walter Featherstone
committed
},
"description": "This method retrieves information about all the DNS rules associated with a MEC application instance.",
"operationId": "ApplicationsDnsRules_GET",
"parameters": [
{
"name": "appInstanceId",
"in": "path",
"description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"description": "Upon success, a response message content containing an array of the DnsRules is returned.",
"headers": {},
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DnsRule"
},
"description": "",
"examples": [
[
{
"dnsRuleId": "DnsRule1",
"domainName": "www.example.com",
"ipAddressType": "IP_V4",
"ipAddress": "146.241.7.3",
"ttl": 300,
"state": "ACTIVE"
},
{
"dnsRuleId": "DnsRule2",
"domainName": "www.example.com",
"ipAddressType": "IP_V4",
"ipAddress": "146.241.7.4",
"ttl": 300,
"state": "INACTIVE"
}
]
],
"contentMediaType": "application/json"
},
"DnsRules": {
"value": [
{
"dnsRuleId": "DnsRule1",
"domainName": "www.example.com",
"ipAddressType": "IP_V4",
"ipAddress": "146.241.7.3",
"ttl": 300,
"state": "ACTIVE"
},
{
"dnsRuleId": "DnsRule2",
"domainName": "www.example.com",
"ipAddressType": "IP_V4",
"ipAddress": "146.241.7.4",
"ttl": 300,
"state": "INACTIVE"
}
]
}
"description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "Forbidden. The operation is not allowed given the current status of the resource.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"/applications/{appInstanceId}/dns_rules/{dnsRuleId}": {
"description": "This method retrieves information about a DNS rule associated with a MEC application instance.",
"operationId": "ApplicationsDnsRule_GET",
"parameters": [
{
"name": "appInstanceId",
"in": "path",
"description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
},
{
"name": "dnsRuleId",
"in": "path",
"description": "Represents a DNS rule.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"description": "Upon success, a response message content containing the DnsRules is returned.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DnsRule"
},
"examples": {
"DnsRule": {
"value": {
"dnsRuleId": "DnsRule1",
"domainName": "www.example.com",
"ipAddressType": "IP_V4",
"ipAddress": "146.241.7.3",
"ttl": 300,
"state": "ACTIVE"
}
}
"description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "Forbidden. The operation is not allowed given the current status of the resource.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "This method activates, de-activates or updates a traffic rule.",
"operationId": "ApplicationsDnsRule_PUT",
"parameters": [
{
"name": "appInstanceId",
"in": "path",
"description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
},
{
"name": "dnsRuleId",
"in": "path",
"description": "Represents a DNS rule.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "The updated \"state\" is included in the message content of the request.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DnsRule"
}
}
},
"required": true
},
"description": "Upon success, a response message content containing data type describing the updated DnsRule is returned.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DnsRule"
},
"examples": {
"DnsRule": {
"value": {
"dnsRuleId": "DnsRule1",
"domainName": "www.example.com",
"ipAddressType": "IP_V4",
"ipAddress": "146.241.7.3",
"ttl": 300,
"state": "ACTIVE"
}
}
"description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "Forbidden. The operation is not allowed given the current status of the resource.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "Precondition Failed. It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"/applications/{appInstanceId}/subscriptions": {
"description": "The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains message content with all the subscriptions for the requestor.",
"operationId": "ApplicationsSubscriptions_GET",
"parameters": [
{
"name": "appInstanceId",
"in": "path",
"description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"description": "Upon success, a response message content containing the list of links to the requested subscriptions is returned.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MecAppSuptApiSubscriptionLinkList"
}
}
}
"description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "Forbidden. The operation is not allowed given the current status of the resource.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "The POST method may be used to create a new subscription. One example use case is to create a new subscription to the MEC service availability notifications. Upon success, the response contains message content describing the created subscription.",
"operationId": "ApplicationsSubscriptions_POST",
"parameters": [
{
"name": "appInstanceId",
"in": "path",
"description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "Message content in the request contains a subscription to the MEC application termination notifications that is to be created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppTerminationNotificationSubscription"
}
}
},
"required": true
},
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
"description": "Entity body in the request contains a subscription to the MEC service availability notifications that is to be created.",
"headers": {
"location": {
"description": "The resource URI of the created resource",
"content": {
"text/plain": {
"schema": {
"type": "string",
"description": "The resource URI of the created resource",
"contentMediaType": "text/plain"
}
}
}
}
},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppTerminationNotificationSubscription"
}
}
}
"description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "Forbidden. The operation is not allowed given the current status of the resource.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
Walter Featherstone
committed
},
"AppTerminationNotification": {
"{$request.body#/callbackUri}": {
"post": {
"description": "Represents the information that the MEP notifies the subscribed application instance about the corresponding application instance termination/stop'",
"operationId": "AppTerminationNotification_POST",
"requestBody": {
"$ref": "#/components/requestBodies/AppTerminationNotification"
},
"responses": {
"200": {
"description": "Expected responses from callback consumer, if it accepts the callback"
}
}
}
}
"/applications/{appInstanceId}/subscriptions/{subscriptionId}": {
"description": "The GET method requests information about a subscription for this requestor. Upon success, the response contains message content with the subscription for the requestor.",
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
"operationId": "ApplicationsSubscription_GET",
"parameters": [
{
"name": "appInstanceId",
"in": "path",
"description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
},
{
"name": "subscriptionId",
"in": "path",
"description": "Represents a subscription to the notifications from the MEC platform.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"description": "Upon success, a response message content containing the requested subscription is returned.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppTerminationNotificationSubscription"
}
}
}
"description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "Forbidden. The operation is not allowed given the current status of the resource.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
"description": "This method deletes a mecAppSuptApiSubscription. This method is typically used in \"Unsubscribing from service availability event notifications\" procedure.",
"operationId": "ApplicationsSubscription_DELETE",
"parameters": [
{
"name": "appInstanceId",
"in": "path",
"description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
},
{
"name": "subscriptionId",
"in": "path",
"description": "Represents a subscription to the notifications from the MEC platform.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
],
"responses": {
"204": {
"description": "No Content",
"headers": {},
"content": {}
},
"403": {
"description": "Forbidden. The operation is not allowed given the current status of the resource.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"404": {
"description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
}
},
"deprecated": false
},
"/applications/{appInstanceId}/confirm_termination": {
"post": {
"description": "This method is used to confirm the application level termination of an application instance.",
"operationId": "ApplicationsConfirmTermination_POST",
"parameters": [
{
"name": "appInstanceId",
"in": "path",
"description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "Message content in the request contains the operational action the application instance is responding to.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppTerminationConfirmation"
}
}
},
"required": false
},
"description": "No Content. The request is acknowledged. The response message content shall be empty.",
"headers": {},
"content": {}
"description": "Unauthorized. It is used when the client did not submit the appropriate credentials.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "Forbidden. The operation is not allowed given the current status of the resource.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "Conflict. The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is because the application instance resource is in NOT_INSTANTIATED state.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "Too Many Requests. It is used when a rate limiter has triggered.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
Walter Featherstone
committed
},
"/applications/{appInstanceId}/confirm_ready": {
"post": {
"description": "This method may be used by the MEC application instance to notify the MEC platform that it is up and running. ",
"operationId": "ApplicationsConfirmReady_POST",
"parameters": [
{
"name": "appInstanceId",
"in": "path",
"description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "Message content in the request contains the indication that the application instance is up and running.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppReadyConfirmation"
}
}
},
"required": false
},
"headers": {},
"content": {}
"description": "Unauthorized. It is used when the client did not submit the appropriate credentials.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "Forbidden. The operation is not allowed given the current status of the resource.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "Conflict. The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is because the application instance resource is in NOT_INSTANTIATED state.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "Too Many Requests. It is used when a rate limiter has triggered.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"/registrations": {
"post": {
"summary": "Create Registrantion",
"description": "The POST method may be used by the MEC application instance to request its registration to the MEC platform. ",
"operationId": "ApplicationsRegistrations_POST",
"parameters": [],
"requestBody": {
"description": "The message content in the request contains the profile of the MEC application instance, calling the MEC platform to register the MEC application instance.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppInfo"
}
}
},
"required": false
},
"201": {
"description": "Indicates successful resource creation for registration of the MEC application instance to the MEC platform.",
"location": {
"description": "The resource URI of the created resource",
"content": {
"text/plain": {
"schema": {
"type": "string",
"description": "The resource URI of the created resource",
"contentMediaType": "text/plain"
}
}
}
}
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppInfo"
"description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
"headers": {},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
},
"401": {
"description": "Unauthorized. It is used when the client did not submit the appropriate credentials.",
"headers": {},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "Forbidden. The operation is not allowed given the current status of the resource.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"/registrations/{appInstanceId}": {
"summary": "Get Registration",
"description": "The GET method may be used by the MEC application instance to retrieve information about the existing MEC application instance registration to the MEC platform.",
"operationId": "ApplicationsRegistration_GET",
{
"name": "appInstanceId",
"in": "path",
"description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
"description": "Upon success, a response message content containing the requested subscription is returned.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppInfo"
"description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"description": "Forbidden. The operation is not allowed given the current status of the resource.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
"description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
"summary": "Update Registration",
"description": "The PUT method may be used by the MEC application instance to update its registration to the MEC platform.",
"operationId": "ApplicationsRegistration_PUT",
"parameters": [
{
"name": "appInstanceId",
"in": "path",
"description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
"requestBody": {
"description": "Message content in the request contains the profile of the application, calling the MEC platform to update the existing MEC application instance registration.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppInfo"
}
}
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
"required": true
},
"responses": {
"204": {
"description": "No Content",
"headers": {},
"content": {}
},
"400": {
"description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
"headers": {},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
},
"401": {
"description": "Unauthorized. It is used when the client did not submit the appropriate credentials.",
"headers": {},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
},
"403": {
"description": "Forbidden. The operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"404": {
"description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
}
},
"deprecated": false
},
"delete": {
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
"summary": "delete registration",
"description": "The DELETE method is used to cancel the existing MEC application instance registration.",
"operationId": "ApplicationsRegistration_DELETE",
"parameters": [
{
"name": "appInstanceId",
"in": "path",
"description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.",
"required": true,
"style": "simple",
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "No Content",
"headers": {},
"content": {}
},
"400": {
"description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
"headers": {},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
},
"401": {
"description": "Unauthorized. It is used when the client did not submit the appropriate credentials.",
"headers": {},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
},
"403": {
"description": "Forbidden. The operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"404": {
"description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
}
},
"deprecated": false
},
"parameters": []
},
"/timing/timing_caps": {
"get": {
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
"summary": "Retrieve timing capabilities",
"description": "This method retrieves the information of the platform's timing capabilities which corresponds to the timing capabilities query",
"operationId": "TimingCaps_GET",
"parameters": [],
"responses": {
"200": {
"description": "It is used to indicate nonspecific success. The response message content contains a representation of the resource.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimingCaps"
}
}
}
},
"400": {
"description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
"headers": {},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
},
"403": {
"description": "Forbidden. The operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"404": {
"description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
}
},
"deprecated": false
},
"parameters": []
},
"/timing/current_time": {
"get": {
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
"summary": "Retrieve current time",
"description": "This method retrieves the information of the platform's current time which corresponds to the get platform time procedure",
"operationId": "TimingCurrentTime_GET",
"parameters": [],
"responses": {
"200": {
"description": "It is used to indicate nonspecific success. The response message content contains a representation of the resource.",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CurrentTime"
}
}
}
},
"400": {
"description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.",
"headers": {},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
},
"403": {
"description": "Forbidden. The operation is not allowed given the current status of the resource.",
"headers": {},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"404": {
"description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.",
"headers": {},
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"type": "object",
"description": "Empty schema",
"contentMediaType": "text/plain"
}
}
}
}
},
"deprecated": false
},
"parameters": []
}
},
"components": {
"schemas": {
"AppReadyConfirmation": {
"title": "AppReadyConfirmation",
"type": "object",
"properties": {
"indication": {
"const": "READY",
"type": "string",
"description": "Indication about the MEC application instance.",
}
},
"description": "This type represents the information that the MEC application instance indicates to the MEC platform that it is up and running."
},
"AppInfo": {
"title": "AppInfo",
"type": "object",
"properties": {
"appName": {
"title": "appName",
"type": "string",
"description": "Name of the application. It shall be consistent with the appName in the AppD, if an AppD is available.",
},
"appProvider": {
"title": "appProvider",
"type": "string",
"description": "Provider of the application. It shall be consistent with the appProvider in the AppD, if an AppD is available. See note 1.",
},
"appCategory": {
"$ref": "#/components/schemas/CategoryRef"
},
"appDId": {
"title": "appDId",
"type": "string",
"description": "The application descriptor identifier. It is managed by the application provider to identify the application descriptor in a globally unique way. Shall be present if the application instance is instantiated by the MEC Management.",
},
"appInstanceId": {
"title": "appInstanceId",
"type": "string",
"description": "Identifier of the application instance. Shall be present if the application instance is instantiated by the MEC Management.",
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
},
"endpoint": {
"oneOf": [
{
"$ref": "#/components/schemas/EndPointInfo.Uris"
},
{
"$ref": "#/components/schemas/EndPointInfo.Fqdn"
},
{
"$ref": "#/components/schemas/EndPointInfo.Addresses"
},
{
"$ref": "#/components/schemas/EndPointInfo.Alternative"
}
],
"description": "This type represents information about a transport endpoint",
"x-etsi-notes": "NOTE 1:\tIf appProfile is present, appProvider shall be consistent with provId provided in EAS profile data type, i.e. the same.\nNOTE 2:\tIf appProfile is present, endpoint shall refer to the same end point as endPt provided in EAS profile data type."
},
"appServiceRequired": {
"title": "appServiceRequired",
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceDependency"
},
"description": "Describes services a MEC application requires to run. ServiceDependency is defined in ETSI GS MEC 010-2 [4]. It shall not be provided if an AppD is available."
},
"appServiceOptional": {
"title": "appServiceOptional",
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceDependency"
},
"description": "Describes services a MEC application may use if available. ServiceDependency is defined in ETSI GS MEC 010-2 [4]. It shall not be provided if an AppD is available."
},
"appFeatureRequired": {
"title": "appFeatureRequired",
"type": "array",
"items": {
"$ref": "#/components/schemas/FeatureDependency"
},
"description": "Describes features a MEC application requires to run. FeatureDependency is defined in ETSI GS MEC 010-2 [4]. It shall not be provided if an AppD is available."
},
"appFeatureOptional": {
"title": "appFeatureOptional",
"type": "array",
"items": {
"$ref": "#/components/schemas/FeatureDependency"
},
"description": "Describes features a MEC application may use if available. FeatureDependency is defined in ETSI GS MEC 010-2 [4]. It shall not be provided if an AppD is available."
},
"isInsByMec": {
"type": "boolean",
"description": "Indicate whether the application instance is instantiated by the MEC Management.\nDefault to FALSE if absent.",
},
"appProfile": {
"$ref": "#/components/schemas/AppProfile"
}
},
"description": "This type represents the information provided by the MEC application instance as part of the \"application registration request\" and \"application registration update\" messages.",
"x-etsi-notes": "NOTE 1:\tIf appProfile is present, appProvider shall be consistent with provId provided in EAS profile data type, i.e. the same.\nNOTE 2:\tIf appProfile is present, endpoint shall refer to the same end point as endPt provided in EAS profile data type."
},
"AppTerminationConfirmation": {
"title": "AppTerminationConfirmation",
"type": "object",
"properties": {
"operationAction": {
"$ref": "#/components/schemas/OperationActionType"
}
},
"description": "This type represents the information that the MEC application instance provides to the MEC platform when informing it that the application has completed its application level related terminate/stop actions, e.g. retention of application state in the case of stop."
},
"AppTerminationNotification.Links": {
"title": "AppTerminationNotification.Links",
"type": "object",
"properties": {
"subscription": {
"$ref": "#/components/schemas/LinkType"
},
"confirmTermination": {
"$ref": "#/components/schemas/LinkType.ConfirmTermination"
},
"description": "Object containing hyperlinks related to the resource."
Walter Featherstone
committed
},
"AppTerminationNotification": {
Walter Featherstone
committed
"required": [
"notificationType",
Walter Featherstone
committed
"maxGracefulTimeout",
"_links"
],
Walter Featherstone
committed
"properties": {
"notificationType": {
"type": "string",
"description": "Shall be set to AppTerminationNotification.",
"examples": ["AppTerminationNotification"]
Walter Featherstone
committed
},
"operationAction": {
"$ref": "#/components/schemas/OperationActionType"
},
Walter Featherstone
committed
"maxGracefulTimeout": {
"type": "integer",
"description": "Maximum timeout value in seconds for graceful termination or graceful stop of an application instance.",
"contentEncoding": "int32",
Walter Featherstone
committed
},
"_links": {
"$ref": "#/components/schemas/AppTerminationNotification.Links"
Walter Featherstone
committed
}
},
"description": "This type represents the information that the MEC platform notifies the subscribed application instance about the corresponding application instance termination/stop."
Walter Featherstone
committed
},
"AppTerminationNotificationSubscription": {
"title": "AppTerminationNotificationSubscription",
Walter Featherstone
committed
"required": [
"subscriptionType",
"callbackReference",
"_links",
"appInstanceId"
],
Walter Featherstone
committed
"properties": {
"subscriptionType": {
"type": "string",
"description": "Shall be set to AppTerminationNotificationSubscription.",
"examples": ["AppTerminationNotificationSubscription"]
Walter Featherstone
committed
},
"callbackReference": {
"type": "string",
"description": "URI selected by the MEC application instance to receive notifications on the subscribed MEC application instance management information. This shall be included in both the request and the response."
Walter Featherstone
committed
},
"_links": {
"$ref": "#/components/schemas/Self"
},
"appInstanceId": {
"type": "string",
"description": "It is used as the filtering criterion for the subscribed events.",
Walter Featherstone
committed
}
},
"description": "This type represents the information that the MEC platform notifies the subscribed application instance about the corresponding application instance termination/stop."
Walter Featherstone
committed
},
"CurrentTime": {
"required": ["seconds", "nanoSeconds", "timeSourceStatus"],
Walter Featherstone
committed
"properties": {
"seconds": {
"type": "integer",
"description": "The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC",
Walter Featherstone
committed
},
"nanoSeconds": {
"type": "integer",
"description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC",
Walter Featherstone
committed
},
"timeSourceStatus": {
"$ref": "#/components/schemas/TimeSourceStatus"
Walter Featherstone
committed
}
},
"description": "This type represents the information provided by the MEC platform in response to the Get Platform Time Request message."
Walter Featherstone
committed
},
"DestinationInterface.InterfaceType": {
"title": "DestinationInterface.InterfaceType",
Walter Featherstone
committed
"type": "string",
Walter Featherstone
committed
},
"DestinationInterface": {
Walter Featherstone
committed
"properties": {
"interfaceType": {
"$ref": "#/components/schemas/DestinationInterface.InterfaceType"
},
"tunnelInfo": {
"$ref": "#/components/schemas/TunnelInfo"
},
"srcMacAddress": {
"type": "string",
"description": "Source address identifies the MAC address of the interface",
Walter Featherstone
committed
},
"dstMacAddress": {
"type": "string",
"description": "Source address identifies the MAC address of the interface",
Walter Featherstone
committed
},
"dstIpAddress": {
"type": "string",
"description": "IP address of the remote destination",
Walter Featherstone
committed
}
},
"description": "This type represents the destination interface. If the action is FORWARD_DECAPSULATED, FORWARD_ENCAPSULATED or PASSTHROUGH one value shall be provided. If the action is DUPLICATE_DECAPSULATED or DUPLICATE_ENCAPSULATED, two values shall be provided. If the action is DROP, no value shall be provided."
Walter Featherstone
committed
},
"DnsRule.IpAddressType": {
"type": "string",
"description": "IP address type",
Walter Featherstone
committed
},
"DnsRule.State": {
"type": "string",
"description": "DNS rule state. This attribute may be updated using HTTP PUT method",
Walter Featherstone
committed
},
"DnsRule": {
Walter Featherstone
committed
"required": [
"dnsRuleId",
"domainName",
"ipAddressType",
"ipAddress",
"state"
],
Walter Featherstone
committed
"properties": {
"dnsRuleId": {
"type": "string",
"description": "Identifies the DNS Rule",
Walter Featherstone
committed
},
"domainName": {
"type": "string",
"description": "FQDN resolved by the DNS rule",
Walter Featherstone
committed
},
"ipAddressType": {
"$ref": "#/components/schemas/DnsRule.IpAddressType"
},
"ipAddress": {
"type": "string",
"description": "IP address associated with the FQDN resolved by the DNS rule",
Walter Featherstone
committed
},
"ttl": {
"type": "integer",
"description": "Time to live value",
"contentEncoding": "int32"
Walter Featherstone
committed
},
"state": {
"$ref": "#/components/schemas/DnsRule.State"
}
"description": "This type represents the general information of a DNS rule.",
"x-etsi-notes": "NOTE:\tIf no ttl value is provided, the DnsRule shall not expire."
Walter Featherstone
committed
},
"type": "object",
"properties": {
"type": "string",
"description": "URI referring to a resource",
},
"description": "This type represents a type of link and may be referenced from data structures"
Walter Featherstone
committed
},
Walter Featherstone
committed
"type": "object",
"properties": {
"href": {
"type": "string",
"description": "URI referring to a resource",
Walter Featherstone
committed
}
},
"description": "Link to the task resource where to confirm termination in case the application is ready to be terminated before expiry of the timeout."
Walter Featherstone
committed
},
"title": "MecAppSuptApiSubscriptionLinkList.Links",
Walter Featherstone
committed
"properties": {
"self": {
"$ref": "#/components/schemas/LinkType"
},
Walter Featherstone
committed
"type": "array",
"items": {
"$ref": "#/components/schemas/MecAppSuptApiSubscriptionLinkList.Subscription"
},
"description": "The MEC application instance's subscriptions"
Walter Featherstone
committed
}
},
"description": "Self-referring URI."
Walter Featherstone
committed
},
"MecAppSuptApiSubscriptionLinkList.Subscription": {
"title": "MecAppSuptApiSubscriptionLinkList.Subscription",
Walter Featherstone
committed
"properties": {
"href": {
"type": "string",
"description": "URI referring to a resource",
Walter Featherstone
committed
},
"description": "Type of the subscription. The values are as defined in the \"subscriptionType\" attribute for each different Mp1 event subscription data type."
Walter Featherstone
committed
}
},
"description": "A link to a subscription."
Walter Featherstone
committed
},
"title": "MecAppSuptApiSubscriptionLinkList",
Walter Featherstone
committed
"properties": {
"_links": {
"$ref": "#/components/schemas/MecAppSuptApiSubscriptionLinkList.Links"
Walter Featherstone
committed
}
},
"description": "This type represents a list of links related to currently existing subscriptions for a MEC application instance. This information is returned when sending a request to receive current subscriptions."
Walter Featherstone
committed
},
"type": "string",
"description": "Operation that is being performed on the MEC application instance.",
Walter Featherstone
committed
"ProblemDetails": {
Walter Featherstone
committed
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "A URI reference according to IETF RFC 3986 that identifies the problem type"
Walter Featherstone
committed
},
"title": {
"type": "string",
"description": "A short, human-readable summary of the problem type"
Walter Featherstone
committed
},
"status": {
"type": "integer",
"description": "The HTTP status code for this occurrence of the problem",
"contentEncoding": "int32"
Walter Featherstone
committed
},
"detail": {
"type": "string",
"description": "A human-readable explanation specific to this occurrence of the problem"
Walter Featherstone
committed
},
"instance": {
"type": "string",
"description": "A URI reference that identifies the specific occurrence of the problem"
Walter Featherstone
committed
}
}
},
Walter Featherstone
committed
"properties": {
Walter Featherstone
committed
"$ref": "#/components/schemas/LinkType"
}
Walter Featherstone
committed
},
"TimingCaps.NtpServers.AuthenticationOption": {
"title": "TimingCaps.NtpServers.AuthenticationOption",
"enum": ["NONE", "SYMMETRIC_KEY", "AUTO_KEY"],
Walter Featherstone
committed
"type": "string",
"description": "NTP authentication option",
Walter Featherstone
committed
"TimingCaps.NtpServers.NtpServerAddrType": {
"title": "TimingCaps.NtpServers.NtpServerAddrType",
Walter Featherstone
committed
"type": "string",
"description": "Address type of NTP server",
Walter Featherstone
committed
},
"TimingCaps.NtpServers": {
Walter Featherstone
committed
"required": [
"ntpServerAddrType",
"ntpServerAddr",
"minPollingInterval",
"maxPollingInterval",
"localPriority",
Walter Featherstone
committed
],
Walter Featherstone
committed
"properties": {
"ntpServerAddrType": {
"$ref": "#/components/schemas/TimingCaps.NtpServers.NtpServerAddrType"
},
"ntpServerAddr": {
"type": "string",
"description": "NTP server address",
Walter Featherstone
committed
},
"minPollingInterval": {
"description": "Minimum poll interval for NTP messages, in seconds as a power of two. Range 3 to 17",
Walter Featherstone
committed
},
"maxPollingInterval": {
"description": "Maximum poll interval for NTP messages, in seconds as a power of two. Range 3 to 17",
Walter Featherstone
committed
},
"localPriority": {
"type": "integer",
"description": "NTP server local priority",
"contentEncoding": "int32",
Walter Featherstone
committed
},
"authenticationOption": {
"$ref": "#/components/schemas/TimingCaps.NtpServers.AuthenticationOption"
},
"authenticationKeyNum": {
"description": "Authentication key number. This configuration is valid and shall be present if authenticationOption is set to SYMMETRIC_KEY",
Walter Featherstone
committed
}
},
"description": "NTP server detail."
Walter Featherstone
committed
},
"TimingCaps_PtpMasters": {
Walter Featherstone
committed
"required": [
"ptpMasterIpAddress",
"ptpMasterLocalPriority",
"delayReqMaxRate"
],
Walter Featherstone
committed
"properties": {
"ptpMasterIpAddress": {
"description": "PTP Server (referred to as \"master\" in IEEE 1588-2019) IP Address",
Walter Featherstone
committed
},
"ptpMasterLocalPriority": {
"description": "PTP Server (referred to as \"master\" in IEEE 1588-2019 ) local priority",
Walter Featherstone
committed
},
"delayReqMaxRate": {
"type": "integer",
"description": "Acceptable maximum rate of the Delay_Req messages in packets per second",
"contentEncoding": "int32",
Walter Featherstone
committed
}
},
"description": "NTP server detail."
Walter Featherstone
committed
},
"TimingCaps.TimeStamp": {
Walter Featherstone
committed
"properties": {
"seconds": {
"type": "integer",
"description": "The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC",
Walter Featherstone
committed
},
"nanoSeconds": {
"type": "integer",
"description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC",
Walter Featherstone
committed
}
Walter Featherstone
committed
},
"TimingCaps": {
Walter Featherstone
committed
"type": "object",
"properties": {
"timeStamp": {
"$ref": "#/components/schemas/TimingCaps.TimeStamp"
},
"ntpServers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TimingCaps.NtpServers"
},
"description": "Available NTP servers"
Walter Featherstone
committed
},
"ptpMasters": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TimingCaps_PtpMasters"
"description": "Number of available PTP Servers (referred to as \"masters\" in IEEE 1588-2019)"
Walter Featherstone
committed
}
},
"description": "This type represents the information provided by the MEC platform in response to the Timing capabilities Query message."
Walter Featherstone
committed
},
"TrafficFilter": {
Walter Featherstone
committed
"type": "object",
"properties": {
"srcAddress": {
"type": "array",
"items": {
"type": "string"
},
"description": "An IP address or a range of IP address. For IPv4, the IP address could be an IP address plus mask, or an individual IP address, or a range of IP addresses. For IPv6, the IP address could be an IP prefix, or a range of IP prefixes."
Walter Featherstone
committed
},
"dstAddress": {
"type": "array",
"items": {
"type": "string"
},
"description": "An IP address or a range of IP address. For IPv4, the IP address could be an IP address plus mask, or an individual IP address, or a range of IP addresses. For IPv6, the IP address could be an IP prefix, or a range of IP prefixes."
Walter Featherstone
committed
},
"srcPort": {
"type": "array",
"items": {
"type": "string"
},
"description": "A port or a range of ports"
Walter Featherstone
committed
},
"dstPort": {
"type": "array",
"items": {
"type": "string"
},
"description": "A port or a range of ports"
Walter Featherstone
committed
},
"protocol": {
"type": "array",
"items": {
"type": "string"
},
"description": "Specify the protocol of the traffic filter"
Walter Featherstone
committed
},
Walter Featherstone
committed
"type": "array",
"items": {
"type": "string"
},
"description": "Used for token based traffic rule"
Walter Featherstone
committed
},
"srcTunnelAddress": {
"type": "array",
"items": {
"type": "string"
},
"description": "Used for GTP tunnel based traffic rule"
Walter Featherstone
committed
},
"tgtTunnelAddress": {
"type": "array",
"items": {
"type": "string"
},
"description": "Used for GTP tunnel based traffic rule"
Walter Featherstone
committed
},
"srcTunnelPort": {
"type": "array",
"items": {
"type": "string"
},
"description": "Used for GTP tunnel based traffic rule"
Walter Featherstone
committed
},
"dstTunnelPort": {
"type": "array",
"items": {
"type": "string"
},
"description": "Used for GTP tunnel based traffic rule"
Walter Featherstone
committed
},
"qCI": {
"type": "integer",
"description": "Used to match all packets that have the same Quality Class Indicator (QCI).",
"contentEncoding": "int32",
Walter Featherstone
committed
},
"dSCP": {
"type": "integer",
"description": "Used to match all IPv4 packets that have the same Differentiated Services Code Point (DSCP)",
"contentEncoding": "int32",
Walter Featherstone
committed
},
"tC": {
"type": "integer",
"description": "Used to match all IPv6 packets that have the same Traffic Class.",
"contentEncoding": "int32",
Walter Featherstone
committed
}
},
"description": "This type represents the traffic filter."
Walter Featherstone
committed
},
"TrafficRule.Action": {
Walter Featherstone
committed
"enum": [
"DROP",
"FORWARD_DECAPSULATED",
Walter Featherstone
committed
"PASSTHROUGH",
"DUPLICATE_DECAPSULATED",
Walter Featherstone
committed
],
"type": "string",
"description": "The action of the MEC host data plane when a packet matches the trafficFilter",
Walter Featherstone
committed
},
"TrafficRule.FilterType": {
Walter Featherstone
committed
"type": "string",
"description": "Definition of filter per FLOW or PACKET. If flow the filter match UE->EPC packet and the reverse packet is handled in the same context",
Walter Featherstone
committed
},
"TrafficRule.State": {
"type": "string",
"description": "Contains the traffic rule state. This attribute may be updated using HTTP PUT method",
Walter Featherstone
committed
},
"TrafficRule": {
Walter Featherstone
committed
"required": [
"trafficRuleId",
"filterType",
"priority",
"trafficFilter",
"action",
"state"
],
Walter Featherstone
committed
"properties": {
"trafficRuleId": {
"type": "string",
"description": "Identify the traffic rule.",
Walter Featherstone
committed
},
"filterType": {
"$ref": "#/components/schemas/TrafficRule.FilterType"
},
"priority": {
"description": "Priority of this traffic rule within the range 0 to 255. If traffic rules conflict, the one with higher priority take precedence. Value indicates the priority in descending order, i.e. with 0 as the highest priority and 255 as the lowest priority.",
Walter Featherstone
committed
},
"trafficFilter": {
Walter Featherstone
committed
"type": "array",
"items": {
"$ref": "#/components/schemas/TrafficFilter"
Walter Featherstone
committed
},
"action": {
"$ref": "#/components/schemas/TrafficRule.Action"
},
"dstInterface": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DestinationInterface"
},
"maxItems": 2
Walter Featherstone
committed
},
"state": {
"$ref": "#/components/schemas/TrafficRule.State"
}
"description": "This type represents the general information of a traffic rule.",
"x-etsi-notes": "NOTE 1:\tValue indicates the priority in descending order, i.e. with 0 as the highest priority and 255 as the lowest priority.\nNOTE 2:\tSome applications (like inline/tap) require two interfaces. The first interface in the case of inline/tap is on the client (e.g. UE) side and the second on the core network (e.g. EPC) side."
Walter Featherstone
committed
},
"TunnelInfo.TunnelType": {
"type": "string",
"description": "This type represents the tunnel information.",
Walter Featherstone
committed
},
"TunnelInfo": {
Walter Featherstone
committed
"properties": {
"tunnelType": {
"$ref": "#/components/schemas/TunnelInfo.TunnelType"
},
"tunnelDstAddress": {
"type": "string",
"description": "Destination address of the tunnel",
Walter Featherstone
committed
},
"tunnelSrcAddress": {
"type": "string",
"description": "Source address of the tunnel",
Walter Featherstone
committed
}
"description": "This type represents the tunnel information."
Walter Featherstone
committed
},
"TimeSourceStatus": {
"title": "TimeSourceStatus",
"type": "string",
"description": "Platform Time Source status. 1 = TRACEABLE - time source is locked to the UTC time source. 2 = NONTRACEABLE - time source is not locked to the UTC time source",
},
"CategoryRef": {
"title": "CategoryRef",
"required": ["href", "id", "name", "version"],
"type": "object",
"properties": {
"href": {
"type": "string",
"description": "Reference of the catalogue",
},
"id": {
"type": "string",
"description": "Unique identifier of the category",
},
"name": {
"type": "string",
"description": "Name of the category, example values include RNI, Location & Bandwidth Management",
},
"version": {
"type": "string",
"description": "Category version",
}
},
"description": "This type represents the category reference"
},
"EndPointInfo.Address": {
"title": "EndPointInfo.Address",
"type": "object",
"properties": {
"host": {
"type": "string",
"description": "Host portion of the address",
},
"port": {
"type": "integer",
"description": "Port portion of the address",
"contentEncoding": "int32",
}
},
"description": "A IP address and port pair"
},
"EndPointInfo.Addresses": {
"title": "EndPointInfo.Addresses",
"type": "object",
"properties": {
"addresses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EndPointInfo.Address"
},
"description": "Entry point information of the service as one or more pairs of IP address and port. See note."
}
},
"description": "This type represents information about a transport endpoint."
},
"EndPointInfo.Alternative": {
"title": "EndPointInfo.Alternative",
"type": "object",
"properties": {
"alternative": {
"type": "object",
"description": "Entry point information of the service in a format defined by an implementation, or in an external specification. See note."
}
},
"description": "This type represents information about a transport endpoint."
},
"EndPointInfo.Uris": {
"title": "EndPointInfo.Uris",
"type": "object",
"properties": {
"uris": {
"type": "array",
"items": {
"type": "string"
},
"description": "Entry point information of the service as string, formatted according to URI syntax"
}
},
"description": "This type represents information about a transport endpoint."
},
"EndPointInfo.Fqdn": {
"title": "EndPointInfo.Fqdn",
"type": "object",
"properties": {
"fqdn": {
"type": "array",
"items": {
"type": "string"
},
"description": "Fully Qualified Domain Name of the service. See note."
}
},
"description": "This type represents information about a transport endpoint. "
},
"Not_specified": {
"description": "Not_specified"
},
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
"ServiceDependency": {
"properties": {
"requestedPermissions": {
"description": "Requested permissions regarding the access of the application to the service. See clause 8.2 of ETSI GS MEC 009 [4].\nThe format of this attribute is left for the data model design stage.",
"items": {
"$ref": "#/components/schemas/Not_specified"
},
"minItems": 0,
"type": "array"
},
"serCategory": {
"$ref": "#/components/schemas/CategoryRef"
},
"serName": {
"description": "The name of the service, for example, RNIS, LocationService, etc.",
"type": "string"
},
"serTransportDependencies": {
"description": "Indicates transport and serialization format dependencies of consuming the service. Defaults to REST + JSON if absent. See note.",
"items": {
"$ref": "#/components/schemas/TransportDependency"
},
"minItems": 0,
"type": "array"
},
"version": {
"description": "The version of the service.",
"type": "string"
}
},
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
"type": "object",
"x-etsi-notes": "NOTE:\tThis attribute indicates groups of transport bindings that a service-consuming MEC application supports for the consumption of the MEC service defined by this ServiceDependency structure. If at least one of the indicated groups is supported by the service it may be consumed by the application."
},
"TransportDependency": {
"properties": {
"labels": {
"description": "Set of labels that allow to define groups of transport bindings. The mechanism of the grouping is defined below this table.",
"items": {
"type": "string"
},
"minItems": 1,
"type": "array"
},
"serializers": {
"description": "Information about the serializers in this transport binding, as defined in the SerializerType type in ETSI GS MEC 011 [i.4]. Support for at least one of the entries is required in conjunction with the transport.",
"items": {
"$ref": "#/components/schemas/SerializerType"
},
"minItems": 1,
"type": "array"
},
"transport": {
"$ref": "#/components/schemas/TransportDescriptor"
}
},
"required": ["transport", "serializers", "labels"],
"type": "object"
},
"TransportDescriptor": {
"properties": {
"protocol": {
"description": "The name of the protocol used. Shall be set to \"HTTP\" for a REST API.",
"type": "string"
},
"security": {
"$ref": "#/components/schemas/SecurityInfo"
},
"type": {
"$ref": "#/components/schemas/TransportType"
},
"version": {
"description": "The version of the protocol used.",
"type": "string"
}
},
"required": ["type", "protocol", "version", "security"],
"type": "object"
},
"SerializerType": {
"title": "SerializerType",
"type": "string",
"description": "The enumeration represents types of serializers",
},
"SecurityInfo": {
"title": "SecurityInfo",
"type": "object",
"properties": {
"oAuth2Info": {
"$ref": "#/components/schemas/SecurityInfo.OAuth2Info"
}
},
"description": "This type represents security information related to a transport"
},
"SecurityInfo.OAuth2Info": {
"title": "SecurityInfo.OAuth2Info",
"required": ["grantTypes", "tokenEndpoint"],
"type": "object",
"properties": {
"grantTypes": {
"maxItems": 4,
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/components/schemas/SecurityInfo.OAuth2Info.GrantType"
},
"description": "List of supported OAuth 2.0 grant types."
},
"tokenEndpoint": {
"type": "string",
"description": "The token endpoint",
"examples": ["/mecSerMgmtApi/security/TokenEndPoint"]
}
},
"description": "Parameters related to use of OAuth 2.0"
},
"SecurityInfo.OAuth2Info.GrantType": {
"title": "SecurityInfo.OAuth2Info.GrantType",
"enum": [
"OAUTH2_AUTHORIZATION_CODE",
"OAUTH2_IMPLICIT_GRANT",
"OAUTH2_RESOURCE_OWNER",
"OAUTH2_CLIENT_CREDENTIALS"
],
"type": "string",
"description": "OAuth 2.0 grant type",
},
"TransportType": {
"title": "TransportType",
"enum": [
"REST_HTTP",
"MB_TOPIC_BASED",
"MB_ROUTING",
"MB_PUBSUB",
"RPC",
"RPC_STREAMING",
"WEBSOCKET"
],
"type": "string",
"description": "The enumeration TransportType represents types of transports",
},
"FeatureDependency": {
"properties": {
"featureName": {
"description": "The name of the feature, for example, UserApps, UEIdentity, etc.",
"type": "string"
},
"version": {
"description": "The version of the feature.",
"type": "string"
}
},
"type": "object"
},
"AppProfile": {
"type": "object",
"required": [
"easId",
"endPt",
"acIds",
"scheds",
"permLvl",
"easFeats",
"svcContSupp",
"appLocs"
],
"properties": {
"easId": {
"description": "The identifier of the EAS",
"type": "string",
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
},
"endPt": {
"description": "The version of the feature.",
"oneOf": [
{
"$ref": "#/components/schemas/EndPointInfo.Uris"
},
{
"$ref": "#/components/schemas/EndPointInfo.Fqdn"
},
{
"$ref": "#/components/schemas/EndPointInfo.Addresses"
},
{
"$ref": "#/components/schemas/EndPointInfo.Alternative"
}
]
},
"acIds": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "Identities of the Application Clients that can be served by the EAS"
},
"provId": {
"type": "string",
"description": "Identifier of the ASP that provides the EAS.",
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
},
"type": {
"description": "The category or type of EAS.",
"type": "string"
},
"scheds": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "The availability schedule of the EAS."
},
"svcArea": {
"type": "string",
"description": "The list of geographical and topological areas that the EAS serves. ACs in the UE that are outside the area will not be served."
},
"svcKpi": {
"type": "string",
"description": "Service characteristics provided by the EAS."
},
"permLvl": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "level of service permissions supported by the EAS."
},
"easFeats": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "Service features supported by the EAS."
},
"svcContSupp": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "The ACR scenarios supported by the EAS for service continuity."
},
"appLocs": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "List of DNAI(s) and the N6 traffic information associated with the EAS."
},
"avlRep": {
"type": "integer",
"description": "The period indicating to the EES, how often the EES needs to check the EAS's availability after a successful registration.",
"contentEncoding": "int32",
},
"status": {
"type": "string",
"description": "EAS status information. "
}
}
Walter Featherstone
committed
}
},
"requestBodies": {
"AppTerminationNotification": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppTerminationNotification"
}
}