.. This work is a derivative of https://wiki.onap.org/display/DW/Modeling+Concepts#Concepts-66498
.. This work is licensed under a Creative Commons Attribution 4.0
.. International License. http://creativecommons.org/licenses/by/4.0
.. Copyright (C) 2020 Deutsche Telekom AG.

.. _cba:

Controller Blueprint Archive (.cba)
-------------------------------------

The **C**\ ontroller **B**\ lueprint **A**\ rchive is the overall service design, fully model-driven, intent based
**package** needed for provisioning and configuration management automation.

The CBA is **.zip** file, comprised of the following folder structure, the files may vary:

.. code-block language is required for ReadTheDocs to render code-blocks. Python set as default.

.. code-block:: python

   ├── Definitions
   │   ├── blueprint.json                   Overall TOSCA service template (worfklow + node_template)
   │   ├── artifact_types.json              (generated by enrichment)
   │   ├── data_types.json                  (generated by enrichment)
   │   ├── node_types.json                  (generated by enrichment)
   │   ├── relationship_types.json          (generated by enrichment)
   │   └── resources_definition_types.json  (generated by enrichment)
   ├── Environments                         Contains *.properties files as required by the service
   ├── Plans                                Contains Directed Graph
   ├── Tests                                Contains uat.yaml file for testing the cba actions within a cba **package
   ├── Scripts                              Contains scripts
   │   ├── python                           Python scripts
   │   └── kotlin                           Kotlin scripts
   ├── TOSCA-Metadata
   │   └── TOSCA.meta                       Meta-data of overall package
   └── Templates                            Contains combination of mapping and template

To process a CBA for any service we need to enrich it first. This will gather all the node- type, data-type, 
artifact-type, data-dictionary definitions provided in the blueprint.json.