swagger/servicelocator.yml

181 lines
4.3 KiB
YAML
Raw Normal View History

2021-10-28 12:43:26 +02:00
openapi: 3.0.3
info:
title: Service Locator
description: REST API for service location in a 5G core network
contact:
email: tormakristof@tormakristof.eu
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
version: 1.0.0
servers:
- url: https://servicelocator.k8s.kmlabz.com
tags:
- name: servicedatabase
description: Service locator function database API
- name: servicelocator
description: Service location API
paths:
/servicelocation/{serviceID}:
get:
tags:
- servicelocator
summary: get service with location by ID
operationId: getServiceLocation
parameters:
- name: serviceID
in: path
description: ID of service
required: true
schema:
type: string
format: uuid
responses:
200:
description: Service with given ID
content:
application/json:
schema:
2021-10-28 12:44:45 +02:00
type: object
properties:
location:
type: string
format: ipv4
required:
- location
2021-10-28 12:43:26 +02:00
404:
description: Not found
/service:
get:
tags:
- servicedatabase
summary: Get all services
operationId: getall
responses:
200:
description: Array of all services
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceLocator'
404:
description: No object matching filter
post:
tags:
- servicedatabase
summary: create a service
operationId: createservice
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceLocatorObject'
required: true
responses:
200:
description: successful operation
400:
description: JSON parse error
417:
description: JSON invalid schema
/service/{serviceID}:
get:
tags:
- servicedatabase
summary: get service by ID
operationId: getService
parameters:
- name: serviceID
in: path
description: ID of service
required: true
schema:
type: string
format: uuid
responses:
200:
description: Service with given ID
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceLocatorObject'
404:
description: Not found
delete:
tags:
- servicedatabase
summary: delete a service
operationId: deleteService
parameters:
- name: serviceID
in: path
description: ID of service
required: true
schema:
type: string
format: uuid
responses:
200:
description: Service deleted
404:
description: Not found
put:
tags:
- servicedatabase
summary: updates a service
operationId: updateservice
parameters:
- name: serviceID
in: path
description: ID of service
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceLocatorObject'
required: true
responses:
200:
description: successful operation
400:
description: JSON parse error
417:
description: JSON invalid schema
404:
description: Not found
components:
schemas:
ServiceLocator:
type: array
items:
$ref: '#/components/schemas/ServiceLocatorObject'
ServiceLocatorObject:
required:
- device_id
- id
type: object
properties:
id:
type: string
format: uuid
servicearray:
$ref: '#/components/schemas/ServiceArray'
ServiceArray:
type: array
items:
$ref: '#/components/schemas/Service'
Service:
type: object
required:
- location
- zone
properties:
location:
type: string
format: ipv4
zone:
type: string