08702fbce9196b5dd2637c5d0f0ff0d0477a73f3
[ccsdk/cds.git] / docs / cba / cba-description.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
5
6 The **C**\ ontroller **B**\ lueprint **A**\ rchive is the overall service design, fully model-driven, intent based
7 **package** needed for SELF SERVICE provisioning and configuration management automation.
8
9 The CBA is **.zip** file, comprised of the following folder structure, the files may vary:
10
11 .. code-block language is required for ReadTheDocs to render code-blocks. Python set as default.
12
13 .. code-block:: python
14
15     ├── Definitions
16     │   ├── blueprint.json                          Overall TOSCA service template (workflow + node_template)
17     │   ├── artifact_types.json                     (generated by enrichment)
18     │   ├── data_types.json                         (generated by enrichment)
19     │   ├── policy_types.json                       (generated by enrichment)
20     │   ├── node_types.json                         (generated by enrichment)
21     │   ├── relationship_types.json                 (generated by enrichment)
22     │   ├── resources_definition_types.json         (generated by enrichment, based on Data Dictionaries)
23     │   └── *-mapping.json                          One per Template
24     │
25     ├── Environments                                Contains *.properties files as required by the service
26     │
27     ├── Plans                                       Contains Directed Graph
28     │
29     ├── Tests                                       Contains uat.yaml file for testing cba actions within a cba package
30     │
31     ├── Scripts                                     Contains scripts
32     │   ├── python                                  Python scripts
33     │   └── kotlin                                  Kotlin scripts
34     │
35     ├── TOSCA-Metadata
36     │   └── TOSCA.meta                              Meta-data of overall package
37     │
38     └── Templates                                   Contains combination of mapping and template
39
40 To process a CBA for any service we need to enrich it first. This will gather all the node- type, data-type,
41 artifact-type, data-dictionary definitions provided in the blueprint.json.