Commit 9c7eeb20 authored by Walter Featherstone's avatar Walter Featherstone
Browse files

Coversion to OpenAPI3

parent 922cbaba
<
{
"swagger": "2.0",
"openapi": "3.0.2",
"info": {
"description": "The ETSI MEC ISG MEC016 UE Application Interface API described using OpenAPI",
"version": "1.1.1",
"title": "UE Application Interface API",
"version": "1.1.1",
"description": "The ETSI MEC ISG MEC016 UE Application Interface API described using OpenAPI",
"license": {
"name": "ETSI Forge copyright notice",
"url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt"
},
"contact": {
"email": "cti_support@etsi.org"
}
},
"externalDocs": {
"description": "ETSI GS MEC016 UE Application Interface API, V1.1.1",
"url": "http://www.etsi.org/deliver/etsi_gs/MEC/001_099/016/01.01.01_60/gs_MEC016v010101p.pdf"
},
"host": "127.0.0.1:8081",
"basePath": "/mx2/v1",
"schemes": [
"http",
"https"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"security": [
{
"OauthSecurity": [
......@@ -32,170 +23,62 @@
]
}
],
"securityDefinitions": {
"OauthSecurity": {
"type": "oauth2",
"flow": "application",
"tokenUrl": "https://oauth.exampleAPI/token",
"scopes": {
"all": "Single oauth2 scope for API"
}
}
},
"parameters": {
"Query.AppName": {
"name": "appName",
"in": "query",
"description": "Name to identify the mobile edge application",
"required": false,
"type": "array",
"items": {
"type": "string"
}
},
"Query.AppProvider": {
"name": "appProvider",
"in": "query",
"description": "Provider of the mobile edge application",
"required": false,
"type": "array",
"items": {
"type": "string"
}
},
"Query.AppSoftVersion": {
"name": "appSoftVersion",
"in": "query",
"description": "Software version of the mobile edge application",
"required": false,
"type": "array",
"items": {
"type": "string"
}
},
"Query.ServiceCont": {
"name": "serviceCont",
"in": "query",
"description": "Required service continuity mode for this application",
"required": false,
"type": "string",
"enum": [
"SERVICE_CONTINUITY_NOT_REQUIRED",
"SERVICE_CONTINUITY_REQUIRED"
]
},
"Body.AppContext": {
"name": "appContext",
"in": "body",
"description": "Uniquely identifies the application context in the mobile edge system. It is assigned by the mobile edge system and included in the response to an AppContext create.",
"required": true,
"schema": {
"$ref": "#/definitions/AppContext"
}
"servers": [
{
"url": "http://127.0.0.1:8081/mx2/v1"
},
"Query.VendorId": {
"name": "vendorId",
"in": "query",
"description": "Vendor identifier",
"required": false,
"type": "array",
"items": {
"type": "string"
}
{
"url": "https://127.0.0.1:8081/mx2/v1"
}
],
"tags": [
{
"name": "appList"
},
"Path.ContextId": {
"name": "contextId",
"in": "path",
"description": "Uniquely identifies the application context in the mobile edge system. It is assigned by the mobile edge system and included in the response to an AppContext create.",
"required": true,
"type": "string"
{
"name": "appContext"
}
},
],
"paths": {
"/app_list": {
"get": {
"description": "The GET method can be used to query information about the available mobile edge applications.",
"produces": [
"application/json"
"description": "Used to query information about the available MEC applications.",
"operationId": "AppList_GET",
"tags": [
"appList"
],
"parameters": [
{
"$ref": "#/parameters/Query.AppName"
"$ref": "#/components/parameters/Query.AppName"
},
{
"$ref": "#/parameters/Query.AppProvider"
"$ref": "#/components/parameters/Query.AppProvider"
},
{
"$ref": "#/parameters/Query.AppSoftVersion"
"$ref": "#/components/parameters/Query.AppSoftVersion"
},
{
"$ref": "#/parameters/Query.ServiceCont"
"$ref": "#/components/parameters/Query.ServiceCont"
},
{
"$ref": "#/parameters/Query.VendorId"
"$ref": "#/components/parameters/Query.VendorId"
}
],
"responses": {
"200": {
"description": "The response body contains the ApplicationList resource available for the querying UE application",
"schema": {
"type": "object",
"required": [
"ApplicationList"
],
"properties": {
"ApplicationList": {
"$ref": "#/definitions/ApplicationList"
}
}
}
"$ref": "#/components/responses/AppList"
},
"400": {
"description": "Incorrect parameters were passed in the request.More information should be provided in the \"detail\" attribute of the \"ProblemDetails\" structure.",
"schema": {
"type": "object",
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
"$ref": "#/components/responses/Error.400"
},
"401": {
"description": "An erroneous or missing bearer token. More information should be provided in the \"detail\" attribute of the \"ProblemDetails\" structure.",
"schema": {
"type": "object",
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
"$ref": "#/components/responses/Error.401"
},
"403": {
"description": "The operation is not allowed given the current status of the resource. More information should be provided in the \"detail\" attribute of the \"ProblemDetails\" structure.",
"schema": {
"type": "object",
"required": [
"ProblemDetails"
],
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
"$ref": "#/components/responses/Error.403"
},
"404": {
"description": "The client provided a URI that cannot be mapped to a valid resource URL. More information should be provided in the \"detail\" attribute of the \"ProblemDetails\" structure.",
"schema": {
"type": "object",
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
"$ref": "#/components/responses/Error.404"
}
}
}
......@@ -203,332 +86,400 @@
"/app_contexts": {
"post": {
"description": "The POST method can be used to create a new application context. Upon success, the response contains entity body describing the created application context.",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/Body.AppContext"
}
"operationId": "AppContext_POST",
"tags": [
"appContext"
],
"requestBody": {
"$ref": "#/components/requestBodies/AppContext"
},
"responses": {
"201": {
"description": "The response body contains the Application Context as it was created by the mobile edge system",
"schema": {
"type": "object",
"required": [
"AppContext"
],
"properties": {
"AppContext": {
"$ref": "#/definitions/AppContext"
}
}
}
"$ref": "#/components/responses/AppContext"
},
"400": {
"description": "Incorrect parameters were passed in the request.More information should be provided in the \"detail\" attribute of the \"ProblemDetails\" structure.",
"schema": {
"type": "object",
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
"$ref": "#/components/responses/Error.400"
},
"401": {
"description": "An erroneous or missing bearer token. More information should be provided in the \"detail\" attribute of the \"ProblemDetails\" structure.",
"schema": {
"type": "object",
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
"$ref": "#/components/responses/Error.401"
},
"403": {
"description": "The operation is not allowed given the current status of the resource. More information should be provided in the \"detail\" attribute of the \"ProblemDetails\" structure.",
"schema": {
"type": "object",
"required": [
"ProblemDetails"
],
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
"$ref": "#/components/responses/Error.403"
},
"404": {
"description": "The client provided a URI that cannot be mapped to a valid resource URL. More information should be provided in the \"detail\" attribute of the \"ProblemDetails\" structure.",
"schema": {
"type": "object",
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
"$ref": "#/components/responses/Error.404"
}
}
}
},
"/app_contexts/{contextId}": {
"parameters": [
{
"$ref": "#/components/parameters/Path.ContextId"
}
],
"put": {
"description": "The PUT method is used to update the callback reference of the existing application context. Upon successful operation, the target resource is updated with new callback reference.",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/Path.ContextId"
},
{
"$ref": "#/parameters/Body.AppContext"
}
"operationId": "AppContextId_PUT",
"tags": [
"appContext"
],
"requestBody": {
"$ref": "#/components/requestBodies/AppContext"
},
"responses": {
"204": {
"description": "Upon success, a response 204 No Content without any response body is returned."
"description": "No Content."
},
"400": {
"description": "Incorrect parameters were passed in the request.More information should be provided in the \"detail\" attribute of the \"ProblemDetails\" structure.",
"schema": {
"type": "object",
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
"$ref": "#/components/responses/Error.400"
},
"401": {
"description": "An erroneous or missing bearer token. More information should be provided in the \"detail\" attribute of the \"ProblemDetails\" structure.",
"schema": {
"type": "object",
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
"$ref": "#/components/responses/Error.401"
},
"403": {
"description": "The operation is not allowed given the current status of the resource. More information should be provided in the \"detail\" attribute of the \"ProblemDetails\" structure.",
"schema": {
"type": "object",
"required": [
"ProblemDetails"
],
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
"$ref": "#/components/responses/Error.403"
},
"404": {
"description": "The client provided a URI that cannot be mapped to a valid resource URL. More information should be provided in the \"detail\" attribute of the \"ProblemDetails\" structure.",
"schema": {
"type": "object",
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
"$ref": "#/components/responses/Error.404"
}
}
},
"delete": {
"description": "The DELETE method is used to delete the resource that represents the existing application context.",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/Path.ContextId"
}
"operationId": "AppContextId_DEL",
"tags": [
"appContext"
],
"responses": {
"204": {
"description": "Upon success, a response 204 No Content without any response body is returned."
"description": "No Content"
},
"400": {
"description": "Incorrect parameters were passed in the request. More information should be provided in the \"detail\" attribute of the \"ProblemDetails\" structure.",
"schema": {
"type": "object",
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
"$ref": "#/components/responses/Error.400"
},
"401": {
"description": "An erroneous or missing bearer token. More information should be provided in the \"detail\" attribute of the \"ProblemDetails\" structure.",
"schema": {
"type": "object",
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
"$ref": "#/components/responses/Error.401"
},
"403": {
"description": "The operation is not allowed given the current status of the resource. More information should be provided in the \"detail\" attribute of the \"ProblemDetails\" structure.",
"schema": {
"type": "object",
"required": [
"ProblemDetails"
],
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
"$ref": "#/components/responses/Error.403"
},
"404": {
"description": "The client provided a URI that cannot be mapped to a valid resource URL. More information should be provided in the \"detail\" attribute of the \"ProblemDetails\" structure.",
"schema": {
"type": "object",
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
"$ref": "#/components/responses/Error.404"
}
}
}
}
},
"definitions": {
"ProblemDetails": {
"type": "object",
"properties": {
"type": {
"$ref": "#/definitions/Problem.type"
},
"title": {
"$ref": "#/definitions/Problem.title"
},
"status": {
"$ref": "#/definitions/Problem.status"
},
"detail": {
"$ref": "#/definitions/Problem.detail"
},
"instance": {
"$ref": "#/definitions/Problem.instance"
"components": {
"parameters": {
"Query.AppName": {
"name": "appName",
"in": "query",
"description": "Name to identify the MEC application",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"Query.AppProvider": {
"name": "appProvider",
"in": "query",
"description": "Provider of the MEC application",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"Query.AppSoftVersion": {
"name": "appSoftVersion",
"in": "query",
"description": "Software version of the MEC application",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"Query.ServiceCont": {
"name": "serviceCont",
"in": "query",
"description": "Required service continuity mode for this application",
"required": false,
"schema": {
"type": "string",
"enum": [
"SERVICE_CONTINUITY_NOT_REQUIRED",
"SERVICE_CONTINUITY_REQUIRED"
]
}
},
"Query.VendorId": {
"name": "vendorId",
"in": "query",
"description": "Vendor identifier",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"Path.ContextId": {
"name": "contextId",
"in": "path",
"description": "Uniquely identifies the application context in the MEC system. It is assigned by the MEC system and included in the response to an AppContext create.",
"required": true,
"schema": {
"type": "string"
}
}
},
"Problem.type": {
"type": "string",
"format": "uri",
"description": "A URI reference according to IETF RFC 3986 that identifies the problem type"
},
"Problem.title": {
"type": "string",
"description": "A short, human-readable summary of the problem type"
},
"Problem.status": {
"type": "integer",
"format": "uint32",
"description": "The HTTP status code for this occurrence of the problem"
},
"Problem.detail": {
"type": "string",
"description": "A human-readable explanation specific to this occurrence of the problem"
},
"Problem.instance": {
"type": "string",
"format": "uri",
"description": "A URI reference that identifies the specific occurrence of the problem"
},
"ApplicationList": {
"description": "Information on available applications",
"type": "object",
"properties": {
"appInfo": {
"$ref": "#/definitions/AppInfo"
"requestBodies": {
"AppContext": {
"description": "Uniquely identifies the application context in the MEC system. It is assigned by the MEC system and included in the response to an AppContext create.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AppContext"
}
}
},
"vendorSpecificExt": {
"$ref": "#/definitions/VendorSpecificExt"
}
"required": true
}
},
"AppContext": {
"description": "Information on application context created by the mobile edge system",
"type": "object",
"required": [
"contextId",
"associateUeAppId",