Commit e519a6e9 authored by Walter Featherstone's avatar Walter Featherstone
Browse files

Added YAML & JSON from MEC(17)000363



Change-Id: Ia28761483b69a9b054ec709997e7beeb9132e446
Signed-off-by: Walter Featherstone's avatarfeatherstone <walter.featherstone@viavisolutions.com>
parent f14c8a6d
swagger: '2.0'
info:
description: >-
An initial attempt to describe the MEC Bandwidth Management API using
OpenAPI
version: 0.3.3
title: Bandwidth Management API
termsOfService: TBD
contact:
name: TBD
url: TBD
license:
name: ETSI MEC
url: TBD
externalDocs:
description: ETSI MEC015 V0.3.3 Bandwidth Management API
url: 'https://docbox.etsi.org/ISG/MEC/70-Draft/0015BandMngtAPI'
host: '127.0.0.1:8081'
basePath: /bwm/v1
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
security:
- OauthSecurity:
- all
securityDefinitions:
OauthSecurity:
type: oauth2
flow: application
tokenUrl: 'https://oauth.exampleAPI/token'
scopes:
all: Single oauth2 scope for API
parameters:
Body.BwInfo:
name: bwInfo
in: body
description: >-
BwInfo with updated information is included as entity body of the request
required: true
schema:
$ref: '#/definitions/BwInfo'
Body.BwInfoDeltas:
name: bwInfoDeltas
in: body
description: >-
Description of the changes to instruct the server how to modify the resource representation.
required: true
schema:
$ref: '#/definitions/BwInfoDeltas'
Path.AllocationId:
name: allocationId
in: path
description: >-
Represents a bandwidth allocation instance
required: true
type: string
Query.AppInstanceId:
name: app_instance_id
in: query
description: >-
A mobile edge application instance may use multiple app_instance_ids as an input parameter to query the bandwidth allocation of a list of mobile edge application instances.
required: false
type: array
items:
type: string
Query.AppName:
name: app_name
in: query
description: >-
A mobile edge application instance may use multiple ser_names as an input parameter to query the bandwidth allocation of a list of mobile edge application instances.
required: false
type: array
items:
type: string
Query.SessionId:
name: session_id
in: query
description: >-
A mobile edge application instance may use session_id as an input parameter to query the bandwitdth allocation of a list of sessions.
required: false
type: array
items:
type: string
paths:
/bw_allocations:
get:
description: >-
This method retrieves information about a list of bandwidthAllocation resources
produces:
- application/json
parameters:
- $ref: '#/parameters/Query.AppInstanceId'
- $ref: '#/parameters/Query.AppName'
- $ref: '#/parameters/Query.SessionId'
responses:
'200':
description: >-
Upon success, a response body containing an array of the bandwidthAllocations is returned.
schema:
required:
- bwInfo
properties:
bwInfo:
$ref: '#/definitions/BwInfo'
'400':
description: It is used to indicate that incorrect parameters were passed to 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: >-
It is used when a client provided a URI that cannot be mapped to a valid resource URI. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
schema:
properties:
ProblemDetails:
$ref: '#/definitions/ProblemDetails'
post:
description: >-
This method is used to create a bandwidthAllocation resource.
produces:
- application/json
parameters:
- $ref: '#/parameters/Body.BwInfo'
responses:
'201':
description: >-
Upon success, the HTTP response shall include a "Location" HTTP header that contains the resource URI of the created resource.
schema:
required:
- bwInfo
properties:
bwInfo:
$ref: '#/definitions/BwInfo'
'400':
description: It is used to indicate that incorrect parameters were passed to 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: >-
TIt is used when a client provided a URI that cannot be mapped to a valid resource URI. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
schema:
properties:
ProblemDetails:
$ref: '#/definitions/ProblemDetails'
/bw_allocations/{allocationId}:
get:
description: >-
This method retrieves information about a a bandwidthAllocation resource.
produces:
- application/json
parameters:
- $ref: '#/parameters/Path.AllocationId'
responses:
'200':
description: >-
It is used to indicate nonspecific success. The response body contains a representation of the resource.
schema:
required:
- bwInfo
properties:
bwInfo:
$ref: '#/definitions/BwInfo'
'400':
description: It is used to indicate that incorrect parameters were passed to 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 shall be provided in the "detail" attribute of the "ProblemDetails" structure.
required:
- ProblemDetails
properties:
ProblemDetails:
$ref: '#/definitions/ProblemDetails'
'404':
description: >-
It is used when a client provided a URI that cannot be mapped to a valid resource URI. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
schema:
properties:
ProblemDetails:
$ref: '#/definitions/ProblemDetails'
put:
description: >-
This method updates the information about a bandwidthAllocation resource.
produces:
- application/json
parameters:
- $ref: '#/parameters/Path.AllocationId'
- $ref: '#/parameters/Body.BwInfo'
responses:
'200':
description: >-
Upon success, a response body containing data type describing the updated BwInfo is returned.
schema:
required:
- bwInfo
properties:
bwInfo:
$ref: '#/definitions/BwInfo'
'400':
description: It is used to indicate that incorrect parameters were passed to 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 shall be provided in the "detail" attribute of the "ProblemDetails" structure.
schema:
required:
- ProblemDetails
properties:
ProblemDetails:
$ref: '#/definitions/ProblemDetails'
'404':
description: >-
It is used when a client provided a URI that cannot be mapped to a valid resource URI. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
schema:
properties:
ProblemDetails:
$ref: '#/definitions/ProblemDetails'
'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.
schema:
properties:
ProblemDetails:
$ref: '#/definitions/ProblemDetails'
patch:
description: >-
This method updates the information about a bandwidthAllocation resource.
produces:
- application/json
parameters:
- $ref: '#/parameters/Path.AllocationId'
- $ref: '#/parameters/Body.BwInfoDeltas'
responses:
'200':
description: >-
Upon success, a response body containing data type describing the updated BwInfo is returned.
schema:
required:
- bwInfo
properties:
bwInfo:
$ref: '#/definitions/BwInfo'
'400':
description: It is used to indicate that incorrect parameters were passed to 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 shall be provided in the "detail" attribute of the "ProblemDetails" structure.
schema:
required:
- ProblemDetails
properties:
ProblemDetails:
$ref: '#/definitions/ProblemDetails'
'404':
description: >-
It is used when a client provided a URI that cannot be mapped to a valid resource URI. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
schema:
properties:
ProblemDetails:
$ref: '#/definitions/ProblemDetails'
'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.
schema:
properties:
ProblemDetails:
$ref: '#/definitions/ProblemDetails'
delete:
description: DELETE method is typically used in "Unregister from Bandwidth Management Service " procedure
produces:
- application/json
parameters:
- $ref: '#/parameters/Path.AllocationId'
responses:
'204':
description: No Content
'403':
description: >-
The operation is not allowed given the current status of the resource. More information shall be provided in the "detail" attribute of the "ProblemDetails" structure.
schema:
required:
- ProblemDetails
properties:
ProblemDetails:
$ref: '#/definitions/ProblemDetails'
'404':
description: >-
It is used when a client provided a URI that cannot be mapped to a valid resource URI. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
schema:
properties:
ProblemDetails:
$ref: '#/definitions/ProblemDetails'
definitions:
ProblemDetails:
type: object
properties:
type:
$ref: '#/definitions/Problem.type'
title:
$ref: '#/definitions/Problem.title'
status:
$ref: '#/definitions/Problem.status'
detail:
$ref: '#/definitions/Problem.detail'
instance:
$ref: '#/definitions/Problem.instance'
Problem.type:
type: string
format: uri
description: >-
A URI reference according to IETF RFC 3986 that identifies the problem
type
Problem.title:
type: string
description: 'A short, human-readable summary of the problem type'
Problem.status:
type: integer
format: uint32
description: The HTTP status code for this occurrence of the problem
Problem.detail:
type: string
description: A human-readable explanation specific to this occurrence of the problem
Problem.instance:
type: string
format: uri
description: A URI reference that identifies the specific occurrence of the problem
BwInfo:
description: information of bandwidth resource
type: object
required:
- appInsId
- requestType
- fixedAllocation
- allocationDirection
properties:
timeStamp:
$ref: '#/definitions/TimeStamp'
appInsId:
$ref: '#/definitions/AppInsId'
requestType:
$ref: '#/definitions/RequestType'
sessionFilter:
$ref: '#/definitions/SessionFilter'
fixedBWPriority:
$ref: '#/definitions/FixedBWPriority'
fixedAllocation:
$ref: '#/definitions/FixedAllocation'
allocationDirection:
$ref: '#/definitions/AllocationDirection'
BwInfoDeltas:
description: Conform to JSON merge patch format and processing rules specified IETF RFC 7396 [8], this type represents the attributes whose value are allowed to be updated with HTTP PATCH method in content format JSON
type: object
properties:
appInsId:
$ref: '#/definitions/AppInsId'
requestType:
$ref: '#/definitions/RequestType'
sessionFilter:
$ref: '#/definitions/SessionFilter'
fixedBWPriority:
$ref: '#/definitions/FixedBWPriority'
fixedAllocation:
$ref: '#/definitions/FixedAllocation'
allocationDirection:
$ref: '#/definitions/AllocationDirection'
TimeStamp:
type: object
required:
- seconds
- nanoSeconds
properties:
seconds:
$ref: '#/definitions/Seconds'
nanoSeconds:
$ref: '#/definitions/NanoSeconds'
AppInsId:
description: >-
application instance identifier
type: string
RequestType:
type: string
enum:
- APPLICATION_SPECIFIC_BW_ALLOCATION
- SESSION_SPECIFIC_BW_ALLOCATION
SessionFilter:
description: >-
Session filtering criteria, applicable whenWhen requestType is from type session specific:set as SESSION_SPECIFIC_BW_ALLOCATION Session filtering criteria. Any filtering criteria should suite shall define a single session only. In case multiple sessions match sessionFilterof suitable multiple sessions the request should shall be rejected
type: array
items:
type: object
properties:
sourceIp:
$ref: '#/definitions/SourceIp'
sourcePort:
$ref: '#/definitions/SourcePort'
dstAddress:
$ref: '#/definitions/DstAddress'
dstPort:
$ref: '#/definitions/DstPort'
protocol:
$ref: '#/definitions/Protocol'
FixedBWPriority:
description: >-
Indicates the allocation priority when dealing with several applications or sessions in parallel. Values are not defined in the present document
type: string
enum:
- not defined in the present document
FixedAllocation:
description: >-
Size of requested fixed BW allocation in [bps]
type: string
AllocationDirection:
description: >-
The direction of the requested BW allocation
type: string
enum:
- 00 = Downlink (towards the UE)
- 01 = Uplink (towards the application/session)
- 10 = symmetrical
Seconds:
description: >-
The seconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
type: integer
format: uint32
NanoSeconds:
description: >-
Time in nanoseconds in Unix-time since January 1, 1970, 00:00:00 UTC
type: integer
format: uint32
SourceIp:
description: >-
Source address identity of session (including range)
type: string
SourcePort:
description: >-
Source port identity of session
type: array
items:
type: string
DstAddress:
description: >-
Destination address identity of session (including range)
type: string
DstPort:
description: >-
Destination port identity of session
type: array
items:
type: string
Protocol:
description: >-
Protocol number
type: string
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment