Commit 5054b42b by Sebastian Müller

initial commit of data taken from Walter's mock-up at https://github.com/wol190/ETSI-ISG-MEC

Change-Id: I8c340d3adfe0f6e53bedfca2b165f94a3357d287 Signed-off-by: Sebastian Müller's avatarSebastian Mueller <sebastian.mueller@etsi.org>
parent c891fbcb
################################################################################
# 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'
################################################################################
# SEEMINGLY NOT ALLOWED in Swagger/OpenAPI 2.0 #
# #
# Examples #
################################################################################
#examples:
# $ref: './examples/index.yaml'
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
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"
\ No newline at end of file
required:
- accessPointId
- connectionType
- operationStatus
- numberOfUsers
- resourceURL
properties:
accessPointId:
$ref: '#/definitions/AccessPointId'
locationInfo:
$ref: '#/definitions/LocationInfo'
connectionType:
$ref: '#/definitions/ConnectionType'
operationStatus:
$ref: '#/definitions/OperationStatus'
numberOfUsers:
$ref: '#/definitions/NumberOfUsers'
timezone:
$ref: '#/definitions/Timezone'
interestRealm:
$ref: '#/definitions/InterestRealm'
resourceURL:
$ref: '#/definitions/ResourceURL'
\ No newline at end of file
required:
- zoneId
- resourceURL
properties:
zoneId:
$ref: '#/definitions/ZoneId'
accessPoint:
description: Collection of the access point information list.
type: array
items:
$ref: '#/definitions/AccessPointInfo'
resourceURL:
$ref: '#/definitions/ResourceURL'
\ No newline at end of file
description: Address of user (e.g. "sip" URI, "tel" URI, "acr" URI).
type: string
format: uri
example: "acr:192.0.2.1"
\ No newline at end of file
required:
- address
properties:
address:
$ref: '#/definitions/Address'
\ No newline at end of file
description: CallBackData if passed by the application during the associated ZonalTrafficSubscription and UserTrackingSubscription operation. See [REST_NetAPI_Common].
type: string
example: "1234"
\ No newline at end of file
required:
- notifyURL
properties:
notifyURL:
$ref: '#/definitions/NotifyURL'
\ No newline at end of file
description: Uniquely identifies this create subscription request. If there is a communication failure during the request, using the same clientCorrelator when retrying the request allows the operator to avoid creating a duplicate subscription.
type: string
example: "0123"
\ No newline at end of file
description: The connection type for the access point
type: string
example: "Macro"
\ No newline at end of file
description: Contextual information of a user location (e.g., aisle, floor, room number, etc.)
type: string
example: "GroundFoor"
\ No newline at end of file
description: Zone ID
type: string
example: "zone01"
\ No newline at end of file
description: Period (in seconds) of time notifications are provided for. If set to "0" (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications. This element MAY be given by the client during resource creation in order to signal the desired lifetime of the subscription. The server MUST return in this element the period of time for which the subscription will still be valid.
type: string
example: "0"
\ No newline at end of file
description: Interest realm of access point (e.g. geographical area, a type of industry etc.).
type: string
example: "LA"
\ No newline at end of file
required:
- rel
- href
properties:
rel:
description: Describes the relationship between the URI and the resource.
type: object
format: string
href:
description: URI
type: object
format: anyURI
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"
\ No newline at end of file
description: The URL of your own listener application.
type: string
format: url
example: "http://clientApp.example.com/location_notifications/123456"
\ No newline at end of file
description: The number of access points within the zone
type: integer
format: uint32
example: "10"
\ No newline at end of file
description: Number of inoperable access points within the zone.
type: integer
format: uint32
example: "9"
\ No newline at end of file
description: The number of users currently on the access point.
type: integer
format: uint32
example: "7"
\ No newline at end of file
description: Threshold number of users in an access point which if crossed shall cause a notification.
type: integer
format: uint32
example: "20"
\ No newline at end of file
description: This element shall be present when ZoneStatusSubscription includes numberOfUsersAPThreshold element and the number of users in an access point exceeds the threshold defined in the subscription.
type: integer
format: uint32
example: "12"
\ No newline at end of file
description: This element shall be present when ZoneStatusSubscription includes numberOfUsersZoneThreshold element and the number of users in a zone exceeds the threshold defined in this subscription.
type: integer
format: uint32
example: "20"
\ No newline at end of file
description: Threshold number of users in a zone which if crossed shall cause a notification.
type: integer
format: uint32
example: "40"
\ No newline at end of file
description: The operation status of the access point
type: string
example: "Serviceable"
\ No newline at end of file
description: Zone ID
type: string
example: "zone02"
\ No newline at end of file
description: Self referring URL.
type: string
format: uri
example: "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123"
\ No newline at end of file
description: Indicates the time of day for zonal presence notification.
type: string
format: date-time
example: "2017-01-01T02:51:43Z"
\ No newline at end of file
description: Time zone of access point
type: string
format: date-time
example: "2017-01-01T02:51:43Z"
\ No newline at end of file
description: List of user event values to generate notifications for (these apply to address specified). If this element is missing, a notification is requested to be generated for any change in user event.
type: array
items:
$ref: '#/definitions/UserEventType'
\ No newline at end of file
description: User event
type: string
example: "Entering"
\ No newline at end of file
required:
- address
- accessPointId
- zoneId
- resourceURL
properties:
address:
$ref: '#/definitions/Address'
accessPointId:
$ref: '#/definitions/AccessPointId'
zoneId:
$ref: '#/definitions/ZoneId'
resourceURL:
$ref: '#/definitions/ResourceURL'
locationInfo:
$ref: '#/definitions/LocationInfo'
contextLocationInfo:
$ref: '#/definitions/ContextLocationInfo'
ancillaryInfo:
$ref: '#/definitions/AncillaryInfo'
\ No newline at end of file
description: A type containing list of users.
required:
- resourceURL
properties:
user:
description: Collection of the zone information list.
type: array
items:
$ref: '#/definitions/UserInfo'
resourceURL:
$ref: '#/definitions/ResourceURL'
\ No newline at end of file
required:
- callbackReference
- address
properties:
clientCorrelator:
$ref: '#/definitions/ClientCorrelator'
callbackReference:
$ref: '#/definitions/CallbackReference'
address:
$ref: '#/definitions/Address'
userEventCriteria:
$ref: '#/definitions/UserEventCriteria'
resourceURL:
$ref: '#/definitions/ResourceURL'
\ No newline at end of file
required:
- zoneId
- address
- userEventType
- currentAccessPointId
- timestamp
properties:
callbackData:
$ref: '#/definitions/CallbackData'
zoneId:
$ref: '#/definitions/ZoneId'
address:
$ref: '#/definitions/Address'
interestRealm:
$ref: '#/definitions/InterestRealm'
userEventType:
$ref: '#/definitions/UserEventType'
currentAccessPointId:
$ref: '#/definitions/CurrentAccessPointId'
previousAccessPointId:
$ref: '#/definitions/PreviousAccessPointId'
timestamp:
$ref: '#/definitions/Timestamp'
link:
description: Link to other resources that are in relationship with this notification. The server SHOULD include a link to the related subscription. No other links are required or suggested by this specification.
type: array
items:
$ref: '#/definitions/Link'
example: rel="ZonalTrafficSubscription" href="http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/sub123"/
description: A type containing zonal traffic subscription
type: object
required:
- callbackReference
- zoneId
properties:
clientCorrelator:
$ref: '#/definitions/ClientCorrelator'
callbackReference:
$ref: '#/definitions/CallbackReference'
zoneId:
$ref: '#/definitions/ZoneId'
interestRealm:
description: Interest realms of access points within a zone (e.g. geographical area, a type of industry etc.).
type: array
items:
$ref: '#/definitions/InterestRealm'
userEventCriteria:
# $ref: '#/definitions/UserEventCriteria'
description: List of user event values to generate notifications for (these apply to zone identifier or all interest realms within zone identifier specified). If this element is missing, a notification is requested to be generated for any change in user event.
type: array
items:
$ref: '#/definitions/UserEventType'
duration:
$ref: '#/definitions/Duration'
resourceURL:
$ref: '#/definitions/ResourceURL'
\ No newline at end of file
description: Identifier of zone
type: string
example: "zone01"
\ No newline at end of file
description: A type containing zone information.
required:
- zoneId
- numberOfAccessPoints
- numberOfUnservicableAccessPoints
- numberOfUsers
- resourceURL
properties:
zoneId:
$ref: '#/definitions/ZoneId'
numberOfAccessPoints:
$ref: '#/definitions/NumberOfAccessPoints'
numberOfUnservicableAccessPoints:
$ref: '#/definitions/NumberOfUnserviceableAccessPoints'
numberOfUsers:
$ref: '#/definitions/NumberOfUsers'
resourceURL:
$ref: '#/definitions/ResourceURL'
\ No newline at end of file
description: Collection of the zone information list.
required:
- resourceURL
properties:
zone:
description: Collection of the zone information list.
type: array
items:
$ref: '#/definitions/ZoneInfo'
resourceURL:
$ref: '#/definitions/ResourceURL'
required:
- zoneId
- timestamp
properties:
callbackData:
$ref: '#/definitions/CallbackData'
zoneId:
$ref: '#/definitions/ZoneId'
accessPointId:
$ref: '#/definitions/AccessPointId'
numberOfUsersInZone:
$ref: '#/definitions/NumberOfUsersInZone'
numberOfUsersInAP:
$ref: '#/definitions/NumberOfUsersInAP'
operationStatus:
$ref: '#/definitions/OperationStatus'
timestamp:
$ref: '#/definitions/Timestamp'
link:
description: Link to other resources that are in relationship with this notification. The server SHOULD include a link to the related subscription. No other links are required or suggested by this specification.
type: array
items:
$ref: '#/definitions/Link'
example: rel="ZonalStatusSubscription" href="http://example.com/exampleAPI/location/v1/subscriptions/zonalStatus/sub123"
required:
- callbackReference
- zoneId
properties:
clientCorrelator:
$ref: '#/definitions/ClientCorrelator'
resourceURL:
$ref: '#/definitions/ResourceURL'
callbackReference:
$ref: '#/definitions/CallbackReference'
zoneId:
$ref: '#/definitions/ZoneId'
numberOfUsersZoneThreshold:
$ref: '#/definitions/NumberOfUsersZoneThreshold'
numberOfUsersAPThreshold:
$ref: '#/definitions/NumberOfUsersAPThreshold'
operationStatus:
description: List of operation status values to generate notifications for (these apply to all access points within a zone).
type: array
items:
$ref: '#/definitions/OperationStatus'
\ No newline at end of file
AccessPointId:
$ref: ./AccessPointId.yaml
AccessPointInfo:
$ref: ./AccessPointInfo.yaml
AccessPointList:
$ref: ./AccessPointList.yaml
Address:
$ref: ./Address.yaml
AncillaryInfo:
$ref: ./AncillaryInfo.yaml
CallbackData:
$ref: ./CallbackData.yaml
CallbackReference:
$ref: ./CallbackReference.yaml
ClientCorrelator:
$ref: ./ClientCorrelator.yaml
ConnectionType:
$ref: ./ConnectionType.yaml
ContextLocationInfo:
$ref: ./ContextLocationInfo.yaml
CurrentAccessPointId:
$ref: ./CurrentAccessPointId.yaml
Duration:
$ref: ./Duration.yaml
InterestRealm:
$ref: ./InterestRealm.yaml
Link:
$ref: ./Link.yaml
LocationInfo:
$ref: ./LocationInfo.yaml
NotifyURL:
$ref: ./NotifyURL.yaml
NumberOfAccessPoints:
$ref: ./NumberOfAccessPoints.yaml
NumberOfUnserviceableAccessPoints:
$ref: ./NumberOfUnserviceableAccessPoints.yaml
NumberOfUsers:
$ref: ./NumberOfUsers.yaml
NumberOfUsersAPThreshold:
$ref: ./NumberOfUsersAPThreshold.yaml
NumberOfUsersInAP:
$ref: ./NumberOfUsersInAP.yaml
NumberOfUsersInZone:
$ref: ./NumberOfUsersInZone.yaml
NumberOfUsersZoneThreshold:
$ref: ./NumberOfUsersZoneThreshold.yaml
OperationStatus:
$ref: ./OperationStatus.yaml
PreviousAccessPointId:
$ref: ./PreviousAccessPointId.yaml
ResourceURL:
$ref: ./ResourceURL.yaml
Timestamp:
$ref: ./Timestamp.yaml
Timezone:
$ref: ./Timezone.yaml
UserEventCriteria:
$ref: ./UserEventCriteria.yaml
UserEventType:
$ref: ./UserEventType.yaml
UserInfo:
$ref: ./UserInfo.yaml
UserList:
$ref: ./UserList.yaml
UserTrackingSubscription:
$ref: ./UserTrackingSubscription.yaml
ZonalPresenceNotification:
$ref: ./ZonalPresenceNotification.yaml
ZonalTrafficSubscription:
$ref: ./ZonalTrafficSubscription.yaml
ZoneId:
$ref: ./ZoneId.yaml
ZoneInfo:
$ref: ./ZoneInfo.yaml
ZoneList:
$ref: ./ZoneList.yaml
ZoneStatusNotification:
$ref: ./ZoneStatusNotification.yaml
ZoneStatusSubscription:
$ref: ./ZoneStatusSubscription.yaml
\ No newline at end of file
{
"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"
}
}
\ No newline at end of file
{
"accessPointList": {
"zoneId": "zone01",
"accessPoint": [{
"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/zone01/accessPoints/ap001"
}, {
"accessPointId": "001010000000000000000000000000010",
"locationInfo": {
"latitude": "91.123",
"longitude": "81.123",
"altitude": "12.0",
"accuracy": "1"
},
"connectionType": "Macro",
"operationStatus": "Unserviceable",
"numberOfUsers": "0",
"interestRealm": "DC",
"resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap002"
}, {
"accessPointId": "001010000000000000000000000000011",
"locationInfo": {
"latitude": "93.123",
"longitude": "83.123",
"altitude": "16.0",
"accuracy": "3"
},
"connectionType": "Macro",
"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"
}
}
\ No newline at end of file
{
"notificationSubscriptionList": {
"userTrackingSubscription":
[{
"clientCorrelator": "0123",
"resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123",
"callbackReference": {
"notifyURL": "http://clientApp.example.com/location_notifications/123456"
},
"address": "acr:192.0.2.1",
"userEventCriteria": "Transferring"
}, {
"clientCorrelator": "0124",
"resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription124",
"callbackReference": {
"notifyURL": "http://clientApp.example.com/location_notifications/123456"
},
"address": "acr:192.0.2.2",
"userEventCriteria": "Transferring"
}
],
"resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking"
}
}
\ No newline at end of file
{
"notificationSubscriptionList": {
"zonalTrafficSubscription":
[{
"clientCorrelator": "0123",
"resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123",
"callbackReference": {
"notifyURL": "http://clientApp.example.com/location_notifications/123456"
},
"zoneId": "zone01",
"interestRealm": "LA",
"userEventCriteria": "Transferring"
}, {
"clientCorrelator": "0124",
"resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription124",
"callbackReference": {
"notifyURL": "http://clientApp.example.com/location_notifications/123457"
},
"zoneId": "zone02",
"interestRealm": "LA",
"userEventCriteria": "Transferring"
}
],
"resourceURL": "http://example.com/exampleAPI/location/v1/zonalTraffic"
}
}
\ No newline at end of file