Commit 72a4dc23 authored by Walter Featherstone's avatar Walter Featherstone

Moving from MEC-011 v1.1.1 to v2.0.5

parents ec6d7b0b 6e4de84c
{
"git.ignoreLimitWarning": true
}
\ No newline at end of file
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
], ],
"info": { "info": {
"title": "Mp1 API", "title": "Mp1 API",
"version": "1.1.1", "version": "2.0.5",
"description": "The ETSI MEC ISG MEC011 Application Enablement API described using OpenAPI", "description": "The ETSI MEC ISG MEC011 Application Enablement API described using OpenAPI",
"license": { "license": {
"name": "ETSI Forge copyright notice", "name": "ETSI Forge copyright notice",
...@@ -21,8 +21,8 @@ ...@@ -21,8 +21,8 @@
} }
}, },
"externalDocs": { "externalDocs": {
"description": "ETSI GS MEC011 Application Enablement API, V1.1.1", "description": "ETSI GS MEC011 Application Enablement API, V2.0.5",
"url": "http://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/01.01.01_60/gs_mec011v010101p.pdf" "url": "https://docbox.etsi.org/ISG/MEC/70-Draft/0011v211Plat.App.Enabl/MEC-0011v211Plat.App.Enablv205.zip"
}, },
"tags": [ "tags": [
{ {
...@@ -332,10 +332,15 @@ ...@@ -332,10 +332,15 @@
} }
} }
}, },
"/services": { "/applications/{appInstanceId}/services": {
"parameters": [
{
"$ref": "#/components/parameters/Path.AppInstanceId"
}
],
"get": { "get": {
"description": "This method retrieves information about a list of meService resources. This method is typically used in \"service availability query\" procedure", "description": "This method retrieves information about a list of meService resources. This method is typically used in \"service availability query\" procedure",
"operationId": "Services_GET", "operationId": "AppServices_GET",
"tags": [ "tags": [
"services" "services"
], ],
...@@ -348,6 +353,15 @@ ...@@ -348,6 +353,15 @@
}, },
{ {
"$ref": "#/components/parameters/Query.Ser_category_id" "$ref": "#/components/parameters/Query.Ser_category_id"
},
{
"$ref": "#/components/parameters/Query.Consumed_local_only"
},
{
"$ref": "#/components/parameters/Query.Is_local"
},
{
"$ref": "#/components/parameters/Query.LocalityTypes"
} }
], ],
"responses": { "responses": {
...@@ -367,7 +381,7 @@ ...@@ -367,7 +381,7 @@
}, },
"post": { "post": {
"description": "This method is used to create a meService resource. This method is typically used in \"service availability update and new service registration\" procedure", "description": "This method is used to create a meService resource. This method is typically used in \"service availability update and new service registration\" procedure",
"operationId": "Services_POST", "operationId": "AppServices_POST",
"tags": [ "tags": [
"services" "services"
], ],
...@@ -390,15 +404,18 @@ ...@@ -390,15 +404,18 @@
} }
} }
}, },
"/services/{serviceId}": { "/applications/{appInstanceId}/services/{serviceId}": {
"parameters": [ "parameters": [
{
"$ref": "#/components/parameters/Path.AppInstanceId"
},
{ {
"$ref": "#/components/parameters/Path.ServiceId" "$ref": "#/components/parameters/Path.ServiceId"
} }
], ],
"get": { "get": {
"description": "This method retrieves information about a meService resource. This method is typically used in \"service availability query\" procedure", "description": "This method retrieves information about a meService resource. This method is typically used in \"service availability query\" procedure",
"operationId": "ServicesServiceId_GET", "operationId": "AppServicesServiceId_GET",
"tags": [ "tags": [
"services" "services"
], ],
...@@ -419,7 +436,7 @@ ...@@ -419,7 +436,7 @@
}, },
"put": { "put": {
"description": "This method updates the information about a meService resource", "description": "This method updates the information about a meService resource",
"operationId": "ServicesServiceId_PUT", "operationId": "AppServicesServiceId_PUT",
"tags": [ "tags": [
"services" "services"
], ],
...@@ -445,6 +462,71 @@ ...@@ -445,6 +462,71 @@
} }
} }
}, },
"/services": {
"get": {
"description": "This method retrieves information about a list of meService resources. This method is typically used in \"service availability query\" procedure",
"operationId": "Services_GET",
"parameters": [
{
"$ref": "#/components/parameters/Query.Ser_instance_id"
},
{
"$ref": "#/components/parameters/Query.Ser_name"
},
{
"$ref": "#/components/parameters/Query.Ser_category_id"
},
{
"$ref": "#/components/parameters/Query.Consumed_local_only"
},
{
"$ref": "#/components/parameters/Query.Is_local"
},
{
"$ref": "#/components/parameters/Query.LocalityTypes"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/Services.200"
},
"400": {
"$ref": "#/components/responses/Error.400"
},
"403": {
"$ref": "#/components/responses/Error.403"
},
"404": {
"$ref": "#/components/responses/Error.404"
}
}
}
},
"/services/{serviceId}": {
"parameters": [
{
"$ref": "#/components/parameters/Path.ServiceId"
}
],
"get": {
"description": "This method retrieves information about a meService resource. This method is typically used in \"service availability query\" procedure",
"operationId": "ServicesServiceId_GET",
"responses": {
"200": {
"$ref": "#/components/responses/ServicesServiceId.200"
},
"400": {
"$ref": "#/components/responses/Error.400"
},
"403": {
"$ref": "#/components/responses/Error.403"
},
"404": {
"$ref": "#/components/responses/Error.404"
}
}
}
},
"/timing/current_time": { "/timing/current_time": {
"get": { "get": {
"description": "This method retrieves the information of the platform's current time which corresponds to the get platform time procedure", "description": "This method retrieves the information of the platform's current time which corresponds to the get platform time procedure",
...@@ -1089,6 +1171,19 @@ ...@@ -1089,6 +1171,19 @@
], ],
"example": "JSON" "example": "JSON"
}, },
"LocalityTypes": {
"description": "The scope of locality as expressed by \"consumedLocalOnly\" and \"isLocal\". If absent, defaults to MEC_HOST",
"type": "string",
"enum": [
"MEC_SYSTEM",
"MEC_HOST",
"NFVI_POP",
"ZONE",
"ZONE_GROUP",
"NFVI_NODE"
],
"example": "MEC_SYSTEM"
},
"ServiceInfo.SerInstanceId": { "ServiceInfo.SerInstanceId": {
"description": "Identifier of the service instance assigned by the MEPM / mobile edge platform.", "description": "Identifier of the service instance assigned by the MEPM / mobile edge platform.",
"type": "string", "type": "string",
...@@ -1120,6 +1215,16 @@ ...@@ -1120,6 +1215,16 @@
"type": "string", "type": "string",
"example": "ServiceVersion1" "example": "ServiceVersion1"
}, },
"ServiceInfo.ConsumedLocalOnly": {
"description": "Indicate whether the service can only be consumed by the MEC applications located in the same locality (as defined by scopeOfLocality) as this service instance.",
"type": "boolean",
"example": false
},
"ServiceInfo.IsLocal": {
"description": "Indicate whether the service is located in the same locality (as defined by scopeOfLocality) as the consuming MEC application.",
"type": "boolean",
"example": true
},
"ServiceInfo.Post": { "ServiceInfo.Post": {
"description": "This type represents the general information of a mobile edge service.", "description": "This type represents the general information of a mobile edge service.",
"type": "object", "type": "object",
...@@ -1165,6 +1270,58 @@ ...@@ -1165,6 +1270,58 @@
}, },
"serializer": { "serializer": {
"$ref": "#/components/schemas/SerializerTypes" "$ref": "#/components/schemas/SerializerTypes"
},
"scopeOfLocality": {
"$ref": "#/components/schemas/LocalityTypes"
},
"consumedLocalOnly": {
"$ref": "#/components/schemas/ServiceInfo.ConsumedLocalOnly"
},
"isLocal": {
"$ref": "#/components/schemas/ServiceInfo.IsLocal"
}
}
},
"ServiceInfo": {
"description": "This type represents the general information of a mobile edge service.",
"type": "object",
"required": [
"serName",
"version",
"state",
"transportInfo",
"serializer"
],
"properties": {
"serInstanceId": {
"$ref": "#/components/schemas/ServiceInfo.SerInstanceId"
},
"serName": {
"$ref": "#/components/schemas/ServiceInfo.SerName"
},
"serCategory": {
"$ref": "#/components/schemas/CategoryRef"
},
"version": {
"$ref": "#/components/schemas/ServiceInfo.Version"
},
"state": {
"$ref": "#/components/schemas/ServiceInfo.State"
},
"transportInfo": {
"$ref": "#/components/schemas/TransportInfo"
},
"serializer": {
"$ref": "#/components/schemas/SerializerTypes"
},
"scopeOfLocality": {
"$ref": "#/components/schemas/LocalityTypes"
},
"consumedLocalOnly": {
"$ref": "#/components/schemas/ServiceInfo.ConsumedLocalOnly"
},
"isLocal": {
"$ref": "#/components/schemas/ServiceInfo.IsLocal"
} }
} }
}, },
...@@ -1819,6 +1976,33 @@ ...@@ -1819,6 +1976,33 @@
"type": "string" "type": "string"
} }
} }
},
"Query.LocalityTypes": {
"name": "scope_of_locality",
"description": "A MEC application instance may use scope_of_locality as an input parameter to query the availability of a list of MEC service instances with a certain scope of locality.",
"in": "query",
"required": false,
"schema": {
"type": "string"
}
},
"Query.Is_local": {
"name": "is_local",
"description": "Indicate whether the service is located in the same locality (as defined by scopeOfLocality) as the consuming MEC application.",
"in": "query",
"required": false,
"schema": {
"type": "boolean"
}
},
"Query.Consumed_local_only": {
"name": "consumed_local_only",
"description": "Indicate whether the service can only be consumed by the MEC applications located in the same locality (as defined by scopeOfLocality) as this service instance.",
"in": "query",
"required": false,
"schema": {
"type": "boolean"
}
} }
}, },
"responses": { "responses": {
...@@ -2516,4 +2700,4 @@ ...@@ -2516,4 +2700,4 @@
} }
} }
} }
} }
\ No newline at end of file
...@@ -4,7 +4,7 @@ servers: ...@@ -4,7 +4,7 @@ servers:
- url: 'https://127.0.0.1:8081/mp1/v1' - url: 'https://127.0.0.1:8081/mp1/v1'
info: info:
title: Mp1 API title: Mp1 API
version: 1.1.1 version: 2.0.5
description: The ETSI MEC ISG MEC011 Application Enablement API described using OpenAPI description: The ETSI MEC ISG MEC011 Application Enablement API described using OpenAPI
license: license:
name: ETSI Forge copyright notice name: ETSI Forge copyright notice
...@@ -12,9 +12,9 @@ info: ...@@ -12,9 +12,9 @@ info:
contact: contact:
email: cti_support@etsi.org email: cti_support@etsi.org
externalDocs: externalDocs:
description: 'ETSI GS MEC011 Application Enablement API, V1.1.1' description: 'ETSI GS MEC011 Application Enablement API, V2.0.5'
url: >- url: >-
http://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/01.01.01_60/gs_mec011v010101p.pdf https://docbox.etsi.org/ISG/MEC/70-Draft/0011v211Plat.App.Enabl/MEC-0011v211Plat.App.Enablv205.zip
tags: tags:
- name: trafficRules - name: trafficRules
- name: dnsRules - name: dnsRules
...@@ -222,18 +222,23 @@ paths: ...@@ -222,18 +222,23 @@ paths:
$ref: '#/components/responses/Error.412' $ref: '#/components/responses/Error.412'
requestBody: requestBody:
$ref: '#/components/requestBodies/ApplicationsTrafficRule' $ref: '#/components/requestBodies/ApplicationsTrafficRule'
'/services': '/applications/{appInstanceId}/services':
parameters:
- $ref: '#/components/parameters/Path.AppInstanceId'
get: get:
description: >- description: >-
This method retrieves information about a list of meService resources. This method retrieves information about a list of meService resources.
This method is typically used in "service availability query" procedure This method is typically used in "service availability query" procedure
operationId: Services_GET operationId: AppServices_GET
tags: tags:
- services - services
parameters: parameters:
- $ref: '#/components/parameters/Query.Ser_instance_id' - $ref: '#/components/parameters/Query.Ser_instance_id'
- $ref: '#/components/parameters/Query.Ser_name' - $ref: '#/components/parameters/Query.Ser_name'
- $ref: '#/components/parameters/Query.Ser_category_id' - $ref: '#/components/parameters/Query.Ser_category_id'
- $ref: '#/components/parameters/Query.Consumed_local_only'
- $ref: '#/components/parameters/Query.Is_local'
- $ref: '#/components/parameters/Query.LocalityTypes'
responses: responses:
'200': '200':
$ref: '#/components/responses/Services.200' $ref: '#/components/responses/Services.200'
...@@ -248,7 +253,7 @@ paths: ...@@ -248,7 +253,7 @@ paths:
This method is used to create a meService resource. This method is This method is used to create a meService resource. This method is
typically used in "service availability update and new service typically used in "service availability update and new service
registration" procedure registration" procedure
operationId: Services_POST operationId: AppServices_POST
tags: tags:
- services - services
responses: responses:
...@@ -262,14 +267,15 @@ paths: ...@@ -262,14 +267,15 @@ paths:
$ref: '#/components/responses/Error.404' $ref: '#/components/responses/Error.404'
requestBody: requestBody:
$ref: '#/components/requestBodies/Services.Post' $ref: '#/components/requestBodies/Services.Post'
'/services/{serviceId}': '/applications/{appInstanceId}/services/{serviceId}':
parameters: parameters:
- $ref: '#/components/parameters/Path.AppInstanceId'
- $ref: '#/components/parameters/Path.ServiceId' - $ref: '#/components/parameters/Path.ServiceId'
get: get:
description: >- description: >-
This method retrieves information about a meService resource. This This method retrieves information about a meService resource. This
method is typically used in "service availability query" procedure method is typically used in "service availability query" procedure
operationId: ServicesServiceId_GET operationId: AppServicesServiceId_GET
tags: tags:
- services - services
responses: responses:
...@@ -283,7 +289,7 @@ paths: ...@@ -283,7 +289,7 @@ paths:
$ref: '#/components/responses/Error.404' $ref: '#/components/responses/Error.404'
put: put:
description: This method updates the information about a meService resource description: This method updates the information about a meService resource
operationId: ServicesServiceId_PUT operationId: AppServicesServiceId_PUT
tags: tags:
- services - services
responses: responses:
...@@ -299,6 +305,47 @@ paths: ...@@ -299,6 +305,47 @@ paths:
$ref: '#/components/responses/Error.412' $ref: '#/components/responses/Error.412'
requestBody: requestBody:
$ref: '#/components/requestBodies/ServicesServiceId' $ref: '#/components/requestBodies/ServicesServiceId'
'/services':
get:
description: >-
This method retrieves information about a list of meService resources.
This method is typically used in "service availability query" procedure
operationId: Services_GET
parameters:
- $ref: '#/components/parameters/Query.Ser_instance_id'
- $ref: '#/components/parameters/Query.Ser_name'
- $ref: '#/components/parameters/Query.Ser_category_id'
- $ref: '#/components/parameters/Query.Consumed_local_only'
- $ref: '#/components/parameters/Query.Is_local'
- $ref: '#/components/parameters/Query.LocalityTypes'
responses:
'200':
$ref: '#/components/responses/Services.200'
'400':
$ref: '#/components/responses/Error.400'
'403':
$ref: '#/components/responses/Error.403'
'404':
$ref: '#/components/responses/Error.404'
'/services/{serviceId}':
parameters:
- $ref: '#/components/parameters/Path.ServiceId'
get:
description: >-
This method retrieves information about a meService resource. This
method is typically used in "service availability query" procedure
operationId: ServicesServiceId_GET
responses:
'200':
$ref: '#/components/responses/ServicesServiceId.200'
'400':
$ref: '#/components/responses/Error.400'
'403':
$ref: '#/components/responses/Error.403'
'404':
$ref: '#/components/responses/Error.404'
'/timing/current_time': '/timing/current_time':
get: get:
description: >- description: >-
...@@ -821,6 +868,17 @@ components: ...@@ -821,6 +868,17 @@ components:
- XML - XML
- PROTOBUF3 - PROTOBUF3
example: 'JSON' example: 'JSON'
LocalityTypes:
description: The scope of locality as expressed by "consumedLocalOnly" and "isLocal". If absent, defaults to MEC_HOST
type: string
enum:
- MEC_SYSTEM
- MEC_HOST
- NFVI_POP
- ZONE
- ZONE_GROUP
- NFVI_NODE
example: 'MEC_SYSTEM'
ServiceInfo.SerInstanceId: ServiceInfo.SerInstanceId:
description: >- description: >-
Identifier of the service instance assigned by the MEPM / mobile edge Identifier of the service instance assigned by the MEPM / mobile edge
...@@ -855,6 +913,19 @@ components: ...@@ -855,6 +913,19 @@ components:
description: Service version description: Service version
type: string type: string
example: 'ServiceVersion1' example: 'ServiceVersion1'
ServiceInfo.ConsumedLocalOnly:
description: >-
Indicate whether the service can only be consumed by the MEC applications
located in the same locality (as defined by scopeOfLocality) as this
service instance.
type: boolean
example: false
ServiceInfo.IsLocal:
description: >-
Indicate whether the service is located in the same locality (as defined
by scopeOfLocality) as the consuming MEC application.
type: boolean
example: true
ServiceInfo.Post: ServiceInfo.Post:
description: This type represents the general information of a mobile edge service. description: This type represents the general information of a mobile edge service.
type: object type: object
...@@ -883,6 +954,12 @@ components: ...@@ -883,6 +954,12 @@ components:
$ref: '#/components/schemas/TransportInfo' $ref: '#/components/schemas/TransportInfo'
serializer: serializer:
$ref: '#/components/schemas/SerializerTypes' $ref: '#/components/schemas/SerializerTypes'
scopeOfLocality:
$ref: '#/components/schemas/LocalityTypes'
consumedLocalOnly:
$ref: '#/components/schemas/ServiceInfo.ConsumedLocalOnly'
isLocal:
$ref: '#/components/schemas/ServiceInfo.IsLocal'
ServiceInfo: ServiceInfo:
description: This type represents the general information of a mobile edge service. description: This type represents the general information of a mobile edge service.
type: object type: object
...@@ -907,6 +984,12 @@ components: ...@@ -907,6 +984,12 @@ components:
$ref: '#/components/schemas/TransportInfo' $ref: '#/components/schemas/TransportInfo'
serializer: serializer:
$ref: '#/components/schemas/SerializerTypes' $ref: '#/components/schemas/SerializerTypes'
scopeOfLocality:
$ref: '#/components/schemas/LocalityTypes'
consumedLocalOnly:
$ref: '#/components/schemas/ServiceInfo.ConsumedLocalOnly'
isLocal:
$ref: '#/components/schemas/ServiceInfo.IsLocal'
Subscription: Subscription:
description: A link to the related subscription description: A link to the related subscription
type: object type: object
...@@ -1415,6 +1498,35 @@ components: ...@@ -1415,6 +1498,35 @@ components:
type: array type: array
items: items:
type: string type: string
Query.LocalityTypes:
name: scope_of_locality
description: >-
A MEC application instance may use scope_of_locality as an input
parameter to query the availability of a list of MEC service instances
with a certain scope of locality.
in: query
required: false
schema:
type: string
Query.Is_local:
name: is_local
description: >-
Indicate whether the service is located in the same locality (as
defined by scopeOfLocality) as the consuming MEC application.
in: query
required: false
schema:
type: boolean
Query.Consumed_local_only:
name: consumed_local_only
description: >-
Indicate whether the service can only be consumed by the MEC
applications located in the same locality (as defined by
scopeOfLocality) as this service instance.
in: query
required: false
schema:
type: boolean
responses: responses:
ApplicationsDnsRules.200: ApplicationsDnsRules.200:
description: >- description: >-
...@@ -1693,11 +1805,13 @@ components: ...@@ -1693,11 +1805,13 @@ components:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/AppTerminationNotification' $ref: '#/components/schemas/AppTerminationNotification'
required: true
ServiceAvailabilityNotification: ServiceAvailabilityNotification:
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ServiceAvailabilityNotification' $ref: '#/components/schemas/ServiceAvailabilityNotification'
required: true
callbacks: callbacks:
AppTerminationNotification: AppTerminationNotification:
'{$request.body#/callbackReference}': '{$request.body#/callbackReference}':
...@@ -1903,4 +2017,4 @@ components: ...@@ -1903,4 +2017,4 @@ components:
dstInterface: dstInterface:
interfaceType: 'IP' interfaceType: 'IP'
dstIpAddress: '20.1.1.1' dstIpAddress: '20.1.1.1'
state: 'ACTIVE' state: 'ACTIVE'
\ No newline at end of file
...@@ -4,9 +4,9 @@ This repository contains OpenAPIs descriptions for the interfaces specified in E ...@@ -4,9 +4,9 @@ This repository contains OpenAPIs descriptions for the interfaces specified in E
## Online resources ## Online resources
* [Specification document](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/01.01.01_60/gs_mec011v010101p.pdf) * [Specification document](https://docbox.etsi.org/ISG/MEC/70-Draft/0011v211Plat.App.Enabl/MEC-0011v211Plat.App.Enablv205.zip)
* [Navigate the API in the browser](https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/raw/develop/Mp1.yaml). * [Navigate the API in the browser](https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/raw/mec11v205-openAPI3/Mp1.yaml).
* [Edit the API online](https://forge.etsi.org/swagger/editor/?url=https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/raw/develop/Mp1.yaml). * [Edit the API online](https://forge.etsi.org/swagger/editor/?url=https://forge.etsi.org/gitlab/mec/gs011-app-enablement-api/raw/mec11v205-openAPI3/Mp1.yaml).
......
Markdown is supported
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