.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
..
.. Copyright (C) 2019 AT&T Intellectual Property


API-Docs
========

This is the API-docs of <COMPONENT>

.. contents::
   :depth: 3
   :local:

.. note

.. This section is used to describe a software API exposed from a O-RAN software component.  
   
.. This note must be removed after content has been added.


API Introduction
-----------------
.. Please add what API a component have exposed.

API Functions
-------------
.. Please states the API functions.

