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
## ETSI Forge Copyright statement
Copyright (c) ETSI 2018.
Copyright (c) ETSI 2019.
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
......@@ -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
copyright notice shall be included in all copies of whole or part of this
software and shall not imply any sub-license right.
\ No newline at end of file
{
"swagger": "2.0",
"openapi": "3.0.2",
"info": {
"description": "The ETSI MEC ISG MEC014 UE Identity API described using OpenAPI",
"version": "1.1.1",
"title": "UE Identity API",
"version": "1.1.1",
"description": "The ETSI MEC ISG MEC014 UE Identity 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 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"
},
"host": "127.0.0.1:8081",
"basePath": "/ui/v1",
"schemes": [
"http",
"https"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"security": [
{
"OauthSecurity": [
......@@ -32,209 +23,218 @@
]
}
],
"securityDefinitions": {
"OauthSecurity": {
"type": "oauth2",
"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"
"servers": [
{
"url": "http://127.0.0.1:8081/ui/v1"
},
"Query.UeIdentityTag": {
"name": "ueIdentityTag",
"in": "query",
"description": "Represents a UE",
"required": true,
"type": "array",
"items": {
"type": "string"
{
"url": "https://127.0.0.1:8081/ui/v1"
}
],
"tags": [
{
"name": "ueIdentityTagInfo"
}
},
],
"paths": {
"/{appInstanceId}/ue_identity_tag_info": {
"parameters": [
{
"$ref": "#/parameters/Path.AppInstanceId"
"$ref": "#/components/parameters/Path.AppInstanceId"
}
],
"get": {
"description": "Retrieves information about a specific UeIdentityTagInfo resource",
"produces": [
"application/json"
"operationId": "UeIdentityTagInfo_GET",
"tags": [
"ueIdentityTagInfo"
],
"parameters": [
{
"$ref": "#/parameters/Query.UeIdentityTag"
"$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": {
"required": [
"UeIdentityTagInfo"
],
"properties": {
"UeIdentityTagInfo": {
"$ref": "#/definitions/UeIdentityTagInfo"
"$ref": "#/components/schemas/UeIdentityTagInfo"
}
}
}
},
"400": {
"description": "Incorrect parameters were passed in the request.In the returned ProblemDetails structure, the \"detail\" attribute should convey more information about the error.",
"schema": {
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
"$ref": "#/components/responses/Error.400"
},
"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": {
"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. In the returned ProblemDetails structure, the \"detail\" attribute should convey more information about the error.",
"schema": {
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
"$ref": "#/components/responses/Error.404"
}
}
},
"put": {
"description": "Register/De-register the information about specific a UeIdentityTagInfo resource",
"produces": [
"application/json"
"operationId": "UeIdentityTagInfo_PUT",
"tags": [
"ueIdentityTagInfo"
],
"parameters": [
{
"$ref": "#/parameters/Body.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
},
"responses": {
"200": {
"description": "It is used to indicate success. The response body contains a representation of the UeIdentityTagInfo resource",
"content": {
"application/json": {
"schema": {
"required": [
"UeIdentityTagInfo"
],
"properties": {
"UeIdentityTagInfo": {
"$ref": "#/definitions/UeIdentityTagInfo"
"$ref": "#/components/schemas/UeIdentityTagInfo"
}
}
}
},
"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": {
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
"type": "string"
}
},
"Query.UeIdentityTag": {
"name": "ueIdentityTag",
"in": "query",
"description": "Represents a UE",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"401": {
"description": "An erroneous or missing bearer token. More information should be provided in the \"detail\" attribute of the \"ProblemDetails\" structure.",
"responses": {
"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": {
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Empty"
}
}
}
},
"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.",
"Error.403": {
"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": {
"required": [
"ProblemDetails"
],
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"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.",
"Error.404": {
"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": {
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/plain": {
"schema": {
"$ref": "#/components/schemas/Empty"
}
}
}
},
"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.",
"Error.412": {
"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": {
"properties": {
"ProblemDetails": {
"$ref": "#/definitions/ProblemDetails"
"$ref": "#/components/schemas/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": {
"type": "object",
"properties": {
"type": {
"$ref": "#/definitions/Problem.type"
"$ref": "#/components/schemas/Problem.type"
},
"title": {
"$ref": "#/definitions/Problem.title"
"$ref": "#/components/schemas/Problem.title"
},
"status": {
"$ref": "#/definitions/Problem.status"
"$ref": "#/components/schemas/Problem.status"
},
"detail": {
"$ref": "#/definitions/Problem.detail"
"$ref": "#/components/schemas/Problem.detail"
},
"instance": {
"$ref": "#/definitions/Problem.instance"
"$ref": "#/components/schemas/Problem.instance"
}
}
},
......@@ -269,7 +269,7 @@
],
"properties": {
"ueIdentityTags": {
"$ref": "#/definitions/UeIdentityTags"
"$ref": "#/components/schemas/UeIdentityTags"
}
}
},
......@@ -283,10 +283,10 @@
],
"properties": {
"ueIdentityTag": {
"$ref": "#/definitions/UeIdentityTag"
"$ref": "#/components/schemas/UeIdentityTag"
},
"state": {
"$ref": "#/definitions/State"
"$ref": "#/components/schemas/State"
}
}
}
......@@ -306,4 +306,5 @@
"example": "REGISTERED"
}
}
}
}
\ No newline at end of file
swagger: '2.0'
openapi: 3.0.2
info:
description: The ETSI MEC ISG MEC014 UE Identity API described using OpenAPI
version: 1.1.1
title: UE Identity API
version: 1.1.1
description: The ETSI MEC ISG MEC014 UE Identity API described using OpenAPI
license:
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:
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'
host: '127.0.0.1:8081'
basePath: /ui/v1
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
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
security:
- OauthSecurity:
- all
securityDefinitions:
OauthSecurity:
type: oauth2
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'
servers:
- url: http://127.0.0.1:8081/ui/v1
- url: https://127.0.0.1:8081/ui/v1
tags:
- name: ueIdentityTagInfo
paths:
"/{appInstanceId}/ue_identity_tag_info":
parameters:
- $ref: "#/components/parameters/Path.AppInstanceId"
get:
description: Retrieves information about a specific UeIdentityTagInfo resource
operationId: UeIdentityTagInfo_GET
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
responses:
"200":
description: It is used to indicate success. The response body contains a
representation of the UeIdentityTagInfo resource
content:
application/json:
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:
name: appInstanceId
in: path
description: Represents a mobile edge application instance
required: true
schema:
type: string
Query.UeIdentityTag:
name: ueIdentityTag
in: query
description: Represents a UE
required: true
schema:
type: array
items:
type: string
paths:
'/{appInstanceId}/ue_identity_tag_info':
parameters:
- $ref: '#/parameters/Path.AppInstanceId'
get:
description: 'Retrieves information about a specific UeIdentityTagInfo resource'
produces:
- application/json
parameters:
- $ref: '#/parameters/Query.UeIdentityTag'
responses:
'200':
description: >-
It is used to indicate nonspecific success. The response body
contains a representation of the UeIdentityTagInfo resource.
schema:
required:
- UeIdentityTagInfo
properties:
UeIdentityTagInfo:
$ref: '#/definitions/UeIdentityTagInfo'
'400':
description: >-
Incorrect parameters were passed in the request.In the returned
ProblemDetails structure, the "detail" attribute should convey more
information about the error.
schema:
properties:
ProblemDetails:
$ref: '#/definitions/ProblemDetails'
'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:
required:
- ProblemDetails
properties:
ProblemDetails:
$ref: '#/definitions/ProblemDetails'
'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.
schema:
properties:
ProblemDetails:
$ref: '#/definitions/ProblemDetails'
put:
description: 'Register/De-register the information about specific a UeIdentityTagInfo resource'
produces:
- application/json
parameters:
- $ref: '#/parameters/Body.UeIdentityTagInfo'
responses:
'200':
description: >-
It is used to indicate success. The response body contains a representation of the UeIdentityTagInfo resource
schema:
required:
- UeIdentityTagInfo
properties:
UeIdentityTagInfo:
$ref: '#/definitions/UeIdentityTagInfo'
'400':
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:
properties:
ProblemDetails:
$ref: '#/definitions/ProblemDetails'
'401':
description: >-
An erroneous or missing bearer token. More information should be
provided in the "detail" attribute of the "ProblemDetails"
structure.
$ref: "#/components/schemas/ProblemDetails"
text/plain:
schema:
properties:
ProblemDetails:
$ref: '#/definitions/ProblemDetails'
'403':
description: >-
$ref: '#/components/schemas/Empty'
Error.403: