| { |
| "apiVersion": "1.0.0", |
| "swagger": "2.0", |
| "basePath": "/", |
| "info": { |
| "x-audience": "external-partner", |
| "contact": { |
| "name": "Ericsson Software Technology", |
| "email": "nonrtric@est.tech" |
| }, |
| "description": "The O-RAN A1 Adapter provides an internal REST CONF API for management of A1 policices, useful for test and verification. <b>Note!</b> For production, the https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html should be used!", |
| "title": "A1 Adapter", |
| "version": "1.1.0" |
| }, |
| "paths": { |
| "/restconf/operations/A1-ADAPTER-API:putA1Policy": {"post": { |
| "summary": "Create or update a policy", |
| "description": "<b>Note!</b> For production, the https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html PUT /policy method should be used!", |
| "nickname": "putA1Policy", |
| "produces": "application/json", |
| "responses": { |
| "200": { |
| "schema": {"$ref": "#/models/(putA1Policy)output"}, |
| "description": "Policy created/updated", |
| "examples": { |
| "application/json": { |
| "A1-ADAPTER-API:body": {}, |
| "A1-ADAPTER-API:http-status": 200 |
| } |
| } |
| } |
| }, |
| "parameters": [ |
| { |
| "schema": {"$ref": "#/models/(putA1Policy)input"}, |
| "in": "body", |
| "name": null, |
| "description": null, |
| "required": false |
| } |
| ] |
| } |
| }, |
| "/operations/A1-ADAPTER-API:getA1Policy": {"post": { |
| "summary": "Get policy configuration/s", |
| "description": "<b>Note!</b> For production, the https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html GET /policy method should be used!", |
| "nickname": "getA1Policy", |
| "produces": "application/json", |
| "responses": { |
| "200": { |
| "schema": {"$ref": "#/models/(getA1Policy)output"}, |
| "description": "Policy found", |
| "examples": { |
| "application/json": { |
| "A1-ADAPTER-API:body": { |
| "id": "Policy 1", |
| "json": { |
| "scope": { |
| "ueId": "UE1 ", |
| "cellId": "Cell 1" |
| }, |
| "qosObjectives": { |
| "gfbr": 319.5, |
| "mfbr": 782.75, |
| "priorityLevel": 268.5, |
| "pdb": 44.0 |
| }, |
| "qoeObjectives": { |
| "qoeScore": 329.0, |
| "initialBuffering": 27.75, |
| "reBuffFreq": 539.0, |
| "stallRatio": 343.0 |
| }, |
| "resources": [] |
| }, |
| "ownerServiceName": "Service 1", |
| "ric": "ric1", |
| "type": "STD_PolicyModelUnconstrained_0.2.0", |
| "lastModified": "Wed, 01 Apr 2020 07:45:45 GMT" |
| }, |
| "A1-ADAPTER-API:http-status": 200 |
| } |
| } |
| } |
| }, |
| "parameters": [ |
| { |
| "schema": {"$ref": "#/models/(getA1Policy)input"}, |
| "in": "body", |
| "name": null, |
| "description": null, |
| "required": false |
| } |
| ] |
| } |
| }, |
| "/restconf/operations/A1-ADAPTER-API:getA1PolicyStatus": {"post": { |
| "summary": "Get a policy status", |
| "description": "<b>Note!</b> For production, the https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html GET /policy-status method should be used!", |
| "nickname": "getA1PolicyStatus", |
| "produces": "application/json", |
| "responses": { |
| "200": { |
| "schema": {"$ref": "#/models/(getA1PolicyStatus)output"}, |
| "description": "Policy status", |
| "examples": { |
| "application/json": { |
| "A1-ADAPTER-API:body": { |
| "enforceStatus": "UNDEFINED" |
| }, |
| "A1-ADAPTER-API:http-status": 200 |
| } |
| } |
| } |
| }, |
| "parameters": [ |
| { |
| "schema": {"$ref": "#/models/(getA1PolicyStatus)input"}, |
| "in": "body", |
| "name": null, |
| "description": null, |
| "required": false |
| } |
| ] |
| } |
| }, |
| "/restconf/operations/A1-ADAPTER-API:getA1PolicyType": {"post": { |
| "summary": "Get a policy type schema definition", |
| "description": "<b>Note!</b> For production, the https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html GET /policy-types method should be used!", |
| "nickname": "getA1PolicyType", |
| "produces": "application/json", |
| "responses": { |
| "200": { |
| "schema": {"$ref": "#/models/(getA1PolicyType)output"}, |
| "description": "Policy schema", |
| "examples": { |
| "application/json": { |
| "A1-ADAPTER-API:body": { |
| "$schema": "http://json-schema.org/draft-07/schema#", |
| "title": "Example_QoETarget_1.0.0", |
| "description": "Example QoE Target policy type", |
| "type": "object", |
| "properties": { |
| "scope": { |
| "type": "object", |
| "properties": { |
| "ueId": { |
| "type": "string" |
| }, |
| "sliceId": { |
| "type": "string" |
| }, |
| "qosId": { |
| "type": "string" |
| }, |
| "cellId": { |
| "type": "string" |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "ueId", |
| "sliceId" |
| ] |
| }, |
| "statement": { |
| "type": "object", |
| "properties": { |
| "qoeScore": { |
| "type": "number" |
| }, |
| "initialBuffering": { |
| "type": "number" |
| }, |
| "reBuffFreq": { |
| "type": "number" |
| }, |
| "stallRatio": { |
| "type": "number" |
| } |
| }, |
| "minProperties": 1, |
| "additionalProperties": false |
| } |
| } |
| }, |
| "A1-ADAPTER-API:http-status": 200 |
| } |
| } |
| } |
| }, |
| "parameters": [ |
| { |
| "schema": {"$ref": "#/models/(getA1PolicyType)input"}, |
| "in": "body", |
| "name": null, |
| "description": null, |
| "required": false |
| } |
| ] |
| } |
| }, |
| "/restconf/operations/A1-ADAPTER-API:deleteA1Policy": {"post": { |
| "summary": "Delete a policy", |
| "description": "<b>Note!</b> For production, the https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html DELETE /policy method should be used!", |
| "nickname": "deleteA1Policy", |
| "produces": "application/json", |
| "responses": { |
| "200": { |
| "schema": {"$ref": "#/models/(deleteA1Policy)output"}, |
| "description": "Policy deleted", |
| "examples": { |
| "application/json": { |
| "A1-ADAPTER-API:body": {}, |
| "A1-ADAPTER-API:http-status": 200 |
| } |
| } |
| } |
| }, |
| "parameters": [ |
| { |
| "schema": {"$ref": "#/models/(deleteA1Policy)input"}, |
| "in": "body", |
| "name": null, |
| "description": null, |
| "required": false |
| } |
| ] |
| } |
| } |
| }, |
| "models": { |
| "(putA1Policy)input": { |
| "$schema": "http://json-schema.org/draft-04/schema", |
| "type": "object", |
| "properties": { |
| "A1-ADAPTER-API:near-rt-ric-url": { |
| "required": false, |
| "type": "Some near-rt-ric-url", |
| "example": "http://nearRtRic-sim1:8085/a1-p/policytypes/11/policies/5000" |
| }, |
| "A1-ADAPTER-API:body": { |
| "required": false, |
| "type": "Some body", |
| "example": { |
| "blocking_rate":20, |
| "enforce":true, |
| "trigger_threshold":10, |
| "window_length":10 |
| } |
| } |
| }, |
| "id": "(putA1Policy)input" |
| }, |
| "(putA1Policy)output": { |
| "$schema": "http://json-schema.org/draft-04/schema", |
| "type": "object", |
| "properties": { |
| "A1-ADAPTER-API:body": { |
| "required": false, |
| "type": "Some body" |
| }, |
| "A1-ADAPTER-API:http-status": { |
| "required": false, |
| "type": "-2147483648" |
| } |
| }, |
| "id": "(putA1Policy)output" |
| }, |
| "(getA1Policy)input": { |
| "$schema": "http://json-schema.org/draft-04/schema", |
| "type": "object", |
| "properties": { |
| "A1-ADAPTER-API:near-rt-ric-url": { |
| "required": false, |
| "type": "Some near-rt-ric-url", |
| "example": "http://localhost:8081/policy?id=Policy 1" |
| } |
| }, |
| "id": "(getA1Policy)input" |
| }, |
| "(getA1Policy)output": { |
| "$schema": "http://json-schema.org/draft-04/schema", |
| "type": "object", |
| "properties": { |
| "A1-ADAPTER-API:body": { |
| "required": false, |
| "type": "object" }, |
| "A1-ADAPTER-API:http-status": { |
| "required": false, |
| "type": "-2147483648" |
| } |
| }, |
| "id": "(getA1Policy)output" |
| }, |
| "(getA1PolicyStatus)input": { |
| "$schema": "http://json-schema.org/draft-04/schema", |
| "type": "object", |
| "properties": { |
| "A1-ADAPTER-API:near-rt-ric-url": { |
| "required": false, |
| "type": "Some near-rt-ric-url", |
| "example": "http://ricsim_g2_1:8085/A1-P/v1/policies/5000/status" |
| } |
| }, |
| "id": "(getA1PolicyStatus)input" |
| }, |
| "(getA1PolicyStatus)output": { |
| "$schema": "http://json-schema.org/draft-04/schema", |
| "type": "object", |
| "properties": { |
| "A1-ADAPTER-API:body": { |
| "required": false, |
| "type": "Some body" |
| }, |
| "A1-ADAPTER-API:http-status": { |
| "required": false, |
| "type": "-2147483648" |
| } |
| }, |
| "id": "(getA1PolicyStatus)output" |
| }, |
| "(getA1PolicyType)input": { |
| "$schema": "http://json-schema.org/draft-04/schema", |
| "type": "object", |
| "properties": { |
| "A1-ADAPTER-API:near-rt-ric-url": { |
| "required": false, |
| "type": "Some near-rt-ric-url", |
| "example": "http://nearRtRic-sim1:8085/a1-p/policytypes/11" |
| } |
| }, |
| "id": "(getA1PolicyType)input" |
| }, |
| "(getA1PolicyType)output": { |
| "$schema": "http://json-schema.org/draft-04/schema", |
| "type": "object", |
| "properties": { |
| "A1-ADAPTER-API:body": { |
| "required": false, |
| "type": "Some body" |
| }, |
| "A1-ADAPTER-API:http-status": { |
| "required": false, |
| "type": "-2147483648" |
| } |
| }, |
| "id": "(getA1PolicyType)output" |
| }, |
| "(deleteA1Policy)input": { |
| "$schema": "http://json-schema.org/draft-04/schema", |
| "type": "object", |
| "properties": { |
| "A1-ADAPTER-API:near-rt-ric-url": { |
| "required": false, |
| "type": "Some near-rt-ric-url", |
| "example": "http://localhost:8282/restconf/operations/A1-ADAPTER-API:deleteA1Policy" |
| } |
| }, |
| "id": "(deleteA1Policy)input" |
| }, |
| "(deleteA1Policy)output": { |
| "$schema": "http://json-schema.org/draft-04/schema", |
| "type": "object", |
| "properties": { |
| "A1-ADAPTER-API:body": { |
| "required": false, |
| "type": "Some body" |
| }, |
| "A1-ADAPTER-API:http-status": { |
| "required": false, |
| "type": "-2147483648" |
| } |
| }, |
| "id": "(deleteA1Policy)output" |
| } |
| } |
| } |