From 93f015a0f3677aedb631d93d03f613140ba2fb60 Mon Sep 17 00:00:00 2001
From: elinuxhenrik <henrik.b.andersson@est.tech>
Date: Wed, 8 Apr 2020 11:23:55 +0200
Subject: [PATCH] Add first version of documentation

Change-Id: I6333e54943e7a7a4a1fe2a36e08e6699fa5b7faf
Issue-ID: NONRTRIC-191
Signed-off-by: elinuxhenrik <henrik.b.andersson@est.tech>
---
 .gitignore                 |   7 +
 .readthedocs.yaml          |  20 +
 docs/_static/logo.png      | Bin 0 -> 43935 bytes
 docs/conf.py               |   7 +
 docs/conf.yaml             |   3 +
 docs/favicon.ico           | Bin 0 -> 15086 bytes
 docs/index.rst             |  24 +
 docs/overview.rst          |  19 +
 docs/requirements-docs.txt |   5 +
 docs/simulator-api.rst     | 920 +++++++++++++++++++++++++++++++++++++
 tox.ini                    |  43 ++
 11 files changed, 1048 insertions(+)
 create mode 100644 .readthedocs.yaml
 create mode 100644 docs/_static/logo.png
 create mode 100644 docs/conf.py
 create mode 100644 docs/conf.yaml
 create mode 100644 docs/favicon.ico
 create mode 100644 docs/index.rst
 create mode 100644 docs/overview.rst
 create mode 100644 docs/requirements-docs.txt
 create mode 100644 docs/simulator-api.rst
 create mode 100644 tox.ini

diff --git a/.gitignore b/.gitignore
index 3a4edf6..fdb56b6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,8 @@
+# Documentation
+.idea/
+.tox
+docs/_build/
+.DS_STORE
+
+# IDE
 .project
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
new file mode 100644
index 0000000..3797dc8
--- /dev/null
+++ b/.readthedocs.yaml
@@ -0,0 +1,20 @@
+---
+# .readthedocs.yml
+# Read the Docs configuration file
+# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
+# Required
+version: 2
+
+formats:
+  - htmlzip
+
+build:
+  image: latest
+
+python:
+  version: 3.7
+  install:
+    - requirements: docs/requirements-docs.txt
+
+sphinx:
+  configuration: docs/conf.py
diff --git a/docs/_static/logo.png b/docs/_static/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..c3b6ce56468d87a3d9463ee75297b3895fc9a414
GIT binary patch
literal 43935
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
Yl9Jp+mP3Z{H?N<9jEZ!nq>2Ck0Evj6zW@LL

literal 0
HcmV?d00001

diff --git a/docs/conf.py b/docs/conf.py
new file mode 100644
index 0000000..9bde80f
--- /dev/null
+++ b/docs/conf.py
@@ -0,0 +1,7 @@
+from docs_conf import *
+
+linkcheck_ignore = [
+    'http://localhost.*',
+    'http://127.0.0.1.*',
+    'https://gerrit.o-ran-sc.org.*'
+]
diff --git a/docs/conf.yaml b/docs/conf.yaml
new file mode 100644
index 0000000..6576ed2
--- /dev/null
+++ b/docs/conf.yaml
@@ -0,0 +1,3 @@
+---
+project_cfg: oran
+project: sim-a1-interface
diff --git a/docs/favicon.ico b/docs/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..00b0fd0ef0b4e78fbb8cdb413ce84561dfeb404f
GIT binary patch
literal 15086
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
XY+}&}KC=mD;X?Iq*l*cA?B4$ePY*3q

literal 0
HcmV?d00001

diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644
index 0000000..14fca47
--- /dev/null
+++ b/docs/index.rst
@@ -0,0 +1,24 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. SPDX-License-Identifier: CC-BY-4.0
+.. Copyright (C) 2020 Nordix
+
+.. |nbsp| unicode:: 0xA0
+   :trim:
+
+.. |nbh| unicode:: 0x2011
+   :trim:
+
+.. _a1-interface-simulator:
+
+======================
+A1 Interface Simulator
+======================
+
+.. toctree::
+   :maxdepth: 2
+   :caption: Contents:
+
+   ./overview.rst
+   ./simulator-api.rst
+
+* :ref:`search`
diff --git a/docs/overview.rst b/docs/overview.rst
new file mode 100644
index 0000000..196132f
--- /dev/null
+++ b/docs/overview.rst
@@ -0,0 +1,19 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. SPDX-License-Identifier: CC-BY-4.0
+.. Copyright (C) 2020 Nordix
+
+.. |nbsp| unicode:: 0xA0
+   :trim:
+
+.. |nbh| unicode:: 0x2011
+   :trim:
+
+
+A1 Simulator Overview
+=====================
+
+The A1 Simulator terminates the A1 interface and provides a way of testing services without the need for any real
+Near |nbh| RT |nbsp| RICs.
+
+Apart from providing the A1 API, the simulator also provides an administrative API to manage policy types and manipulate
+the simulator, see ":ref:`simulator-api`".
\ No newline at end of file
diff --git a/docs/requirements-docs.txt b/docs/requirements-docs.txt
new file mode 100644
index 0000000..09a0c1c
--- /dev/null
+++ b/docs/requirements-docs.txt
@@ -0,0 +1,5 @@
+sphinx
+sphinx-rtd-theme
+sphinxcontrib-httpdomain
+recommonmark
+lfdocs-conf
diff --git a/docs/simulator-api.rst b/docs/simulator-api.rst
new file mode 100644
index 0000000..bb23da3
--- /dev/null
+++ b/docs/simulator-api.rst
@@ -0,0 +1,920 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. SPDX-License-Identifier: CC-BY-4.0
+.. Copyright (C) 2020 Nordix
+
+.. _simulator-api:
+
+=============
+Simulator API
+=============
+
+This document describes the API used to manage policy types and manipulate the simulator.
+
+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
+================
+
+Health Check
+------------
+
+The status of the simulator.
+
+/
+~~
+
+GET
++++
+
+  Returns the status of the simulator.
+
+   **URL path:**
+    /
+
+  **Parameters:**
+
+    None.
+
+  **Responses:**
+
+    200:
+      Simulator is living.
+
+  **Examples:**
+
+    Call: ::
+
+      curl -X GET "http://localhost:8085/"
+
+    Result:
+      200
+        Simulator is living (OSC_2.1.0 responds OK)
+
+Supported Interfaces
+--------------------
+
+The simulator can support different versions of the A1 interface. With this API the supported versions can be listed.
+
+/container_interfaces
+~~~~~~~~~~~~~~~~~~~~~
+
+GET
++++
+
+  Returns the status of the simulator. (Not available for A1 Standard 1.1.3)
+
+   **URL path:**
+    /container_interfaces
+
+  **Parameters:**
+
+    None.
+
+  **Responses:**
+
+    200:
+      List of supported interfaces.
+
+  **Examples:**
+
+    Call: ::
+
+      curl -X GET "http://localhost:8085/container_interfaces"
+
+    Result:
+      200
+        1.1.x-alpha.2 OSC_2.1.0 STD_1.1.3
+
+Counters
+--------
+
+The simulator keeps counts of different things that can be accessed.
+
+/counter
+~~~~~~~~
+
+GET
++++
+
+  Get a counter. Counter-name can be one of the following: 'num_instances', 'num_types' or 'interface'.
+
+   **URL path:**
+    /counter/{counter-name}
+
+  **Parameters:**
+
+    None.
+
+  **Responses:**
+
+    200:
+      The counter value for the given counter.
+
+  **Examples:**
+
+    Call: ::
+
+      curl -X GET "http://localhost:8085/counter/num_instances"
+
+    Result:
+      200
+        10
+
+Version Specific Functions
+==========================
+
+The methods available to control the simulator depends on the version of the A1 API the simulator is simulating.
+
+OSC_2.1.0
+---------
+
+The available functions for the OSC_2.1.0 version of A1.
+
+/deleteinstances
+~~~~~~~~~~~~~~~~
+
+POST
+++++
+
+  Delete all policy instances.
+
+   **URL path:**
+    /deleteinstances
+
+  **Parameters:**
+
+    None.
+
+  **Responses:**
+
+    200:
+      All policy instances deleted.
+
+  **Examples:**
+
+    Call: ::
+
+      curl -X POST "http://localhost:8085/deleteinstances"
+
+    Result:
+      200
+        All policy instances deleted.
+
+/deleteall
+~~~~~~~~~~~~~~~~
+
+POST
+++++
+
+  Full reset.
+
+   **URL path:**
+    /deleteall
+
+  **Parameters:**
+
+    None.
+
+  **Responses:**
+
+    200:
+      All policy instances and types deleted.
+
+  **Examples:**
+
+    Call: ::
+
+      curl -X POST "http://localhost:8085/deleteall"
+
+    Result:
+      200
+        All policy instances and types deleted.
+
+/policytype
+~~~~~~~~~~~
+
+PUT
++++
+
+  Create a policy type.
+
+   **URL path:**
+    /policytype?id=<policy-type-id>
+
+  **Parameters:**
+
+    id: (*Required*)
+      The ID of the policy type.
+
+  **Body:** (*Required*)
+      A JSON object containing the schema for the type.
+
+  **Responses:**
+
+    200:
+      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"}
+                },
+                "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"}
+                },
+                "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"}
+                  },
+                  "additionalProperties": false,
+                  "required": ["cellIdList", "preference"]
+                }
+              }
+            },
+            "minProperties": 2,
+            "additionalProperties": false,
+            "required": ["scope"]
+          }
+        "
+
+    Result:
+      201
+        Policy type STD_PolicyModelUnconstrained_0.2.0 is OK
+
+DELETE
+++++++
+
+  Delete a policy type.
+
+   **URL path:**
+    /policytype?id=<policy-type-id>
+
+  **Parameters:**
+
+    id: (*Required*)
+      The ID of the policy type.
+
+  **Responses:**
+
+    204:
+      Policy type <policy-type-id> is OK.
+
+  **Examples:**
+
+    Call: ::
+
+     curl -X DELETE "http://localhost:8085/policytype?id=Policy%201&ric=ric1&service=Service%201&type=STD_PolicyModelUnconstrained_0.2.0"
+
+    Result:
+      204
+        Policy type STD_PolicyModelUnconstrained_0.2.0 is OK
+
+/policytypes
+~~~~~~~~~~~~
+
+GET
++++
+
+  Get a list of policy types.
+
+   **URL path:**
+    /policytypes
+
+  **Parameters:**
+
+    None.
+
+  **Responses:**
+
+    200:
+      A list of policy types.
+
+  **Examples:**
+
+    Call: ::
+
+      curl -X GET "http://localhost:8085/policytypes"
+
+    Result:
+      200
+        STD_PolicyModelUnconstrained_0.2.0
+
+/forceresponse
+~~~~~~~~~~~~~~
+
+POST
+++++
+
+  Force a specific response code for an A1 operation.
+
+   **URL path:**
+    /forceresponse?responsecode=<http-response-code>
+
+  **Parameters:**
+
+    responsecode: (*Required*)
+      The HTTP response code to return.
+
+  **Responses:**
+
+    200:
+      Force response code:  <expected code> set for one single A1 response
+
+  **Examples:**
+
+    Call: ::
+
+      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.
+
+   **URL path:**
+    /forcedelay?delay=<delay-time-seconds>
+
+  **Parameters:**
+
+    delay: (*Required*)
+      The time in seconds to delay all responses.
+
+  **Responses:**
+
+    200:
+      Force delay: <expected delay> sec set for all A1 responses
+
+  **Examples:**
+
+    Call: ::
+
+      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.
+
+   **URL path:**
+    /status?policyid=<policyid>&status=<status>&deleted=<value>&created_at=<time-stamp>
+
+  **Parameters:**
+
+    policyid: (*Required*)
+      The ID of a policy.
+
+    status: (*Required*)
+      The status of a policy.
+
+    deleted: (*Optional*)
+      True or false for real values, but accepts anything for error testing.
+
+    created_at: (*Optional*)
+      Time stamp for the status.
+
+  **Responses:**
+
+    200:
+      Status set to <status> for policy <policy-id>
+
+  **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.
+
+/deleteinstances
+~~~~~~~~~~~~~~~~
+
+POST
+++++
+
+  Delete all policy instances.
+
+   **URL path:**
+    /deleteinstances
+
+  **Parameters:**
+
+    None.
+
+  **Responses:**
+
+    200:
+      All policy instances deleted.
+
+  **Examples:**
+
+    Call: ::
+
+      curl -X POST "http://localhost:8085/deleteinstances"
+
+    Result:
+      200
+        All policy instances deleted.
+
+/deleteall
+~~~~~~~~~~
+
+POST
+++++
+
+  Full reset.
+
+   **URL path:**
+    /deleteinstances
+
+  **Parameters:**
+
+    None.
+
+  **Responses:**
+
+    200:
+      All policy instances deleted.
+
+  **Examples:**
+
+    Call: ::
+
+      curl -X POST "http://localhost:8085/deleteall"
+
+    Result:
+      200
+        All policy instances deleted.
+
+/forceresponse
+~~~~~~~~~~~~~~
+
+POST
+++++
+
+  Force a specific response code for an A1 operation.
+
+   **URL path:**
+    /forceresponse?responsecode=<http-response-code>
+
+  **Parameters:**
+
+    responsecode: (*Required*)
+      The HTTP response code to return.
+
+  **Responses:**
+
+    200:
+      Force response code: <expected code> set for one single A1 response
+
+  **Examples:**
+
+    Call: ::
+
+      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.
+
+   **URL path:**
+    /forcedelay?delay=<delay-time-seconds>
+
+  **Parameters:**
+
+    delay: (*Required*)
+      The time in seconds to delay all responses.
+
+  **Responses:**
+
+    200:
+      Force delay: <expected delay> sec set for all A1 responses
+
+  **Examples:**
+
+    Call: ::
+
+      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.
+
+   **URL path:**
+    /status?policyid=<policyid>&status=<status>&reason=<reason>
+
+  **Parameters:**
+
+    policyid: (*Required*)
+      The ID of a policy.
+
+    status: (*Required*)
+      The status of a policy.
+
+    reason: (*Optional*)
+      The reason for the status.
+
+  **Responses:**
+
+    200:
+      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.
+
+   **URL path:**
+    /sendstatus?policyid=<policy-id>
+
+  **Parameters:**
+
+    policyid: (*Required*)
+      The ID of the policy to send status for.
+
+  **Responses:**
+
+    200:
+      Is a JSON with the response of the actual post request to the callback server, whatever that is.
+
+  **Examples:**
+
+    Call: ::
+
+      curl -X POST "http://localhost:8085/sendstatus?policyid=Policy2"
+
+    Result:
+      200
+
+1.1.x-alpha.2
+-------------
+
+The available functions for the 1.1.x-alpha.2.
+
+/deleteinstances
+~~~~~~~~~~~~~~~~
+
+DELETE
+++++++
+
+  Delete all policy instances.
+
+   **URL path:**
+    /deleteinstances
+
+  **Parameters:**
+
+    None.
+
+  **Responses:**
+
+    200:
+      All policy instances deleted.
+
+  **Examples:**
+
+    Call: ::
+
+      curl -X DELETE "http://localhost:8085/deleteinstances"
+
+    Result:
+      200
+        All policy instances deleted.
+
+/deletetypes
+~~~~~~~~~~~~
+
+DELETE
+++++++
+
+  Delete all policy types.
+
+   **URL path:**
+    /deletetypes
+
+  **Parameters:**
+
+    None.
+
+  **Responses:**
+
+    200:
+      All policy types deleted.
+
+  **Examples:**
+
+    Call: ::
+
+      curl -X DELETE "http://localhost:8085/deletetypes"
+
+    Result:
+      200
+        All policy types deleted.
+
+/policytypes
+~~~~~~~~~~~~
+
+PUT
++++
+
+  Create or update a policy type.
+
+   **URL path:**
+    /policytypes/{policy-type-id}
+
+  **Parameters:**
+
+    None.
+
+  **Body:** (*Required*)
+      A JSON object containing the schema for the type.
+
+  **Responses:**
+
+    200:
+      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"}
+                },
+                "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"}
+                },
+                "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"}
+                  },
+                  "additionalProperties": false,
+                  "required": ["cellIdList", "preference"]
+                }
+              }
+            },
+            "minProperties": 2,
+            "additionalProperties": false,
+            "required": ["scope"]
+          }
+        "
+
+    Result:
+      200
+        The policy type was either created or updated for policy type id: STD_PolicyModelUnconstrained_0.2.0
+
+DELETE
+++++++
+
+  Delete a policy type.
+
+   **URL path:**
+    /policytypes/{policy-type-id}
+
+  **Parameters:**
+
+    None.
+
+  **Responses:**
+
+    200:
+      policy type successfully deleted for policy type id: <policy-type-id>
+
+  **Examples:**
+
+    Call: ::
+
+     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.
+
+   **URL path:**
+    /{policyId}/{enforceStatus}
+
+  **Parameters:**
+
+    None.
+
+  **Responses:**
+
+    200:
+      Status updated for policy: <policyId>
+
+  **Examples:**
+
+    Call: ::
+
+      curl -X PUT "http://localhost:8085/Policy1/ENFORCED
+
+    Result:
+      200
+        Status updated for policy: Policy1
+
+/{policyId}/{enforceStatus}/{enforceReason}
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+PUT
+++++
+
+  Send a status to a policy instance with both enforceStatus and enforceReason.
+
+   **URL path:**
+    /{policyId}/{enforceStatus}/{enforceReason}
+
+  **Parameters:**
+
+    None.
+
+  **Responses:**
+
+    200:
+      Status updated for policy: <policyId>
+
+  **Examples:**
+
+    Call: ::
+
+      curl -X PUT "http://localhost:8085/Policy1/NOT_ENFORCED/100"
+
+    Result:
+      200
+        Status updated for policy: Policy1
diff --git a/tox.ini b/tox.ini
new file mode 100644
index 0000000..26cfed7
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,43 @@
+# ==================================================================================
+#       Copyright (c) 2020 Nordix
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#          http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+# ==================================================================================
+[tox]
+envlist = docs,docs-linkcheck
+minversion = 2.0
+skipsdist = true
+
+# doc jobs
+[testenv:docs]
+whitelist_externals = echo
+basepython = python3
+deps =
+    sphinx
+    sphinx-rtd-theme
+    sphinxcontrib-httpdomain
+    recommonmark
+    lfdocs-conf
+commands =
+    sphinx-build -W -b html -n -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html
+    echo "Generated docs available in {toxinidir}/docs/_build/html"
+
+[testenv:docs-linkcheck]
+skipsdist = true
+basepython = python3
+deps = sphinx
+       sphinx-rtd-theme
+       sphinxcontrib-httpdomain
+       recommonmark
+       lfdocs-conf
+commands = sphinx-build -W -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck
-- 
GitLab