.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. Copyright (C) 2021-2022 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
===

.. toctree::
   :maxdepth: 1

   overview.rst
   architecture.rst
   admin-guide.rst
   design.rst
   modeling.rst
   cps-events.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>`
