Fix formatting issues in RST files
[ccsdk/cds.git] / docs / datadictionary / resourcesource.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 (C) 2019 IBM.
4
5 Resource Source
6 ---------------
7
8 Input:
9 ======
10 Expects the value to be provided as input to the request.
11
12
13 .. code-block:: json
14    :linenos:
15    
16    {
17      "source-input" : 
18      {
19        "description": "This is Input Resource Source Node Type",
20        "version": "1.0.0",
21        "properties": {},
22        "derived_from": "tosca.nodes.ResourceSource"
23      }
24    }
25
26
27
28 Default:
29 ========
30 Expects the value to be defaulted in the model itself.
31
32    
33 .. code-block:: json
34    :linenos:
35    
36    {
37      "source-default" : 
38      {
39        "description": "This is Default Resource Source Node Type",
40        "version": "1.0.0",
41        "properties": {},
42        "derived_from": "tosca.nodes.ResourceSource"
43      }
44    }
45
46
47 sql:
48 ====
49
50 Expects the SQL query to be modeled; that SQL query can be parameterized, and the parameters be other resources resolved through other means. If that's the case, this data dictionary definition will have to define key-dependencies along with input-key-mapping.
51
52 CDS is currently deployed along the side of SDNC, hence the primary database connection provided by the framework is to SDNC database.
53
54 |image0|
55
56 .. |image0| image:: media/sqltable.JPG
57    :width: 7.88889in 
58    :height: 4.43750in
59
60 .. toctree::
61    :maxdepth: 1  
62
63    sourceprimarydbcode
64
65 Connection to a specific database can be expressed through the endpoint-selector property, which refers to a macro defining the information about the database the connect to. Understand TOSCA Macro in the context of CDS.
66
67 .. toctree::
68    :maxdepth: 1 
69
70    dbsystemcode
71
72
73 REST:
74 =====
75
76 Expects the URI along with the VERB and the payload, if needed.
77
78 CDS is currently deployed along the side of SDNC, hence the default rest connection provided by the framework is to SDNC MDSAL.
79
80 |image1|
81
82 .. |image1| image:: media/resttable.JPG
83    :width: 7.88889in 
84    :height: 4.43750in
85
86 .. toctree::
87    :maxdepth: 1
88    
89    restsourcecode
90
91 Connection to a specific REST system can be expressed through the endpoint-selector property, which refers to a macro defining the information about the REST system the connect to. Understand TOSCA Macro in the context of CDS.
92
93 Few ways are available to authenticate to the REST system:
94
95         * token-auth
96         * basic-auth
97         * ssl-basic-auth
98         
99 For source code of Authentication click below link:
100
101 .. toctree::
102    :maxdepth: 1
103    
104    restauth
105
106 Capability:
107 ===========
108
109 Expects a script to be provided.
110
111 |image2|
112
113 .. |image2| image:: media/capabilitytable.JPG
114    :width: 7.88889in 
115    :height: 4.43750in
116    
117    
118 .. toctree::
119    :maxdepth: 1   
120
121    sourcecapabilitycode
122         
123 Complex Type:
124 =============
125
126 Value will be resolved through REST., and output will be a complex type.
127
128 Modeling reference: Modeling Concepts#rest
129
130 In this example, we're making a POST request to an IPAM system with no payload.
131
132 Some ingredients are required to perform the query, in this case, $prefixId. Hence It is provided as an input-key-mapping and defined as a key-dependencies. Please refer to the modeling guideline for more in depth understanding.
133
134 As part of this request, the expected response will be as below.
135
136 .. toctree::
137    :maxdepth: 1   
138
139    complexResponse
140
141 What is of interest is the address and id fields. For the process to return these two values, we need to create a custom data-type, as bellow
142
143 .. toctree::
144    :maxdepth: 1 
145    
146    dt-netbox-ip
147
148 The type of the data dictionary will be dt-netbox-ip.
149
150 To tell the resolution framework what is of interest in the response, the output-key-mapping section is used. The process will map the output-key-mapping to the defined data-type.
151
152 .. toctree::
153    :maxdepth: 1 
154    
155    create_netbox_ip_address