From e519a6e9351ada134b2c2d33847c3d0e0749f826 Mon Sep 17 00:00:00 2001 From: featherstone Date: Tue, 18 Jul 2017 11:12:11 +0100 Subject: [PATCH] Added YAML & JSON from MEC(17)000363 Change-Id: Ia28761483b69a9b054ec709997e7beeb9132e446 Signed-off-by: featherstone --- BwManagementApi.yaml | 490 ++++++++++++++++++++++++++++++ BwManagementApiI.json | 677 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1167 insertions(+) create mode 100644 BwManagementApi.yaml create mode 100644 BwManagementApiI.json diff --git a/BwManagementApi.yaml b/BwManagementApi.yaml new file mode 100644 index 0000000..cebef63 --- /dev/null +++ b/BwManagementApi.yaml @@ -0,0 +1,490 @@ +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 + diff --git a/BwManagementApiI.json b/BwManagementApiI.json new file mode 100644 index 0000000..711e578 --- /dev/null +++ b/BwManagementApiI.json @@ -0,0 +1,677 @@ +{ + "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:\n - ProblemDetails\nproperties:\n ProblemDetails:\n $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" + } + } +} -- GitLab