.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0

Policy GUI
----------

.. contents::
    :depth: 2

The POLICY GUI is used to create and manage policies.  The following capabilities are available
from the GUI:

* Create a Policy
* Edit a Policy
* Delete a Policy
* Rename a Policy
* View a Policy
* Describe a Policy in readable text
* Clone a Policy
* Push a Policy into PDP
* Remove a Policy from PDP
* Lockdown a Policy to prevent any further changes
* Add a micro service model
* Admin functionality access
* Dashboard access to view system status


Target Users
^^^^^^^^^^^^

The typical targetted users are operations people who have the responsibility and authority to create and manage policies that control network operations, 
including policy based network configuration and auto-corrective actions.

Interface Type
^^^^^^^^^^^^^^

The POLICY GUI is a graphical user interface available via web-access.

Access
^^^^^^

The POLICY GUI can be accessed via the ONAP Portal.


