.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. Copyright (C) 2021 Nordix Foundation

.. DO NOT CHANGE THIS LABEL FOR RELEASE NOTES - EVEN THOUGH IT GIVES A WARNING
.. _master_index:

.. THIS IS USED INTERNALLY IN CPS ONLY
.. _cps-framework-doc:

CPS Documentation
#################

CPS Core
========

.. toctree::
   :maxdepth: 1

   overview.rst
   architecture.rst
   admin-guide.rst
   design.rst
   modeling.rst
   deployment.rst
   release-notes.rst

DMI-Plugin
==========

* :ref:`DMI-Plugin<onap-cps-ncmp-dmi-plugin:master_index>`

CPS Temporal
============

* :ref:`CPS-Temporal<onap-cps-cps-temporal:master_index>`
