CDS API reference add bootstrap API
[ccsdk/cds.git] / docs / index.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0
2 .. International License. http://creativecommons.org/licenses/by/4.0
3 .. Copyright (C) 2019 IBM.
4 .. _master_index:
5
6 .. _cds_main-doc:
7
8 CONTROLLER DESIGN STUDIO (CDS)
9 ==============================
10 .. toctree::
11    :maxdepth: 1
12
13 Introduction
14 ------------
15     The system is designed to be self service, which means that users, not just
16 programmers, can reconfigure the software system as needed to meet customer
17 requirements. To accomplish this goal, the system is built around models that
18 provide for real-time changes in how the system operates.  Users merely need
19 to change a model to change how a service operates.
20
21     Self service is a completely new way of delivering services.  It removes the
22 dependence on code releases and the delays they cause and puts the control of
23 services into the hands of the service providers.  They can change a model and
24 its parameters and create a new service without writing a single line of code.
25 This makes SERVICE PROVIDER(S) more responsive to its customers and able to
26 deliver products that more closely match the needs of its customers.
27
28 Architecture
29 ------------
30 The Controller Design Studio is composed of two major components:
31    * The GUI (or frontend)
32    * The Run Time (or backend)
33
34     The GUI handles direct user input and allows for displaying both design time
35 and run time activities. For design time, it allows for the creation of
36 controller blueprint, from selecting the DGs to be included, to incorporating
37 the artifact templates, to adding necessary components.  For run time, it
38 allows the user to direct the system to resolve the unresolved elements of the
39 controller blueprint and download the resulting configuration into a VNF.
40
41     At a more basic level, it allows for creation of data dictionaries,
42 capabilities catalogs, and controller blueprint, the basic elements that are
43 used to generate a configuration. The essential function of the Controller
44 Design Studio is to create and populate a controller blueprint, create a
45 configuration file from this Controller blueprint, and download this
46 configuration file (configlet) to a VNF/PNF.
47
48 |cdsArchitectureImage|
49
50
51 Modeling Concept
52 ----------------
53
54     In Dublin release, the CDS community has contributed a framework to automate
55 the resolution of resources for instantiation and any config provisioning
56 operation, such as day0, day1 or day2 configuration.
57
58     The content of the CBA Package is driven from a catalog of reusable data
59 dictionary, component and workflow, delivering a reusable and simplified
60 self service experience.
61
62 TOSCA based JSON formatted model following standard:
63 http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.2/csd01/TOSCA-Simple-Profile-YAML-v1.2-csd01.html
64
65 Most of the TOSCA modeled entity presented in the bellow documentation can
66 be found here:
67 https://github.com/onap/ccsdk-cds/tree/master/components/model-catalog/definition-type/starter-type
68
69 Tosca Model Reference:
70
71 |toscaModel|
72
73 Modeling Concept Links:
74 ~~~~~~~~~~~~~~~~~~~~~~~
75
76 .. toctree::
77    :maxdepth: 1
78
79    modelingconcepts/index
80
81 Scripts
82 -------
83
84 Library
85 ~~~~~~~
86
87 * NetconfClient
88
89     In order to facilitate NETCONF interaction within scripts, a python NetconfClient binded to our Kotlin implementation is made available. This NetconfClient can be used when using the component-netconf-executor.
90
91     The client can be find here: https://github.com/onap/ccsdk-cds/blob/master/components/scripts/python/ccsdk_netconf/netconfclient.py
92
93 * ResolutionHelper
94
95     When executing a component executor script, designer might want to perform
96     resource resolution along with template meshing directly from the script
97     itself.
98
99     The helper can be found in below link:
100     https://github.com/onap/ccsdk-apps/blob/master/components/scripts/python/ccsdk_netconf/common.py
101
102 .. |toscaModel| image:: media/tosca_model.jpg
103    :width: 500pt
104
105 .. |cdsArchitectureImage| image:: media/CDS_architecture.jpg
106    :width: 500pt
107
108 User Guide
109 ----------
110
111 .. toctree::
112    :maxdepth: 3
113
114    userguide/developer-guide
115    userguide/installation
116    userguide/designtime
117
118 Use Cases
119 ---------
120
121 .. toctree::
122    :maxdepth: 2
123
124    usecases/use-cases
125
126 CDS Designer UI
127 ---------------
128
129 .. toctree::
130    :maxdepth: 2
131
132    ui/designer
133
134
135 Offered APIs
136 ----------------------------------
137
138 .. toctree::
139    :maxdepth: 3
140
141    api-reference/index
142
143
144 Controller Design Studio Presentation
145 -------------------------------------
146
147 Details about CDS Architecture and Design detail, Please click the link.
148 :download:`CDS_Architecture_Design <media/CDS_Architecture_Design.pptx>`