.. _create-a-configuration-template: Create a Configuration Template ------------------------------- .. _20.1.1|VOSS-670|EKB-3539: #. Choose the hierarchy level at which you want to create a Configuration Template. #. From the **Configuration Templates** list view, clone the required template. #. Enter the **Name** (mandatory field) and **Description**, and verify the **Target Model Type**. #. Use the **Custom feature usage identifier** array list input to add one or more values that can then for example be used in GUI Rules macros to filter choices in drop lists, for example by ``QAS`` and ``SAP`` below: :: {# data.ConfigurationTemplate.name | target_model_type:device/cucm/User,feature_usage:QAS #} {# data.ConfigurationTemplate.name | target_model_type:device/cucm/User,feature_usage:SAP #} .. note:: Only add or modify the feature usage details for *custom features* which you add to the system. Changing the feature usage on Configuration Templates which are shipped with the product may have unintended behaviour changes for the standard set of features included with the product. #. If the Configuration Template will be used along with other Configuration Templates that apply to the same **Target Model Type** in a Provisioning Workflow, select the **Merge Strategy** to be applied when these Configuration Templates are merged in the workflow: * **Additive** - if the Data Type of the Target Model is an array, the Configuration Template will add an array item to any existing array. * **Replace** - if the Data Type of the Target Model is an array, the Configuration Template will replace the array item of any existing array. #. If required for model attributes that are arrays, add **Foreach Elements** by clicking **+** (Add) for each: a. Enter a **Property** that is the model array attribute to which the entry applies. #. Enter a **Macro List** to loop over. A macro list opens with {# and closes with #}. #. Enter a **Context Variable** name to store the current loop value of the macro list. The **Context Variable** is referenced as a macro with the *cft* prefix in the Configuration Template value for the array attribute, so that for each instance in the list loop, an array entry is created when the template is applied. For example: ``{{cft.MyContextVar.name}}`` Configuration Templates that are part of Provisioning Workflows can reference spreadsheet column values using the ``input`` syntax: ``{{input.[entity attribute]}}``, for example ``{{input.username}}``. #. In the **Target Model Type** section, enter (default) values for those displayed attributes that these should be applied to when the template is used in conjunction with the target model. If the user has access to macros, the values can be macros to determine values. #. Click **Save** on the button bar to create and save the Configuration Template. The created Configuration Template is available to be applied to the model by for example using it in a Menu Layout or Provisioning Workflow. .. |VOSS Automate| replace:: VOSS Automate .. |Unified CM| replace:: Unified CM