blob: 12951279889de75267c6b08faf32acebe88ffdec [file] [log] [blame]
{
"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"
}
}
}