Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
MEC - Multi-access Edge Computing
V2X Information Service API
Commits
1307c8ad
Commit
1307c8ad
authored
Jan 26, 2021
by
Elian Kraja
Browse files
Merge branch 'stf593' into 'develop'
Final draft See merge request
!1
parents
75fa0e7e
27ed830a
Pipeline
#5790
passed with stage
in 0 seconds
Changes
59
Pipelines
1
Show whitespace changes
Inline
Side-by-side
.jenkins.sh
0 → 100755
View file @
1307c8ad
#!/bin/bash
specfiles
=
$(
ls
| egrep
"^[^.]*.(json|yaml)"
)
fres
=
0
for
i
in
$specfiles
;
do
echo
"-- Validating and linting OpenAPI file
$i
..."
swagger-cli validate
$i
res
=
$?
speccy lint
"
$i
"
res2
=
$?
fres
=
$((
$fres
||
$res
||
$res2
))
echo
"--- Validator returned
$res
, linter returned
$res2
."
done
echo
"-- Final validator returns
$fres
."
exit
$fres
MEC030_V2XInformationService.yaml
0 → 100644
View file @
1307c8ad
info
:
title
:
"
ETSI
GS
MEC
030
V2X
Information
Service
API"
version
:
2.1.1
description
:
"
ETSI
GS
MEC
030
V2X
Information
Service
API
described
using
OpenAPI."
contact
:
name
:
ETSI Forge
email
:
cti_support@etsi.org
url
:
https://forge.etsi.org/rep/mec/gs030-vis-api
license
:
name
:
BSD-3-Clause
url
:
'
https://forge.etsi.org/legal-matters'
externalDocs
:
description
:
"
ETSI
GS
MEC
030
V2X
Information
Service
API,
v2.1.1"
url
:
'
https://www.etsi.org/deliver/etsi_gs/MEC/001_099/030/02.01.01_60/gs_mec030v020101p.pdf'
openapi
:
3.0.0
servers
:
-
url
:
'
https://localhost/vis/v1'
tags
:
-
name
:
queries
description
:
Queries
-
name
:
subscription
description
:
Subscription
paths
:
/queries/uu_unicast_provisioning_info
:
get
:
tags
:
-
'
queries'
summary
:
'
Used
to
query
provisioning
information
for
V2X
communication
over
Uu
unicast.'
description
:
'
Used
to
query
provisioning
information
for
V2X
communication
over
Uu
unicast.'
operationId
:
prov_info_uu_unicastGET
parameters
:
-
in
:
query
name
:
location_info
schema
:
type
:
string
required
:
true
description
:
'
Comma
separated
list
of
locations
to
identify
a
cell
of
a
base
station
or
a
particular
geographical
area'
responses
:
'
200'
:
description
:
'
A
response
body
containing
the
Uu
unicast
provisioning
information.
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/UuUnicastProvisioningInfo'
'
400'
:
$ref
:
'
#/components/responses/400'
'
401'
:
$ref
:
'
#/components/responses/401'
'
403'
:
$ref
:
'
#/components/responses/403'
'
404'
:
$ref
:
'
#/components/responses/404'
'
406'
:
$ref
:
'
#/components/responses/406'
'
429'
:
$ref
:
'
#/components/responses/429'
/queries/uu_mbms_provisioning_info
:
get
:
tags
:
-
'
queries'
summary
:
'
retrieve
information
required
for
V2X
communication
over
Uu
MBMS.'
description
:
'
retrieve
information
required
for
V2X
communication
over
Uu
MBMS.'
operationId
:
prov_info_uu_mbmsGET
parameters
:
-
in
:
query
name
:
location_info
schema
:
type
:
string
required
:
true
description
:
'
omma
separated
list
of
locations
to
identify
a
cell
of
a
base
station
or
a
particular
geographical
area'
responses
:
'
200'
:
description
:
'
A
response
body
containing
the
Uu
unicast
provisioning
information.
'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/UuMbmsProvisioningInfo'
'
400'
:
$ref
:
'
#/components/responses/400'
'
401'
:
$ref
:
'
#/components/responses/401'
'
403'
:
$ref
:
'
#/components/responses/403'
'
404'
:
$ref
:
'
#/components/responses/404'
'
406'
:
$ref
:
'
#/components/responses/406'
'
429'
:
$ref
:
'
#/components/responses/429'
/queries/pc5_provisioning_info
:
get
:
tags
:
-
'
queries'
summary
:
'
Query
provisioning
information
for
V2X
communication
over
PC5.'
description
:
'
Query
provisioning
information
for
V2X
communication
over
PC5.'
operationId
:
prov_infoGET
parameters
:
-
in
:
query
name
:
location_info
schema
:
type
:
string
required
:
true
description
:
'
Comma
separated
list
of
locations
to
identify
a
cell
of
a
base
station
or
a
particular
geographical
area'
responses
:
'
200'
:
description
:
'
A
response
body
containing
the
PC5
provisioning
information
is
returned.'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/Pc5ProvisioningInfo'
'
400'
:
$ref
:
'
#/components/responses/400'
'
401'
:
$ref
:
'
#/components/responses/401'
'
403'
:
$ref
:
'
#/components/responses/403'
'
404'
:
$ref
:
'
#/components/responses/404'
'
406'
:
$ref
:
'
#/components/responses/406'
'
429'
:
$ref
:
'
#/components/responses/429'
/provide_predicted_qos
:
post
:
tags
:
-
'
QoS'
summary
:
'
Request
the
predicted
QoS
correspondent
to
potential
routes
of
a
vehicular
UE.'
description
:
'
Request
the
predicted
QoS
correspondent
to
potential
routes
of
a
vehicular
UE.'
operationId
:
predicted_qosPOST
requestBody
:
required
:
true
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/PredictedQos'
responses
:
'
200'
:
description
:
'
The
response
body
shall
contain
the
predicted
QoS
corresponding
to
potential
routes
of
a
vehicular
UE'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/PredictedQos'
'
400'
:
$ref
:
'
#/components/responses/400'
'
401'
:
$ref
:
'
#/components/responses/401'
'
403'
:
$ref
:
'
#/components/responses/403'
'
404'
:
$ref
:
'
#/components/responses/404'
/publish_v2x_message
:
post
:
tags
:
-
'
V2X_msg'
summary
:
'
Used
to
publish
a
V2X
message.'
description
:
'
Used
to
publish
a
V2X
message.'
operationId
:
v2x_messagePOST
requestBody
:
required
:
true
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/V2xMsgPublication'
responses
:
'
204'
:
$ref
:
'
#/components/responses/204'
'
400'
:
$ref
:
'
#/components/responses/400'
'
401'
:
$ref
:
'
#/components/responses/401'
'
403'
:
$ref
:
'
#/components/responses/403'
'
404'
:
$ref
:
'
#/components/responses/404'
'
406'
:
$ref
:
'
#/components/responses/406'
'
429'
:
$ref
:
'
#/components/responses/429'
/subscriptions
:
get
:
tags
:
-
'
subscription'
summary
:
'
Request
information
about
the
subscriptions
for
this
requestor.'
description
:
'
Request
information
about
the
subscriptions
for
this
requestor.'
operationId
:
subGET
parameters
:
-
in
:
query
name
:
subscription_type
description
:
'
Query
parameter
to
filter
on
a
specific
subscription
type.
Permitted
values:
prov_chg_uu_uni:
provisioning
information
change
for
V2X
communication
over
Uuunicast
prov_chg_uu_mbms:
provisioning
information
change
for
V2X
communication
over
Uu
MBMS
prov_chg_uu_pc5:
provisioning
information
change
for
V2X
communication
over
PC5.
v2x_msg:
V2X
interoperability
message'
schema
:
type
:
string
required
:
false
responses
:
'
200'
:
description
:
'
A
response
body
containing
the
list
of
links
to
requestor
subscriptions
is
returned.'
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/SubscriptionLinkList'
'
400'
:
$ref
:
'
#/components/responses/400'
'
401'
:
$ref
:
'
#/components/responses/401'
'
403'
:
$ref
:
'
#/components/responses/403'
'
404'
:
$ref
:
'
#/components/responses/404'
'
406'
:
$ref
:
'
#/components/responses/406'
'
429'
:
$ref
:
'
#/components/responses/429'
post
:
tags
:
-
'
subscription'
summary
:
'
create
a
new
subscription
to
VIS
notifications.'
description
:
'
create
a
new
subscription
to
VIS
notifications.'
operationId
:
subPOST
requestBody
:
required
:
true
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/ProvChgUuUniSubscription'
-
$ref
:
'
#/components/schemas/ProvChgUuMbmsSubscription'
-
$ref
:
'
#/components/schemas/ProvChgPc5Subscription'
-
$ref
:
'
#/components/schemas/V2xMsgSubscription'
responses
:
'
201'
:
description
:
'
In
the
returned
NotificationSubscription
structure,
the
created
subscription
is
described
using
the
appropriate
data
type.'
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/ProvChgUuUniSubscription'
-
$ref
:
'
#/components/schemas/ProvChgUuMbmsSubscription'
-
$ref
:
'
#/components/schemas/ProvChgPc5Subscription'
-
$ref
:
'
#/components/schemas/V2xMsgSubscription'
'
400'
:
$ref
:
'
#/components/responses/400'
'
401'
:
$ref
:
'
#/components/responses/401'
'
403'
:
$ref
:
'
#/components/responses/403'
'
404'
:
$ref
:
'
#/components/responses/404'
'
406'
:
$ref
:
'
#/components/responses/406'
'
415'
:
$ref
:
'
#/components/responses/415'
'
422'
:
$ref
:
'
#/components/responses/422'
'
429'
:
$ref
:
'
#/components/responses/429'
callbacks
:
notification
:
'
{$request.body#/callbackReference}'
:
post
:
summary
:
'
Callback
POST
used
to
send
a
notification'
description
:
'
A
notification
from
VIS.'
operationId
:
notificationPOST
requestBody
:
description
:
Subscription notification
required
:
true
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/ProvChgUuUniNotification'
-
$ref
:
'
#/components/schemas/ProvChgUuMbmsNotification'
-
$ref
:
'
#/components/schemas/ProvChgPc5Notification'
-
$ref
:
'
#/components/schemas/V2xMsgNotification'
responses
:
'
204'
:
$ref
:
'
#/components/responses/204'
/subscriptions/{subscriptionId}
:
parameters
:
-
in
:
path
name
:
subscriptionId
description
:
'
Refers
to
created
subscription,
where
the
VIS
API
allocates
a
unique
resource
name
for
this
subscription'
schema
:
type
:
string
required
:
true
get
:
tags
:
-
'
subscription'
summary
:
'
Retrieve
information
about
this
subscription.'
description
:
'
Retrieve
information
about
this
subscription.'
operationId
:
individualSubscriptionGET
responses
:
'
200'
:
description
:
'
A
response
body
containing
the
data
type
describing
the
specific
RNI
event
subscription
is
returned'
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/ProvChgUuUniSubscription'
-
$ref
:
'
#/components/schemas/ProvChgUuMbmsSubscription'
-
$ref
:
'
#/components/schemas/ProvChgPc5Subscription'
-
$ref
:
'
#/components/schemas/V2xMsgSubscription'
'
400'
:
$ref
:
'
#/components/responses/400'
'
401'
:
$ref
:
'
#/components/responses/401'
'
403'
:
$ref
:
'
#/components/responses/403'
'
404'
:
$ref
:
'
#/components/responses/404'
'
406'
:
$ref
:
'
#/components/responses/406'
'
429'
:
$ref
:
'
#/components/responses/429'
put
:
tags
:
-
'
subscription'
summary
:
'
Used
to
update
the
existing
subscription.'
description
:
'
Used
to
update
the
existing
subscription.'
operationId
:
individualSubscriptionPUT
requestBody
:
required
:
true
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/ProvChgUuUniSubscription'
-
$ref
:
'
#/components/schemas/ProvChgUuMbmsSubscription'
-
$ref
:
'
#/components/schemas/ProvChgPc5Subscription'
-
$ref
:
'
#/components/schemas/V2xMsgSubscription'
responses
:
'
200'
:
description
:
'
A
response
body
containing
data
type
describing
the
updated
subscription
is
returned'
content
:
application/json
:
schema
:
oneOf
:
-
$ref
:
'
#/components/schemas/ProvChgUuUniSubscription'
-
$ref
:
'
#/components/schemas/ProvChgUuMbmsSubscription'
-
$ref
:
'
#/components/schemas/ProvChgPc5Subscription'
-
$ref
:
'
#/components/schemas/V2xMsgSubscription'
'
400'
:
$ref
:
'
#/components/responses/400'
'
401'
:
$ref
:
'
#/components/responses/401'
'
403'
:
$ref
:
'
#/components/responses/403'
'
404'
:
$ref
:
'
#/components/responses/404'
'
406'
:
$ref
:
'
#/components/responses/406'
'
412'
:
$ref
:
'
#/components/responses/412'
'
422'
:
$ref
:
'
#/components/responses/422'
'
429'
:
$ref
:
'
#/components/responses/429'
delete
:
tags
:
-
'
subscription'
summary
:
'
Used
to
cancel
the
existing
subscription.'
description
:
'
Used
to
cancel
the
existing
subscription.'
operationId
:
individualSubscriptionDELETE
responses
:
'
204'
:
$ref
:
'
#/components/responses/204'
'
401'
:
$ref
:
'
#/components/responses/401'
'
403'
:
$ref
:
'
#/components/responses/403'
'
404'
:
$ref
:
'
#/components/responses/404'
'
429'
:
$ref
:
'
#/components/responses/429'
# /notifitication_end_point_provided_by_client
#post:
components
:
schemas
:
CellId
:
properties
:
cellId
:
description
:
E-UTRAN Cell Identity as a bit string (size (28)).
type
:
string
x-etsi-mec-cardinality
:
'
1'
x-etsi-mec-origin-type
:
String
required
:
-
cellId
type
:
object
x-etsi-ref
:
6.6.2
Earfcn
:
properties
:
earfcn
:
description
:
E-UTRA Absolute Radio Frequency Channel Number, range (0... 65535)
type
:
integer
x-etsi-mec-cardinality
:
'
1'
x-etsi-mec-origin-type
:
Integer
required
:
-
earfcn
type
:
object
x-etsi-ref
:
6.6.3
Ecgi
:
properties
:
cellId
:
# description': The E-UTRAN Cell Identity.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': CellId
$ref
:
'
#/components/schemas/CellId'
plmn
:
# description': Public Land Mobile Network Identity.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': Plmn
$ref
:
'
#/components/schemas/Plmn'
required
:
-
plmn
-
cellId
type
:
object
x-etsi-ref
:
6.5.5
FddInfo
:
properties
:
dlEarfcn
:
# description': ''
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': Earfcn
$ref
:
'
#/components/schemas/Earfcn'
dlTransmissionBandwidth
:
# description': ''
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': TransmissionBandwidth
$ref
:
'
#/components/schemas/TransmissionBandwidth'
ulEarfcn
:
# description': ''
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': Earfcn
$ref
:
'
#/components/schemas/Earfcn'
ulTransmissionBandwidth
:
# description': ''
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': TransmissionBandwidth
$ref
:
'
#/components/schemas/TransmissionBandwidth'
required
:
-
ulEarfcn
-
dlEarfcn
-
ulTransmissionBandwidth
-
dlTransmissionBandwidth
type
:
object
x-etsi-ref
:
6.5.6
LocationInfo.geoArea
:
description
:
Information of a geographical area.
properties
:
latitude
:
description
:
'
Latitude
(DATUM
=
WGS84)
-90
to
90
in
decimal
degree
format
DDD.ddd'
format
:
Float
type
:
number
x-etsi-mec-cardinality
:
'
1'
x-etsi-mec-origin-type
:
Float
longitude
:
description
:
'
Longitude
(DATUM
=
WGS84)-180
to
180
in
decimal
degree
format
DDD.ddd'
format
:
Float
type
:
number
x-etsi-mec-cardinality
:
'
1'
x-etsi-mec-origin-type
:
Float
required
:
-
latitude
-
longitude
type
:
object
x-etsi-mec-cardinality
:
0..1
LocationInfo
:
properties
:
ecgi
:
# description': E-UTRAN CelI Global Identifier of the serving cell.
# x-etsi-mec-cardinality': 0..1
# x-etsi-mec-origin-type': Ecgi
$ref
:
'
#/components/schemas/Ecgi'
geoArea
:
$ref
:
'
#/components/schemas/LocationInfo.geoArea'
type
:
object
x-etsi-notes
:
"
NOTE:
\t
Either
ecgi
or
geoArea
shall
be
present,
but
not
both."
x-etsi-ref
:
6.5.3
Pc5NeighbourCellInfo
:
properties
:
ecgi
:
# description': E-UTRAN CelI Global Identifier.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': Ecgi
$ref
:
'
#/components/schemas/Ecgi'
plmn
:
# description': Public Land Mobile Network Identity.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': Plmn
$ref
:
'
#/components/schemas/Plmn'
siV2xConfig
:
description
:
V2X sidelink communication configuration, as defined in ETSI TS 136 331 [i.11].
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': SystemInformationBlockType21 (as defined in ETSI TS 136 331 [i.11])
type
:
string
required
:
-
plmn
-
ecgi
-
siV2xConfig
type
:
object
x-etsi-ref
:
6.5.12
Pc5ProvisioningInfo.proInfoPc5
:
description
:
The provisioning information per location as defined below.
properties
:
dstLayer2Id
:
description
:
"
For
sidelink
communication,
the
Destination
Layer-2
ID
is
set
to
the
ProSe
Layer-2
Group
ID
or
Prose
UE
ID,
see
ETSI
TS
\_
136
\_
321
[i.12].
\n
PLMN
operators
coordinate
to
make
sure
Destination
Layer-2
ID(s)
for
different
V2X
services
are
configured
in
a
consistent
manner."
type
:
string
x-etsi-mec-cardinality
:
'
1'
x-etsi-mec-origin-type
:
String
locationInfo
:
# description': Location information to identify a cell of a base station or a particular geographical area.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': LocationInfo
$ref
:
'
#/components/schemas/LocationInfo'
neighbourCellInfo
:
description
:
The information of the neighbour cells in a visiting PLMN that support V2X communication over PC5.
items
:
$ref
:
'
#/components/schemas/Pc5NeighbourCellInfo'
minItems
:
0
type
:
array
x-etsi-mec-cardinality
:
0..N
x-etsi-mec-origin-type
:
Pc5NeighbourCellInfo
required
:
-
locationInfo
-
dstLayer2Id
Pc5ProvisioningInfo
:
properties
:
proInfoPc5
:
type
:
array
items
:
$ref
:
'
#/components/schemas/Pc5ProvisioningInfo.proInfoPc5'
timeStamp
:
# description': Time stamp.
# x-etsi-mec-cardinality': 0..1
# x-etsi-mec-origin-type': TimeStamp
$ref
:
'
#/components/schemas/TimeStamp'
required
:
-
proInfoPc5
type
:
object
x-etsi-ref
:
6.2.4
Plmn
:
properties
:
mcc
:
description
:
The Mobile Country Code part of PLMN Identity.
type
:
string
x-etsi-mec-cardinality
:
'
1'
x-etsi-mec-origin-type
:
String
mnc
:
description
:
The Mobile Network Code part of PLMN Identity.
type
:
string
x-etsi-mec-cardinality
:
'
1'
x-etsi-mec-origin-type
:
String
required
:
-
mcc
-
mnc
type
:
object
x-etsi-ref
:
6.5.4
PredictedQos.routes.routeInfo
:
required
:
-
location
properties
:
location
: