Commit 32a29a98 authored by Walter Featherstone's avatar Walter Featherstone
Browse files

Updated to GS version 1.1.1



Change-Id: Ifcef233a02eddc3b18db725b01c6e62b44c58034
Signed-off-by: Walter Featherstone's avatarfeatherstone <walter.featherstone@viavisolutions.com>
parent c3e8f6bc
################################################################################
# Open API specification version #
################################################################################
swagger: '2.0'
################################################################################
# Document Information #
################################################################################
info:
$ref: './info/index.yaml'
################################################################################
# External Documents #
################################################################################
externalDocs:
$ref: './externalDocs/index.yaml'
host: 127.0.0.1:8081
basePath: /exampleAPI/location/v1/
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
################################################################################
# Parameters #
################################################################################
parameters:
$ref: './parameters/index.yaml'
################################################################################
# paths #
################################################################################
paths:
$ref: './paths/index.yaml'
################################################################################
# Definitions #
################################################################################
definitions:
$ref: './definitions/index.yaml'
\ No newline at end of file
swagger: '2.0'
info:
description: >-
The MEC-013 Location API described using OpenAPI, which is
based on the Open Mobile Alliance's specification RESTful Network API for
Zonal Presence
version: 1.0.0
title: MEC Location API
title: MEC-012 Location API
version: 1.1.1
description: 'The MEC-012 Location API described using OpenAPI, which is based on the Open Mobile Alliance''s specification RESTful Network API for Zonal Presence'
license:
name: ETSI Forge copyright notice
url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt'
externalDocs:
description: ETSI MEC013 V1.0.1 Location Service API
url: 'https://docbox.etsi.org/ISG/MEC/70-Draft/0013LocationApi'
description: ETSI MEC013 V1.1.1 Location Service API
url: 'http://www.etsi.org/deliver/etsi_gs/MEC/001_099/013/01.01.01_60/gs_mec013v010101p.pdf'
host: '127.0.0.1:8081'
basePath: /exampleAPI/location/v1/
schemes:
......@@ -22,32 +19,73 @@ consumes:
produces:
- application/json
parameters:
ZoneId:
Body.UserTrackingSubscription:
name: userTrackingSubscription
in: body
description: User Tracking Subscription
required: true
schema:
$ref: '#/definitions/UserTrackingSubscription'
Body.ZonalTrafficSubscription:
name: zonalTrafficSubscription
in: body
description: Zonal Traffic Subscription
required: true
schema:
$ref: '#/definitions/ZonalTrafficSubscription'
Body.ZoneStatusSubscription:
name: zoneStatusSubscription
in: body
description: Zone Status Subscription
required: true
schema:
$ref: '#/definitions/ZoneStatusSubscription'
Path.AccessPointId:
name: accessPointId
in: path
description: Access Point ID
required: true
type: string
Path.SubscriptionId:
name: subscriptionId
in: path
description: Subscription ID
required: true
type: string
Path.UserId:
name: userId
in: path
description: User ID
required: true
type: string
Path.ZoneId:
name: zoneId
in: query
in: path
description: Zone ID
required: true
type: string
AccessPointId:
Query.AccessPointId:
name: accessPointId
in: query
description: 'Identifier of access point, reference "definitions" for string format'
required: false
type: string
InterestRealm:
Query.InterestRealm:
name: interestRealm
in: query
description: >-
Interest realm of access point (e.g. geographical area, a type of industry
etc.).
description: 'Interest realm of access point (e.g. geographical area, a type of industry etc.).'
required: false
type: string
Query.ZoneId:
name: zoneId
in: query
description: Zone ID
required: true
type: string
paths:
/zones:
get:
description: >-
Used to get a list of identifiers for zones authorized for use by the
application.
description: Used to get a list of identifiers for zones authorized for use by the application.
produces:
- application/json
responses:
......@@ -56,53 +94,7 @@ paths:
schema:
properties:
zoneList:
description: Collection of the zone information list.
required:
- resourceURL
properties:
zone:
description: Collection of the zone information list.
type: array
items:
description: A type containing zone information.
required:
- zoneId
- numberOfAccessPoints
- numberOfUnservicableAccessPoints
- numberOfUsers
- resourceURL
properties:
zoneId:
description: Identifier of zone
type: string
example: zone01
numberOfAccessPoints:
description: The number of access points within the zone
type: integer
format: uint32
example: '10'
numberOfUnservicableAccessPoints:
description: Number of inoperable access points within the zone.
type: integer
format: uint32
example: '9'
numberOfUsers:
description: The number of users currently on the access point.
type: integer
format: uint32
example: '7'
resourceURL:
description: Self referring URL.
type: string
format: uri
example: >-
http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
resourceURL:
description: Self referring URL.
type: string
format: uri
example: >-
http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
$ref: '#/definitions/ZoneList'
examples:
application/json:
zoneList:
......@@ -124,50 +116,14 @@ paths:
produces:
- application/json
parameters:
- name: zoneId
in: path
description: Zone ID
required: true
type: string
- $ref: '#/parameters/Path.ZoneId'
responses:
'200':
description: Successful response to a query regarding the status of a zone
schema:
properties:
zoneInfo:
description: A type containing zone information.
required:
- zoneId
- numberOfAccessPoints
- numberOfUnservicableAccessPoints
- numberOfUsers
- resourceURL
properties:
zoneId:
description: Identifier of zone
type: string
example: zone01
numberOfAccessPoints:
description: The number of access points within the zone
type: integer
format: uint32
example: '10'
numberOfUnservicableAccessPoints:
description: Number of inoperable access points within the zone.
type: integer
format: uint32
example: '9'
numberOfUsers:
description: The number of users currently on the access point.
type: integer
format: uint32
example: '7'
resourceURL:
description: Self referring URL.
type: string
format: uri
example: >-
http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
$ref: '#/definitions/ZoneInfo'
examples:
application/json:
zoneInfo:
......@@ -178,123 +134,19 @@ paths:
resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01'
'/zones/{zoneId}/accessPoints':
get:
description: >-
Access point status can be retrieved for sets of access points matching
attribute in the request.
description: Access point status can be retrieved for sets of access points matching attribute in the request.
produces:
- application/json
parameters:
- name: zoneId
in: path
description: Zone ID
required: true
type: string
- name: interestRealm
in: query
description: >-
Interest realm of access point (e.g. geographical area, a type of
industry etc.).
required: false
type: string
- $ref: '#/parameters/Path.ZoneId'
- $ref: '#/parameters/Query.InterestRealm'
responses:
'200':
description: >-
Successful response to a query a named set of access point status
request
description: Successful response to a query a named set of access point status request
schema:
properties:
accessPointList:
required:
- zoneId
- resourceURL
properties:
zoneId:
description: Identifier of zone
type: string
example: zone01
accessPoint:
description: Collection of the access point information list.
type: array
items:
required:
- accessPointId
- connectionType
- operationStatus
- numberOfUsers
- resourceURL
properties:
accessPointId:
description: >-
Identifier of access point, <E-CGI><Cell Portion ID>
(reference ETSI TS 129 171). Where the E-CGI is made
up of the PLMN and Cell Identity (28 bit string).
Then the PLMN is made up of the 3 digit MCC & 2 or 3
digit MNC. The Cell Portion is an optional element
type: string
example: '001010000000000000000000000000001'
locationInfo:
description: >-
A type containing location information with
latitude, longitude and altitude, in addition the
accuracy of the information are provided.
type: object
required:
- latitude
- longitude
- accuracy
properties:
latitude:
type: number
format: float
example: '80.123'
longitude:
type: number
format: float
example: '70.123'
altitude:
type: number
format: float
example: '10.0'
accuracy:
type: integer
format: int32
example: '10'
connectionType:
description: The connection type for the access point
type: string
example: Macro
operationStatus:
description: The operation status of the access point
type: string
example: Serviceable
numberOfUsers:
description: The number of users currently on the access point.
type: integer
format: uint32
example: '7'
timezone:
description: Time zone of access point
type: string
format: date-time
example: '2017-01-01T02:51:43Z'
interestRealm:
description: >-
Interest realm of access point (e.g. geographical
area, a type of industry etc.).
type: string
example: LA
resourceURL:
description: Self referring URL.
type: string
format: uri
example: >-
http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
resourceURL:
description: Self referring URL.
type: string
format: uri
example: >-
http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
$ref: '#/definitions/AccessPointList'
examples:
application/json:
accessPointList:
......@@ -310,8 +162,7 @@ paths:
operationStatus: Serviceable
numberOfUsers: '5'
interestRealm: LA
resourceURL: >-
http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap001
resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap001'
- accessPointId: '001010000000000000000000000000010'
locationInfo:
latitude: '91.123'
......@@ -322,8 +173,7 @@ paths:
operationStatus: Unserviceable
numberOfUsers: '0'
interestRealm: DC
resourceURL: >-
http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap002
resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap002'
- accessPointId: '001010000000000000000000000000011'
locationInfo:
latitude: '93.123'
......@@ -334,240 +184,52 @@ paths:
operationStatus: Serviceable
numberOfUsers: '5'
interestRealm: NJ
resourceURL: >-
http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap003
resourceURL: >-
http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints
resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap003'
resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints'
'/zones/{zoneId}/accessPoints/{accessPointId}':
get:
description: >-
Access point status can be retrieved for sets of access points matching
attribute in the request.
description: Access point status can be retrieved for sets of access points matching attribute in the request.
produces:
- application/json
parameters:
- name: zoneId
in: path
description: Zone ID
required: true
type: string
- name: accessPointId
in: path
description: Access Point ID
required: true
type: string
- $ref: '#/parameters/Path.ZoneId'
- $ref: '#/parameters/Path.AccessPointId'
responses:
'200':
description: >-
Successful response to a query a named set of access point status
request
description: Successful response to a query a named set of access point status request
schema:
properties:
accessPointInfo:
required:
- accessPointId
- connectionType
- operationStatus
- numberOfUsers
- resourceURL
properties:
accessPointId:
description: >-
Identifier of access point, <E-CGI><Cell Portion ID>
(reference ETSI TS 129 171). Where the E-CGI is made up of
the PLMN and Cell Identity (28 bit string). Then the PLMN
is made up of the 3 digit MCC & 2 or 3 digit MNC. The Cell
Portion is an optional element
type: string
example: '001010000000000000000000000000001'
$ref: '#/definitions/AccessPointInfo'
examples:
application/json:
accessPointInfo:
accessPointId: '001010000000000000000000000000001'
locationInfo:
description: >-
A type containing location information with latitude,
longitude and altitude, in addition the accuracy of the
information are provided.
type: object
required:
- latitude
- longitude
- accuracy
properties:
latitude:
type: number
format: float
example: '80.123'
longitude:
type: number
format: float
example: '70.123'
altitude:
type: number
format: float
example: '10.0'
accuracy:
type: integer
format: int32
example: '10'
connectionType:
description: The connection type for the access point
type: string
example: Macro
operationStatus:
description: The operation status of the access point
type: string
example: Serviceable
numberOfUsers:
description: The number of users currently on the access point.
type: integer
format: uint32
example: '7'
timezone:
description: Time zone of access point
type: string
format: date-time
example: '2017-01-01T02:51:43Z'
interestRealm:
description: >-
Interest realm of access point (e.g. geographical area, a
type of industry etc.).
type: string
example: LA
resourceURL:
description: Self referring URL.
type: string
format: uri
example: >-
http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
examples:
application/json:
accessPointInfo:
accessPointId: '001010000000000000000000000000001'
locationInfo:
latitude: '90.123'
longitude: '80.123'
altitude: '10.0'
accuracy: '0'
connectionType: Macro
operationStatus: Serviceable
numberOfUsers: '5'
interestRealm: LA
resourceURL: >-
http://example.com/exampleAPI/location/v1/zones/zone001/accessPoints/ap001
/users:
get:
description: >-
Users currently using a zone may be retrieved for sets of access points
matching attribute in the request
produces:
- application/json
parameters:
- name: zoneId
in: query
description: Zone ID
required: true
type: string
- name: accessPointId
in: query
description: >-
Identifier of access point, reference "definitions" for string
format
required: false
type: string
responses:
'200':
description: Successful response to a query users within a zone request
schema:
latitude: '90.123'
longitude: '80.123'
altitude: '10.0'
accuracy: '0'
connectionType: Macro
operationStatus: Serviceable
numberOfUsers: '5'
interestRealm: LA
resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone001/accessPoints/ap001'
/users:
get:
description: Users currently using a zone may be retrieved for sets of access points matching attribute in the request
produces:
- application/json
parameters:
- $ref: '#/parameters/Query.ZoneId'
- $ref: '#/parameters/Query.AccessPointId'
responses:
'200':
description: Successful response to a query users within a zone request
schema:
properties:
userList:
description: A type containing list of users.
required:
- resourceURL
properties:
user:
description: Collection of the zone information list.
type: array
items:
required:
- address
- accessPointId
- zoneId
- resourceURL
properties:
address:
description: >-
Address of user (e.g. "sip" URI, "tel" URI, "acr"
URI).
type: string
format: uri
example: 'acr:192.0.2.1'
accessPointId:
description: >-
Identifier of access point, <E-CGI><Cell Portion ID>
(reference ETSI TS 129 171). Where the E-CGI is made
up of the PLMN and Cell Identity (28 bit string).
Then the PLMN is made up of the 3 digit MCC & 2 or 3
digit MNC. The Cell Portion is an optional element
type: string
example: '001010000000000000000000000000001'
zoneId:
description: Identifier of zone
type: string
example: zone01
resourceURL:
description: Self referring URL.
type: string
format: uri
example: >-
http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
locationInfo:
description: >-
A type containing location information with
latitude, longitude and altitude, in addition the
accuracy of the information are provided.
type: object
required:
- latitude
- longitude