Issue-ID: CLI-437
[cli.git] / docs / architecture.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3 .. Copyright 2017 Huawei Technologies Co., Ltd.
4 .. _architecture:
5
6 .. _cli_architecture:
7
8 CLI architecture
9 ================
10
11 Following diagram shows the high-level architecture of OCLIP.
12
13 .. image:: images/portal-cli-arch.png
14
15 * **Command Registrar** :  Registrar keeps track of the commands registered in OCLIP and when user invokes the command,
16 it identifies the corresponding command and helps to invoke the corresponding command plug-in.
17
18 * **Command Discoverer** : Discoverer discovers the commands both in plug-in format and YAML and automatically register
19 them into Registrar.
20
21 * **Command Plug-in** : Implement the command as plug-in. More details :ref:`cli_developer_guide`
22
23 * **HTTP Command** : Plug-in for implementing all Rest based command as YAML without any coding.
24
25 * **SNMP Command** : Plug-in for implementing all SNMP based command as YAML without any coding.
26
27 * **Command Shell** : Provides the interactive command line console from Linux
28
29 * **Web Command Console** : Provides the interactive command line console from web-browser
30
31 * **Cache** : Provides persistent storage for discoverer to store the meta-data about the discovered Commands.
32
33 * **open cli schemas** : Set of command YAML provides the CLI definitions.