Command Central 10.1 | Automation and Template-based Provisioning | Using Composite Templates | What is a Composite Template?
 
What is a Composite Template?
With Command Central, you can use composite templates to create new environments and update or upgrade existing environments.
At the core of a composite template is the template definition. The template definition describes the target state of the environment that you want to install or modify, and Command Central calculates how to achieve the target state, based on the data in the composite template. The template definition is designed with the typical Software AG product environments in mind and takes into consideration the requirements specific for different types of environments, such as which components should be installed and how the components communicate with the system infrastructure or with each other.
The template definition can also include shell actions executed at different phases during the template application process, which enable Command Central to automate an even wider range of provisioning operations.
A composite template is very similar to an application and the concept of infrastructure as code in that it goes through several development stages:
1. Designing and creating
You design the state of the environment that you want to create in the composite template definition by defining a set of environment properties for which you can specify values or use the default values provided in the template. For example, you can specify which products to include in a composite template or the number of nodes on which to apply the template. You also include the following elements in the composite template definition:
*Define repositories, layers, templates, installations, and provisioning maps.
*Specify actions on demand that Command Central executes when applying the composite template, for example migrate a product that does not have a migration utility.
*Reference repositories and external files, such as license key, product, or fix image files.
2. Packaging
If the composite template that you designed does not include references to external files, it is defined in a single YAML template definition file. If the composite template includes references to external files, it is packaged in a zip archive, which consists of a YAML template definition file, named template.yaml, and the external files referenced in the template definition.
You can find sample composite templates for different product environments here: https://github.com/SoftwareAG/sagdevops-9.x-template-samples
3. Importing and applying
After you create a composite template, you should store it in a version control system and test or modify the template as required. To use the composite template, you must import it in Command Central and apply the template on the target machines. You import and apply composite templates using the composite templates commands of the Command Central command line interface (CLI). You can determine how you want to apply the template using the apply composite template command arguments, for example with the environment.type command argument you can select which of the environments defined in the template to apply on the target hosts. For more information about how to use the composite template commands, see sagcc exec templates composite import and sagcc exec templates composite apply.