The simulator supports different versions of the A1 interface. Some functions are common for all version, and some are
specific for a certain version.
-.. contents:: Operations
- :depth: 4
- :local:
-
Common Functions
================
GET
+++
- Returns the status of the simulator.
+Returns the status of the simulator.
- **URL path:**
- /
+**URL path:**
+ /
- **Parameters:**
+**Parameters:**
+ None.
- None.
+**Responses:**
+ 200:
+ Simulator is living.
- **Responses:**
+**Examples:**
- 200:
- Simulator is living.
+**Call**: ::
- **Examples:**
+ curl -X GET "http://localhost:8085/"
- Call: ::
+**Result**:
- curl -X GET "http://localhost:8085/"
+200: ::
- Result:
- 200
- Simulator is living (OSC_2.1.0 responds OK)
+ Simulator is living (OSC_2.1.0 responds OK)
Supported Interfaces
--------------------
GET
+++
- Returns the status of the simulator. (Not available for A1 Standard 1.1.3)
+Returns the status of the simulator. (Not available for A1 Standard 1.1.3)
+
+**URL path:**
+
+/container_interfaces
+
+**Parameters:**
- **URL path:**
- /container_interfaces
+None.
- **Parameters:**
+**Responses:**
- None.
+200:
+ List of supported interfaces.
- **Responses:**
+**Examples:**
- 200:
- List of supported interfaces.
+**Call**: ::
- **Examples:**
+ curl -X GET "http://localhost:8085/container_interfaces"
- Call: ::
- curl -X GET "http://localhost:8085/container_interfaces"
+**Result**:
- Result:
- 200
- 1.1.x-alpha.2 OSC_2.1.0 STD_1.1.3
+200: ::
+
+ 1.1.x-alpha.2 OSC_2.1.0 STD_1.1.3
Counters
--------
GET
+++
- Get a counter. Counter-name can be one of the following: 'num_instances', 'num_types' or 'interface'.
+Get a counter. Counter-name can be one of the following: 'num_instances', 'num_types' or 'interface'.
+
+**URL path:**
+
+/counter/{counter-name}
+
+**Parameters:**
+
+None.
- **URL path:**
- /counter/{counter-name}
+**Responses:**
- **Parameters:**
+200:
- None.
+The counter value for the given counter.
- **Responses:**
+**Examples:**
- 200:
- The counter value for the given counter.
+**Call**: ::
- **Examples:**
+ curl -X GET "http://localhost:8085/counter/num_instances"
- Call: ::
+**Result**:
- curl -X GET "http://localhost:8085/counter/num_instances"
+200: ::
- Result:
- 200
- 10
+ 10
Version Specific Functions
==========================
OSC_2.1.0
---------
-The available functions for the OSC_2.1.0 version of A1.
+This section describes the available administrative functions for the OSC_2.1.0 version of A1.
+
+To see the A1 functions for this version, see `OSC_2.1.0 API`_.
+
+.. _OSC_2.1.0 API: https://gerrit.o-ran-sc.org/r/gitweb?p=sim/a1-interface.git;a=blob;f=near-rt-ric-simulator/api/OSC_2.1.0/openapi.yaml
/deleteinstances
~~~~~~~~~~~~~~~~
POST
++++
- Delete all policy instances.
+Delete all policy instances.
+
+**URL path:**
+
+/deleteinstances
- **URL path:**
- /deleteinstances
+**Parameters:**
- **Parameters:**
+None.
- None.
+**Responses:**
- **Responses:**
+200:
- 200:
- All policy instances deleted.
+All policy instances deleted.
- **Examples:**
+**Examples:**
- Call: ::
+**Call**: ::
- curl -X POST "http://localhost:8085/deleteinstances"
+ curl -X POST "http://localhost:8085/deleteinstances"
- Result:
- 200
- All policy instances deleted.
+**Result**:
+
+200: ::
+
+ All policy instances deleted.
/deleteall
~~~~~~~~~~~~~~~~
POST
++++
- Full reset.
+Full reset.
+
+**URL path:**
+
+/deleteall
+
+**Parameters:**
+
+None.
- **URL path:**
- /deleteall
+**Responses:**
- **Parameters:**
+200:
- None.
+All policy instances and types deleted.
- **Responses:**
+**Examples:**
- 200:
- All policy instances and types deleted.
+ **Call**: ::
- **Examples:**
+ curl -X POST "http://localhost:8085/deleteall"
- Call: ::
+**Result**:
- curl -X POST "http://localhost:8085/deleteall"
+200: ::
- Result:
- 200
- All policy instances and types deleted.
+ All policy instances and types deleted.
/policytype
~~~~~~~~~~~
PUT
+++
- Create a policy type.
+Create a policy type.
- **URL path:**
- /policytype?id=<policy-type-id>
+**URL path:**
- **Parameters:**
+/policytype?id=<policy-type-id>
- id: (*Required*)
- The ID of the policy type.
+**Parameters:**
- **Body:** (*Required*)
- A JSON object containing the schema for the type.
+id: (*Required*)
- **Responses:**
+The ID of the policy type.
- 200:
- Policy type <policy-type-id> is OK.
+**Body:** (*Required*)
- 201:
- Policy type <policy-type-id> is OK.
+A JSON object containing the schema for the type.
- **Examples:**
+**Responses:**
- Call: ::
+200:
- curl -X PUT "http://localhost:8085/policytype?id=Policy%201&ric=ric1&service=Service%201&type=STD_PolicyModelUnconstrained_0.2.0"
- -H "Content-Type: application/json"
- -d "
- {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "title": "STD_PolicyModelUnconstrained_0.2.0",
- "description": "Standard model of a policy with unconstrained scope id combinations",
- "type": "object",
- "properties": {
- "scope": {
- "type": "object",
- "properties": {
- "ueId": {"type": "string"},
- "groupId": {"type": "string"},
- "sliceId": {"type": "string"},
- "qosId": {"type": "string"},
- "cellId": {"type": "string"}
- },
- "minProperties": 1,
- "additionalProperties": false
+Policy type <policy-type-id> is OK.
+
+201:
+
+Policy type <policy-type-id> is OK.
+
+**Examples:**
+
+**Call**: ::
+
+ curl -X PUT "http://localhost:8085/policytype?id=Policy%201&ric=ric1&service=Service%201&type=STD_PolicyModelUnconstrained_0.2.0"
+ -H "Content-Type: application/json"
+ -d '{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "STD_PolicyModelUnconstrained_0.2.0",
+ "description": "Standard model of a policy with unconstrained scope id combinations",
+ "type": "object",
+ "properties": {
+ "scope": {
+ "type": "object",
+ "properties": {
+ "ueId": {"type": "string"},
+ "groupId": {"type": "string"},
+ "sliceId": {"type": "string"},
+ "qosId": {"type": "string"},
+ "cellId": {"type": "string"}
},
- "qosObjectives": {
- "type": "object",
- "properties": {
- "gfbr": {"type": "number"},
- "mfbr": {"type": "number"},
- "priorityLevel": {"type": "number"},
- "pdb": {"type": "number"}
- },
- "additionalProperties": false
+ "minProperties": 1,
+ "additionalProperties": false
+ },
+ "qosObjectives": {
+ "type": "object",
+ "properties": {
+ "gfbr": {"type": "number"},
+ "mfbr": {"type": "number"},
+ "priorityLevel": {"type": "number"},
+ "pdb": {"type": "number"}
},
- "qoeObjectives": {
+ "additionalProperties": false
+ },
+ "qoeObjectives": {
+ "type": "object",
+ "properties": {
+ "qoeScore": {"type": "number"},
+ "initialBuffering": {"type": "number"},
+ "reBuffFreq": {"type": "number"},
+ "stallRatio": {"type": "number"}
+ },
+ "additionalProperties": false
+ },
+ "resources": {
+ "type": "array",
+ "items": {
"type": "object",
"properties": {
- "qoeScore": {"type": "number"},
- "initialBuffering": {"type": "number"},
- "reBuffFreq": {"type": "number"},
- "stallRatio": {"type": "number"}
- },
- "additionalProperties": false
- },
- "resources": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "cellIdList": {
- "type": "array",
- "minItems": 1,
- "uniqueItems": true,
- "items": {
- "type": "string"
- }
- },
- "preference": {
- "type": "string",
- "enum": [
- "SHALL",
- "PREFER",
- "AVOID",
- "FORBID"
- ]
- },
- "primary": {"type": "boolean"}
+ "cellIdList": {
+ "type": "array",
+ "minItems": 1,
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "preference": {
+ "type": "string",
+ "enum": [
+ "SHALL",
+ "PREFER",
+ "AVOID",
+ "FORBID"
+ ]
},
- "additionalProperties": false,
- "required": ["cellIdList", "preference"]
- }
+ "primary": {"type": "boolean"}
+ },
+ "additionalProperties": false,
+ "required": ["cellIdList", "preference"]
}
- },
- "minProperties": 2,
- "additionalProperties": false,
- "required": ["scope"]
- }
- "
+ }
+ },
+ "minProperties": 2,
+ "additionalProperties": false,
+ "required": ["scope"]
+ }'
+
+**Result**:
- Result:
- 201
- Policy type STD_PolicyModelUnconstrained_0.2.0 is OK
+201: ::
+
+ Policy type STD_PolicyModelUnconstrained_0.2.0 is OK
DELETE
++++++
- Delete a policy type.
+Delete a policy type.
+
+**URL path:**
+
+/policytype?id=<policy-type-id>
+
+**Parameters:**
+
+id: (*Required*)
- **URL path:**
- /policytype?id=<policy-type-id>
+The ID of the policy type.
- **Parameters:**
+**Responses:**
- id: (*Required*)
- The ID of the policy type.
+204:
- **Responses:**
+Policy type <policy-type-id> is OK.
- 204:
- Policy type <policy-type-id> is OK.
+**Examples:**
- **Examples:**
+**Call**: ::
- Call: ::
+ curl -X DELETE "http://localhost:8085/policytype?id=Policy%201&ric=ric1&service=Service%201&type=STD_PolicyModelUnconstrained_0.2.0"
- curl -X DELETE "http://localhost:8085/policytype?id=Policy%201&ric=ric1&service=Service%201&type=STD_PolicyModelUnconstrained_0.2.0"
+**Result**:
- Result:
- 204
- Policy type STD_PolicyModelUnconstrained_0.2.0 is OK
+204: ::
+
+ Policy type STD_PolicyModelUnconstrained_0.2.0 is OK
/policytypes
~~~~~~~~~~~~
GET
+++
- Get a list of policy types.
+Get a list of policy types.
+
+**URL path:**
+
+/policytypes
+
+**Parameters:**
- **URL path:**
- /policytypes
+None.
- **Parameters:**
+**Responses:**
- None.
+200:
- **Responses:**
+A list of policy types.
- 200:
- A list of policy types.
+**Examples:**
- **Examples:**
+**Call**: ::
- Call: ::
+ curl -X GET "http://localhost:8085/policytypes"
- curl -X GET "http://localhost:8085/policytypes"
+**Result**:
- Result:
- 200
- STD_PolicyModelUnconstrained_0.2.0
+200: ::
+
+ STD_PolicyModelUnconstrained_0.2.0
/forceresponse
~~~~~~~~~~~~~~
POST
++++
- Force a specific response code for an A1 operation.
+Force a specific response code for an A1 operation.
+
+**URL path:**
+
+/forceresponse?responsecode=<http-response-code>
+
+**Parameters:**
- **URL path:**
- /forceresponse?responsecode=<http-response-code>
+responsecode: (*Required*)
- **Parameters:**
+The HTTP response code to return.
- responsecode: (*Required*)
- The HTTP response code to return.
+**Responses:**
- **Responses:**
+200:
- 200:
- Force response code: <expected code> set for one single A1 response
+Force response code: <expected code> set for one single A1 response
- **Examples:**
+**Examples:**
- Call: ::
+**Call**: ::
- curl -X POST "http://localhost:8085/forceresponse?responsecode=400"
+ curl -X POST "http://localhost:8085/forceresponse?responsecode=400"
- Result:
- 200
- Force response code: 400 set for one single A1 response
+**Result**:
+
+200: ::
+
+ Force response code: 400 set for one single A1 response
/forcedelay
~~~~~~~~~~~
POST
++++
- Force delayed response of all A1 operations.
+Force delayed response of all A1 operations.
+
+**URL path:**
+
+/forcedelay?delay=<delay-time-seconds>
+
+**Parameters:**
- **URL path:**
- /forcedelay?delay=<delay-time-seconds>
+delay: (*Required*)
- **Parameters:**
+The time in seconds to delay all responses.
- delay: (*Required*)
- The time in seconds to delay all responses.
+**Responses:**
- **Responses:**
+200:
- 200:
- Force delay: <expected delay> sec set for all A1 responses
+Force delay: <expected delay> sec set for all A1 responses
- **Examples:**
+**Examples:**
- Call: ::
+**Call**: ::
- curl -X POST "http://localhost:8085/forcedelay?delay=2"
+ curl -X POST "http://localhost:8085/forcedelay?delay=2"
- Result:
- 200
- Force delay: 2 sec set for all A1 responses
+**Result**:
+
+200: ::
+
+ Force delay: 2 sec set for all A1 responses
/status
~~~~~~~
PUT
+++
- Set status and optional reason, delete and time stamp.
+Set status and optional reason, delete and time stamp.
+
+**URL path:**
+
+/status?policyid=<policyid>&status=<status>&deleted=<value>&created_at=<time-stamp>
+
+**Parameters:**
- **URL path:**
- /status?policyid=<policyid>&status=<status>&deleted=<value>&created_at=<time-stamp>
+policyid: (*Required*)
- **Parameters:**
+The ID of a policy.
- policyid: (*Required*)
- The ID of a policy.
+status: (*Required*)
- status: (*Required*)
- The status of a policy.
+The status of a policy.
- deleted: (*Optional*)
- True or false for real values, but accepts anything for error testing.
+deleted: (*Optional*)
- created_at: (*Optional*)
- Time stamp for the status.
+True or false for real values, but accepts anything for error testing.
- **Responses:**
+created_at: (*Optional*)
- 200:
- Status set to <status> for policy <policy-id>
+Time stamp for the status.
- **Examples:**
+**Responses:**
- Call: ::
+200:
- curl -X PUT "http://localhost:8085/policyid=Policy1&status?status=Accepted
+Status set to <status> for policy <policy-id>
- Result:
- 200
- Status set to Accepted for policy Policy1.
+**Examples:**
+
+**Call**: ::
+
+ curl -X PUT "http://localhost:8085/policyid=Policy1&status?status=Accepted
+
+**Result**:
+
+200: ::
+
+ Status set to Accepted for policy Policy1.
A1 Standard 1.1.3
-----------------
-The available functions for the A1 Standard 1.1.3 version of A1.
+This section describes the available administrative functions for the A1 Standard 1.1.3 version of A1.
+
+To see the A1 functions for this version, see `A1 Standard 1.1.3 API`_.
+
+.. _A1 Standard 1.1.3 API: https://gerrit.o-ran-sc.org/r/gitweb?p=sim/a1-interface.git;a=blob;f=near-rt-ric-simulator/api/STD_1.1.3/STD_A1.yaml
/deleteinstances
~~~~~~~~~~~~~~~~
POST
++++
- Delete all policy instances.
+Delete all policy instances.
- **URL path:**
- /deleteinstances
+**URL path:**
+
+/deleteinstances
- **Parameters:**
+**Parameters:**
- None.
+None.
- **Responses:**
+**Responses:**
- 200:
- All policy instances deleted.
+200:
- **Examples:**
+All policy instances deleted.
- Call: ::
+**Examples:**
- curl -X POST "http://localhost:8085/deleteinstances"
+**Call**: ::
- Result:
- 200
- All policy instances deleted.
+ curl -X POST "http://localhost:8085/deleteinstances"
+
+**Result**:
+
+200: ::
+
+ All policy instances deleted.
/deleteall
~~~~~~~~~~
POST
++++
- Full reset.
+Full reset.
+
+**URL path:**
+
+/deleteinstances
+
+**Parameters:**
+
+None.
- **URL path:**
- /deleteinstances
+**Responses:**
- **Parameters:**
+200:
- None.
+All policy instances deleted.
- **Responses:**
+**Examples:**
- 200:
- All policy instances deleted.
+**Call**: ::
- **Examples:**
+ curl -X POST "http://localhost:8085/deleteall"
- Call: ::
+**Result**:
- curl -X POST "http://localhost:8085/deleteall"
+200: ::
- Result:
- 200
- All policy instances deleted.
+ All policy instances deleted.
/forceresponse
~~~~~~~~~~~~~~
POST
++++
- Force a specific response code for an A1 operation.
+Force a specific response code for an A1 operation.
+
+**URL path:**
+
+/forceresponse?responsecode=<http-response-code>
- **URL path:**
- /forceresponse?responsecode=<http-response-code>
+**Parameters:**
- **Parameters:**
+responsecode: (*Required*)
- responsecode: (*Required*)
- The HTTP response code to return.
+The HTTP response code to return.
- **Responses:**
+**Responses:**
- 200:
- Force response code: <expected code> set for one single A1 response
+200:
- **Examples:**
+Force response code: <expected code> set for one single A1 response
- Call: ::
+**Examples:**
- curl -X POST "http://localhost:8085/forceresponse?responsecode=400"
+**Call**: ::
- Result:
- 200
- Force response code: 400 set for one single A1 response
+ curl -X POST "http://localhost:8085/forceresponse?responsecode=400"
+
+**Result**:
+
+200: ::
+
+ Force response code: 400 set for one single A1 response
/forcedelay
~~~~~~~~~~~
POST
++++
- Force delayed response of all A1 operations.
+Force delayed response of all A1 operations.
+
+**URL path:**
+
+/forcedelay?delay=<delay-time-seconds>
- **URL path:**
- /forcedelay?delay=<delay-time-seconds>
+**Parameters:**
- **Parameters:**
+delay: (*Required*)
- delay: (*Required*)
- The time in seconds to delay all responses.
+The time in seconds to delay all responses.
- **Responses:**
+**Responses:**
- 200:
- Force delay: <expected delay> sec set for all A1 responses
+200:
- **Examples:**
+Force delay: <expected delay> sec set for all A1 responses
- Call: ::
+**Examples:**
- curl -X POST "http://localhost:8085/forcedelay?delay=2"
+**Call**: ::
- Result:
- 200
- Force delay: 2 sec set for all A1 responses
+ curl -X POST "http://localhost:8085/forcedelay?delay=2"
+
+**Result**:
+
+200: ::
+
+ Force delay: 2 sec set for all A1 responses
/status
~~~~~~~
PUT
+++
- Set status and optional reason, delete and time stamp.
+Set status and optional reason, delete and time stamp.
+
+**URL path:**
- **URL path:**
- /status?policyid=<policyid>&status=<status>&reason=<reason>
+/status?policyid=<policyid>&status=<status>&reason=<reason>
- **Parameters:**
+**Parameters:**
- policyid: (*Required*)
- The ID of a policy.
+policyid: (*Required*)
- status: (*Required*)
- The status of a policy.
+The ID of a policy.
- reason: (*Optional*)
- The reason for the status.
+status: (*Required*)
- **Responses:**
+The status of a policy.
- 200:
- Status set to <status> for policy <policy-id>
+reason: (*Optional*)
- **Examples:**
+The reason for the status.
- Call: ::
+**Responses:**
- curl -X PUT "http://localhost:8085/status?policyid=Policy1&status=Accepted
+200:
- Result:
- 200
- Status set to Accepted for policy Policy1
+Status set to <status> for policy <policy-id>
+
+**Examples:**
+
+**Call**: ::
+
+ curl -X PUT "http://localhost:8085/status?policyid=Policy1&status=Accepted
+
+**Result**:
+
+200: ::
+
+ Status set to Accepted for policy Policy1
/sendstatus
~~~~~~~~~~~
POST
++++
- Send status for policy.
+Send status for policy.
+
+**URL path:**
+
+/sendstatus?policyid=<policy-id>
+
+**Parameters:**
+
+policyid: (*Required*)
- **URL path:**
- /sendstatus?policyid=<policy-id>
+The ID of the policy to send status for.
- **Parameters:**
+**Responses:**
- policyid: (*Required*)
- The ID of the policy to send status for.
+200:
- **Responses:**
+Is a JSON with the response of the actual post request to the callback server, whatever that is.
- 200:
- Is a JSON with the response of the actual post request to the callback server, whatever that is.
+**Examples:**
- **Examples:**
+**Call**: ::
- Call: ::
+ curl -X POST "http://localhost:8085/sendstatus?policyid=Policy2"
- curl -X POST "http://localhost:8085/sendstatus?policyid=Policy2"
+**Result**:
- Result:
- 200
+200
1.1.x-alpha.2
-------------
-The available functions for the 1.1.x-alpha.2.
+This section describes the available administrative functions for the 1.1.x-alpha.2 version of A1.
+
+To see the A1 functions for this version, see `1.1.x-alpha.2 API`_.
+
+.. _1.1.x-alpha.2 API: https://gerrit.o-ran-sc.org/r/gitweb?p=sim/a1-interface.git;a=blob;f=near-rt-ric-simulator/api/1.1.x-alpha.2/a1-openapi.yaml
/deleteinstances
~~~~~~~~~~~~~~~~
DELETE
++++++
- Delete all policy instances.
+Delete all policy instances.
+
+**URL path:**
+
+/deleteinstances
- **URL path:**
- /deleteinstances
+**Parameters:**
- **Parameters:**
+None.
- None.
+**Responses:**
- **Responses:**
+200:
- 200:
- All policy instances deleted.
+All policy instances deleted.
- **Examples:**
+**Examples:**
- Call: ::
+**Call**: ::
- curl -X DELETE "http://localhost:8085/deleteinstances"
+ curl -X DELETE "http://localhost:8085/deleteinstances"
- Result:
- 200
- All policy instances deleted.
+**Result**:
+
+200: ::
+
+ All policy instances deleted.
/deletetypes
~~~~~~~~~~~~
DELETE
++++++
- Delete all policy types.
+Delete all policy types.
- **URL path:**
- /deletetypes
+**URL path:**
+
+/deletetypes
- **Parameters:**
+**Parameters:**
- None.
+None.
- **Responses:**
+**Responses:**
- 200:
- All policy types deleted.
+200:
- **Examples:**
+All policy types deleted.
- Call: ::
+**Examples:**
- curl -X DELETE "http://localhost:8085/deletetypes"
+**Call**: ::
- Result:
- 200
- All policy types deleted.
+ curl -X DELETE "http://localhost:8085/deletetypes"
+
+**Result**:
+
+200: ::
+
+ All policy types deleted.
/policytypes
~~~~~~~~~~~~
PUT
+++
- Create or update a policy type.
+Create or update a policy type.
- **URL path:**
- /policytypes/{policy-type-id}
+**URL path:**
- **Parameters:**
+/policytypes/{policy-type-id}
- None.
+**Parameters:**
- **Body:** (*Required*)
- A JSON object containing the schema for the type.
+None.
- **Responses:**
+**Body:** (*Required*)
- 200:
- The policy type was either created or updated for policy type id: <policy-type-id>
+A JSON object containing the schema for the type.
- **Examples:**
+**Responses:**
- Call: ::
+200:
- curl -X PUT "http://localhost:8085/policytype/Policy%201&ric=ric1&service=Service%201&type=STD_PolicyModelUnconstrained_0.2.0"
- -H "Content-Type: application/json"
- -d "
- {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "title": "STD_PolicyModelUnconstrained_0.2.0",
- "description": "Standard model of a policy with unconstrained scope id combinations",
- "type": "object",
- "properties": {
- "scope": {
- "type": "object",
- "properties": {
- "ueId": {"type": "string"},
- "groupId": {"type": "string"},
- "sliceId": {"type": "string"},
- "qosId": {"type": "string"},
- "cellId": {"type": "string"}
- },
- "minProperties": 1,
- "additionalProperties": false
+The policy type was either created or updated for policy type id: <policy-type-id>
+
+**Examples:**
+
+**Call**: ::
+
+ curl -X PUT "http://localhost:8085/policytype/Policy%201&ric=ric1&service=Service%201&type=STD_PolicyModelUnconstrained_0.2.0"
+ -H "Content-Type: application/json"
+ -d '{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "STD_PolicyModelUnconstrained_0.2.0",
+ "description": "Standard model of a policy with unconstrained scope id combinations",
+ "type": "object",
+ "properties": {
+ "scope": {
+ "type": "object",
+ "properties": {
+ "ueId": {"type": "string"},
+ "groupId": {"type": "string"},
+ "sliceId": {"type": "string"},
+ "qosId": {"type": "string"},
+ "cellId": {"type": "string"}
},
- "qosObjectives": {
- "type": "object",
- "properties": {
- "gfbr": {"type": "number"},
- "mfbr": {"type": "number"},
- "priorityLevel": {"type": "number"},
- "pdb": {"type": "number"}
- },
- "additionalProperties": false
+ "minProperties": 1,
+ "additionalProperties": false
+ },
+ "qosObjectives": {
+ "type": "object",
+ "properties": {
+ "gfbr": {"type": "number"},
+ "mfbr": {"type": "number"},
+ "priorityLevel": {"type": "number"},
+ "pdb": {"type": "number"}
+ },
+ "additionalProperties": false
+ },
+ "qoeObjectives": {
+ "type": "object",
+ "properties": {
+ "qoeScore": {"type": "number"},
+ "initialBuffering": {"type": "number"},
+ "reBuffFreq": {"type": "number"},
+ "stallRatio": {"type": "number"}
},
- "qoeObjectives": {
+ "additionalProperties": false
+ },
+ "resources": {
+ "type": "array",
+ "items": {
"type": "object",
"properties": {
- "qoeScore": {"type": "number"},
- "initialBuffering": {"type": "number"},
- "reBuffFreq": {"type": "number"},
- "stallRatio": {"type": "number"}
- },
- "additionalProperties": false
- },
- "resources": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "cellIdList": {
- "type": "array",
- "minItems": 1,
- "uniqueItems": true,
- "items": {
- "type": "string"
- }
- },
- "preference": {
- "type": "string",
- "enum": [
- "SHALL",
- "PREFER",
- "AVOID",
- "FORBID"
- ]
- },
- "primary": {"type": "boolean"}
+ "cellIdList": {
+ "type": "array",
+ "minItems": 1,
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "preference": {
+ "type": "string",
+ "enum": [
+ "SHALL",
+ "PREFER",
+ "AVOID",
+ "FORBID"
+ ]
},
- "additionalProperties": false,
- "required": ["cellIdList", "preference"]
- }
+ "primary": {"type": "boolean"}
+ },
+ "additionalProperties": false,
+ "required": ["cellIdList", "preference"]
}
- },
- "minProperties": 2,
- "additionalProperties": false,
- "required": ["scope"]
- }
- "
+ }
+ },
+ "minProperties": 2,
+ "additionalProperties": false,
+ "required": ["scope"]
+ }'
+
+**Result**:
- Result:
- 200
- The policy type was either created or updated for policy type id: STD_PolicyModelUnconstrained_0.2.0
+200: ::
+
+ The policy type was either created or updated for policy type id: STD_PolicyModelUnconstrained_0.2.0
DELETE
++++++
- Delete a policy type.
+Delete a policy type.
+
+**URL path:**
- **URL path:**
- /policytypes/{policy-type-id}
+/policytypes/{policy-type-id}
- **Parameters:**
+**Parameters:**
- None.
+None.
- **Responses:**
+**Responses:**
- 200:
- policy type successfully deleted for policy type id: <policy-type-id>
+200:
- **Examples:**
+policy type successfully deleted for policy type id: <policy-type-id>
- Call: ::
+**Examples:**
- curl -X DELETE "http://localhost:8085/policytype?id=Policy%201&ric=ric1&service=Service%201&type=STD_PolicyModelUnconstrained_0.2.0"
+**Call**: ::
- Result:
- 200
- policy type successfully deleted for policy type id: STD_PolicyModelUnconstrained_0.2.0
+ curl -X DELETE "http://localhost:8085/policytype?id=Policy%201&ric=ric1&service=Service%201&type=STD_PolicyModelUnconstrained_0.2.0"
+
+**Result**:
+
+200: ::
+
+ policy type successfully deleted for policy type id: STD_PolicyModelUnconstrained_0.2.0
/{policyId}/{enforceStatus}
~~~~~~~~~~~~~~~~~~~~~~~~~~~
PUT
+++
- Set a status to a policy instance with an enforceStatus parameter only.
+Set a status to a policy instance with an enforceStatus parameter only.
+
+**URL path:**
- **URL path:**
- /{policyId}/{enforceStatus}
+/{policyId}/{enforceStatus}
+
+**Parameters:**
+
+None.
- **Parameters:**
+**Responses:**
- None.
+200:
- **Responses:**
+Status updated for policy: <policyId>
- 200:
- Status updated for policy: <policyId>
+**Examples:**
- **Examples:**
+**Call**: ::
- Call: ::
+ curl -X PUT "http://localhost:8085/Policy1/ENFORCED
- curl -X PUT "http://localhost:8085/Policy1/ENFORCED
+**Result**:
- Result:
- 200
- Status updated for policy: Policy1
+200: ::
+
+ Status updated for policy: Policy1
/{policyId}/{enforceStatus}/{enforceReason}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PUT
++++
- Send a status to a policy instance with both enforceStatus and enforceReason.
+Send a status to a policy instance with both enforceStatus and enforceReason.
+
+**URL path:**
+
+/{policyId}/{enforceStatus}/{enforceReason}
+
+**Parameters:**
+
+None.
- **URL path:**
- /{policyId}/{enforceStatus}/{enforceReason}
+**Responses:**
- **Parameters:**
+200:
- None.
+Status updated for policy: <policyId>
- **Responses:**
+**Examples:**
- 200:
- Status updated for policy: <policyId>
+**Call**: ::
- **Examples:**
+ curl -X PUT "http://localhost:8085/Policy1/NOT_ENFORCED/100"
- Call: ::
+**Result**:
- curl -X PUT "http://localhost:8085/Policy1/NOT_ENFORCED/100"
+200: ::
- Result:
- 200
- Status updated for policy: Policy1
+ Status updated for policy: Policy1