Commit 33c96bb6 authored by Walter Featherstone's avatar Walter Featherstone
Browse files

Coversion to OpenAPI3

parent 96daa263
...@@ -9,7 +9,7 @@ This repository contains OpenAPIs descriptions for the interfaces specified in E ...@@ -9,7 +9,7 @@ This repository contains OpenAPIs descriptions for the interfaces specified in E
## ETSI Forge Copyright statement ## ETSI Forge Copyright statement
Copyright (c) ETSI 2018. Copyright (c) ETSI 2019.
This software is subject to copyrights owned by ETSI. Non-exclusive permission This software is subject to copyrights owned by ETSI. Non-exclusive permission
is hereby granted, free of charge, to copy, reproduce and amend this file is hereby granted, free of charge, to copy, reproduce and amend this file
...@@ -21,4 +21,3 @@ from its use or inability of use.This permission does not apply to any documenta ...@@ -21,4 +21,3 @@ from its use or inability of use.This permission does not apply to any documenta
associated with this file for which ETSI keeps all rights reserved. The present associated with this file for which ETSI keeps all rights reserved. The present
copyright notice shall be included in all copies of whole or part of this copyright notice shall be included in all copies of whole or part of this
software and shall not imply any sub-license right. software and shall not imply any sub-license right.
\ No newline at end of file
{ {
"swagger": "2.0", "openapi": "3.0.2",
"info": { "info": {
"description": "The ETSI MEC ISG MEC014 UE Identity API described using OpenAPI",
"version": "1.1.1",
"title": "UE Identity API", "title": "UE Identity API",
"version": "1.1.1",
"description": "The ETSI MEC ISG MEC014 UE Identity API described using OpenAPI",
"license": { "license": {
"name": "ETSI Forge copyright notice", "name": "ETSI Forge copyright notice",
"url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt" "url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt"
},
"contact": {
"email": "cti_support@etsi.org"
} }
}, },
"externalDocs": { "externalDocs": {
"description": "ETSI GS MEC014 UE Identity API, V1.1.1", "description": "ETSI GS MEC014 UE Identity API, V1.1.1",
"url": "http://www.etsi.org/deliver/etsi_gs/MEC/001_099/014/01.01.01_60/gs_mec014v010101p.pdf" "url": "http://www.etsi.org/deliver/etsi_gs/MEC/001_099/014/01.01.01_60/gs_mec014v010101p.pdf"
}, },
"host": "127.0.0.1:8081",
"basePath": "/ui/v1",
"schemes": [
"http",
"https"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"security": [ "security": [
{ {
"OauthSecurity": [ "OauthSecurity": [
...@@ -32,209 +23,218 @@ ...@@ -32,209 +23,218 @@
] ]
} }
], ],
"securityDefinitions": { "servers": [
"OauthSecurity": { {
"type": "oauth2", "url": "http://127.0.0.1:8081/ui/v1"
"flow": "application",
"tokenUrl": "https://oauth.exampleAPI/token",
"scopes": {
"all": "Single oauth2 scope for API"
}
}
},
"parameters": {
"Body.UeIdentityTagInfo": {
"name": "UeIdentityTagInfo",
"in": "body",
"description": "'The updated \"state\" for each included UE Identity tag is included in the entity body of the request'",
"required": true,
"schema": {
"$ref": "#/definitions/UeIdentityTagInfo"
}
},
"Path.AppInstanceId": {
"name": "appInstanceId",
"in": "path",
"description": "Represents a mobile edge application instance",
"required": true,
"type": "string"
}, },
"Query.UeIdentityTag": { {
"name": "ueIdentityTag", "url": "https://127.0.0.1:8081/ui/v1"
"in": "query",
"description": "Represents a UE",
"required": true,
"type": "array",
"items": {
"type": "string"
} }
],
"tags": [
{
"name": "ueIdentityTagInfo"
} }
}, ],
"paths": { "paths": {
"/{appInstanceId}/ue_identity_tag_info": { "/{appInstanceId}/ue_identity_tag_info": {
"parameters": [ "parameters": [
{ {
"$ref": "#/parameters/Path.AppInstanceId" "$ref": "#/components/parameters/Path.AppInstanceId"
} }
], ],
"get": { "get": {
"description": "Retrieves information about a specific UeIdentityTagInfo resource", "description": "Retrieves information about a specific UeIdentityTagInfo resource",
"produces": [ "operationId": "UeIdentityTagInfo_GET",
"application/json" "tags": [
"ueIdentityTagInfo"
], ],
"parameters": [ "parameters": [
{ {
"$ref": "#/parameters/Query.UeIdentityTag" "$ref": "#/components/parameters/Query.UeIdentityTag"
} }
], ],
"responses": { "responses": {
"200": { "200": {
"description": "It is used to indicate nonspecific success. The response body contains a representation of the UeIdentityTagInfo resource.", "description": "It is used to indicate nonspecific success. The response body contains a representation of the UeIdentityTagInfo resource.",
"content": {
"application/json": {
"schema": { "schema": {
"required": [ "$ref": "#/components/schemas/UeIdentityTagInfo"
"UeIdentityTagInfo"
],
"properties": {
"UeIdentityTagInfo": {
"$ref": "#/definitions/UeIdentityTagInfo"
} }
} }
} }
}, },
"400": { "400": {
"description": "Incorrect parameters were passed in the request.In the returned ProblemDetails structure, the \"detail\" attribute should convey more information about the error.", "$ref": "#/components/responses/Error.400"
"schema": {
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
}, },
"403": { "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.", "$ref": "#/components/responses/Error.403"
"schema": {
"required": [
"ProblemDetails"
],
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
}, },
"404": { "404": {
"description": "The client provided a URI that cannot be mapped to a valid resource URL. In the returned ProblemDetails structure, the \"detail\" attribute should convey more information about the error.", "$ref": "#/components/responses/Error.404"
"schema": {
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
} }
} }
}, },
"put": { "put": {
"description": "Register/De-register the information about specific a UeIdentityTagInfo resource", "description": "Register/De-register the information about specific a UeIdentityTagInfo resource",
"produces": [ "operationId": "UeIdentityTagInfo_PUT",
"application/json" "tags": [
"ueIdentityTagInfo"
], ],
"parameters": [ "requestBody": {
{ "content": {
"$ref": "#/parameters/Body.UeIdentityTagInfo" "application/json": {
"schema": {
"$ref": "#/components/schemas/UeIdentityTagInfo"
} }
], }
},
"description": "'The updated \"state\" for each included UE Identity tag is included in the entity body of the request'",
"required": true
},
"responses": { "responses": {
"200": { "200": {
"description": "It is used to indicate success. The response body contains a representation of the UeIdentityTagInfo resource", "description": "It is used to indicate success. The response body contains a representation of the UeIdentityTagInfo resource",
"content": {
"application/json": {
"schema": { "schema": {
"required": [ "$ref": "#/components/schemas/UeIdentityTagInfo"
"UeIdentityTagInfo"
],
"properties": {
"UeIdentityTagInfo": {
"$ref": "#/definitions/UeIdentityTagInfo"
} }
} }
} }
}, },
"400": { "400": {
"description": "Incorrect parameters were passed in the request.In the returned ProblemDetails structure, the \"detail\" attribute should convey more information about the error.", "$ref": "#/components/responses/Error.400"
},
"403": {
"$ref": "#/components/responses/Error.403"
},
"404": {
"$ref": "#/components/responses/Error.404"
},
"412": {
"$ref": "#/components/responses/Error.412"
}
}
}
}
},
"components": {
"parameters": {
"Path.AppInstanceId": {
"name": "appInstanceId",
"in": "path",
"description": "Represents a mobile edge application instance",
"required": true,
"schema": { "schema": {
"properties": { "type": "string"
"ProblemDetails": { }
"$ref": "#/definitions/ProblemDetails" },
"Query.UeIdentityTag": {
"name": "ueIdentityTag",
"in": "query",
"description": "Represents a UE",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string"
} }
} }
} }
}, },
"401": { "responses": {
"description": "An erroneous or missing bearer token. More information should be provided in the \"detail\" attribute of the \"ProblemDetails\" structure.", "Error.400": {
"description": "Bad Request. Incorrect parameters were passed in the request.In the returned ProblemDetails structure, the \"detail\" attribute should convey more information about the error.",
"content": {
"application/problem+json": {
"schema": { "schema": {
"properties": { "$ref": "#/components/schemas/ProblemDetails"
"ProblemDetails": { }
"$ref": "#/definitions/ProblemDetails" },
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Empty"
} }
} }
} }
}, },
"403": { "Error.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.", "description": "Forbidden. 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.",
"content": {
"application/problem+json": {
"schema": { "schema": {
"required": [ "$ref": "#/components/schemas/ProblemDetails"
"ProblemDetails"
],
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
} }
} }
} }
}, },
"404": { "Error.404": {
"description": "The client provided a URI that cannot be mapped to a valid resource URL. In the returned ProblemDetails structure, the \"detail\" attribute should convey more information about the error.", "description": "Not Found. The client provided a URI that cannot be mapped to a valid resource URL. In the returned ProblemDetails structure, the \"detail\" attribute should convey more information about the error.",
"content": {
"application/problem+json": {
"schema": { "schema": {
"properties": { "$ref": "#/components/schemas/ProblemDetails"
"ProblemDetails": { }
"$ref": "#/definitions/ProblemDetails" },
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Empty"
} }
} }
} }
}, },
"412": { "Error.412": {
"description": "It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts.In the returned ProblemDetails structure, the \"detail\" attribute should convey more information about the error.", "description": "Precondition Failed. It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts.In the returned ProblemDetails structure, the \"detail\" attribute should convey more information about the error.",
"content": {
"application/problem+json": {
"schema": { "schema": {
"properties": { "$ref": "#/components/schemas/ProblemDetails"
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
} }
},
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Empty"
} }
} }
} }
} }
},
"securitySchemes": {
"OauthSecurity": {
"type": "oauth2",
"flows": {
"clientCredentials": {
"tokenUrl": "https://oauth.exampleAPI/token",
"scopes": {
"all": "Single oauth2 scope for API"
}
}
} }
} }
}, },
"definitions": { "schemas": {
"Empty": {
"description": "Empty schema"
},
"ProblemDetails": { "ProblemDetails": {
"type": "object", "type": "object",
"properties": { "properties": {
"type": { "type": {
"$ref": "#/definitions/Problem.type" "$ref": "#/components/schemas/Problem.type"
}, },
"title": { "title": {
"$ref": "#/definitions/Problem.title" "$ref": "#/components/schemas/Problem.title"
}, },
"status": { "status": {
"$ref": "#/definitions/Problem.status" "$ref": "#/components/schemas/Problem.status"
}, },
"detail": { "detail": {
"$ref": "#/definitions/Problem.detail" "$ref": "#/components/schemas/Problem.detail"
}, },
"instance": { "instance": {
"$ref": "#/definitions/Problem.instance" "$ref": "#/components/schemas/Problem.instance"
} }
} }
}, },
...@@ -269,7 +269,7 @@ ...@@ -269,7 +269,7 @@
], ],
"properties": { "properties": {
"ueIdentityTags": { "ueIdentityTags": {
"$ref": "#/definitions/UeIdentityTags" "$ref": "#/components/schemas/UeIdentityTags"
} }
} }
}, },
...@@ -283,10 +283,10 @@ ...@@ -283,10 +283,10 @@
], ],
"properties": { "properties": {
"ueIdentityTag": { "ueIdentityTag": {
"$ref": "#/definitions/UeIdentityTag" "$ref": "#/components/schemas/UeIdentityTag"
}, },
"state": { "state": {
"$ref": "#/definitions/State" "$ref": "#/components/schemas/State"
} }
} }
} }
...@@ -306,4 +306,5 @@ ...@@ -306,4 +306,5 @@
"example": "REGISTERED" "example": "REGISTERED"
} }
} }
}
} }
\ No newline at end of file
swagger: '2.0' openapi: 3.0.2
info: info:
description: The ETSI MEC ISG MEC014 UE Identity API described using OpenAPI
version: 1.1.1
title: UE Identity API title: UE Identity API
version: 1.1.1
description: The ETSI MEC ISG MEC014 UE Identity API described using OpenAPI
license: license:
name: ETSI Forge copyright notice name: ETSI Forge copyright notice
url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
contact:
email: cti_support@etsi.org
externalDocs: externalDocs:
description: 'ETSI GS MEC014 UE Identity API, V1.1.1' description: ETSI GS MEC014 UE Identity API, V1.1.1
url: 'http://www.etsi.org/deliver/etsi_gs/MEC/001_099/014/01.01.01_60/gs_mec014v010101p.pdf' url: http://www.etsi.org/deliver/etsi_gs/MEC/001_099/014/01.01.01_60/gs_mec014v010101p.pdf
host: '127.0.0.1:8081'
basePath: /ui/v1
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
security: security:
- OauthSecurity: - OauthSecurity:
- all - all
securityDefinitions: servers:
OauthSecurity: - url: http://127.0.0.1:8081/ui/v1
type: oauth2 - url: https://127.0.0.1:8081/ui/v1
flow: application tags:
tokenUrl: 'https://oauth.exampleAPI/token' - name: ueIdentityTagInfo
scopes: paths:
all: Single oauth2 scope for API "/{appInstanceId}/ue_identity_tag_info":
parameters: parameters:
Body.UeIdentityTagInfo: - $ref: "#/components/parameters/Path.AppInstanceId"
name: UeIdentityTagInfo get:
in: body description: Retrieves information about a specific UeIdentityTagInfo resource
description: >- operationId: UeIdentityTagInfo_GET
'The updated "state" for each included UE Identity tag is included in the entity body of the request' tags:
- ueIdentityTagInfo
parameters:
- $ref: "#/components/parameters/Query.UeIdentityTag"
responses:
"200":
description: It is used to indicate nonspecific success. The response body
contains a representation of the UeIdentityTagInfo resource.
content:
application/json:
schema:
$ref: "#/components/schemas/UeIdentityTagInfo"
"400":
$ref: '#/components/responses/Error.400'
"403":
$ref: '#/components/responses/Error.403'
"404":
$ref: '#/components/responses/Error.404'
put:
description: Register/De-register the information about specific a UeIdentityTagInfo
resource
operationId: UeIdentityTagInfo_PUT
tags:
- ueIdentityTagInfo
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UeIdentityTagInfo"
description: "'The updated \"state\" for each included UE Identity tag is included
in the entity body of the request'"
required: true required: true
responses:
"200":
description: It is used to indicate success. The response body contains a
representation of the UeIdentityTagInfo resource
content:
application/json:
schema: schema:
$ref: '#/definitions/UeIdentityTagInfo' $ref: "#/components/schemas/UeIdentityTagInfo"
"400":
$ref: '#/components/responses/Error.400'
"403":
$ref: '#/components/responses/Error.403'
"404":
$ref: '#/components/responses/Error.404'
"412":
$ref: '#/components/responses/Error.412'
components:
parameters:
Path.AppInstanceId: Path.AppInstanceId:
name: appInstanceId name: appInstanceId
in: path in: path
description: Represents a mobile edge application instance description: Represents a mobile edge application instance
required: true required: true