[Index]

Model: data/ConfigurationTemplate

Configuration Templates

Configuration templates are used to define values for attributes of any model. The values can be fixed values or existing macros visible from the hierarchy context where the configuration template is applied. The templates provide a useful way to define default values for items that are exposed in the GUI (visible, invisible or read-only). They also provides a mechanism to map data from data input via the GUI or device model events to other models or Provisioning Workflows in the system.

One may want to hide attributes of a model while setting them to a specific fixed value (for example a hard-coded setting); or one may wish to derive the value based on a macro (for example, look up the value based on data in the system).

For example, if a model has an attribute that is defined to be a date string, a Configuration Template for the attribute can be defined as a macro {{fn.now \"%Y-%m-%d\"}} in order to set the current date stamp as the value, such as 2013-04-18. Designers can access reference material for details on macros.

Another example is a model such as the Quick Add Subscriber that limits the user input to a few fields, whilst deriving the value of other hidden attributes from various Configuration Templates that are each applied to different underlying models that make up a Subscriber (for example, Voicemail account settings, conference account settings, phone, line, device profile settings, and so on).

When an instance of the model is added or updated, the Configuration Template that has been enabled for the model applies. For array elements of data models, a list and a variable can be specified to be looped through so that a value is applied to each element in the model array.

More than one Configuration Template can be created for a model. These can then be used as needed. Configuration Templates can also be applied to models in the design of for example Provisioning Workflows.

A Menu Layout that can be associated with a user role can also apply a Configuration Template to a model that is selected as a menu item.

For administrators at Provider Administrator level or higher, a quick way to create a Configuration Template would be to open a similar template from for example the Customizations > Configuration Templates menu and to customize a clone of it.

Administrators at levels above the Site Administrator can also customize these templates, including Field Display Policies.

Note

In a multi-cluster environment, Configuration Templates that result in device model drop-down lists on the GUI, may contain duplicates. Any duplicated item can be selected by the user.

Workflow for Creating Configuration Templates

Procedure

  1. Log in as Provider Administrator or higher.

  2. Choose Customizations > Configuration Templates.

    The list of templates appears.

  3. Click the template that you want to clone.

    The template information appears.

  4. Click Action > Clone.

  5. Edit the required generic template fields, such as Name, Description, Target Model Type, as well as the fields specific to the selected model (see "Configuration Template Field Reference" for the generic field descriptions).

    Note

    Certain fields only populate choices depending on specific conditions.

    For example, when creating a device instance Configuration Template in a multi device or clustered environment, the values in drop-down fields in the template that originate from a device will be the values from all the devices in the cluster. This list could therefore include duplicates, but in such a case, any duplicate may be chosen if required.

  6. Click Save.

    The new cloned template appears at the selected hierarchy level.

Example: Create a template for the Cisco 6941 SCCP Phone

  1. Enter the hierarchy where the Cisco Unified Communications Manager you want to use exists. This step is required if the fields are to populate values because some of the values are derived from the actual device model through the API.

  2. Click the Default CUCM Phone Template, and then click Action > Clone.

    Note: Do not click Save yet.

  3. Change the template Name and Description.

  4. Edit the template fields:

    Tip

    If you know the values for the fields, you can type the files in the fields instead of selecting the values from the list.

  5. Click Save.

Configuration Template Field Reference

Title Field Name Description
Name * name The name that is given to the Configuration Template.
Description description A description for the Configuration Template.
Foreach Elements foreach.[n] Iterates over the list returned by the macro and appends array elements to the specified field.
Property * property The field property to iterate over.
Macro List * macro_list The macro that produces the list to iterate over.
Context Variable * context_var The context variable that will contain the data from the iteration.
Schema Defaults schema_defaults.[n] Applicable only when the configuration template is used directly in API requests. This attribute contains a list of paths to the properties of the template section that must be used to enrich the default values of the schema. All paths specified must refer to array attributes.
Target Model Type * target_model_type The target model type and name that the Configuration Template applies to.
Merge Strategy merge_strategy Determines how this CFT will be merged into another CFT when it is being processed in a PWF. Default: additive.
Template * template The contents of the template, such as defaults and macros. The names shown in the template are determined by the attribute names of the Target Model Type.

Configuration Templates are applied to data models and domain models. When they are created, all the attribute fields of the model are exposed. Default values or macros can then be assigned to these fields as required. For array elements of the related data- and domain models, a list and a variable can be specified to loop through so that a value is applied to the model array. More than one Configuration Template can be created for a model. When an instance of the model is added or updated, the Configuration Template that has been enabled for the model applies.

Model Details

Title Description Details
Name * The name that is given to the Configuration Template.
  • Field Name: name
  • Type: String
Description A description for the Configuration Template instance.
  • Field Name: description
  • Type: String
Custom feature usage identifier Custom feature usage identifier, is the feature name and is used as an additional filter for gui rule filtering
  • Field Name: feature_usage.[n]
  • Type: Array
Foreach Elements Iterates over the list returned by the macro and appends array elements to the specified field.
  • Field Name: foreach.[n]
  • Type: Array
Property * The field/property to iterate over.
  • Field Name: foreach.[n].property
  • Type: String
Macro List * The macro that produces the list to iterate over.
  • Field Name: foreach.[n].macro_list
  • Type: String
Context Variable * The context variable that will contain the data from the iteration.
  • Field Name: foreach.[n].context_var
  • Type: String
Schema Defaults Applicable when the configuration template is used directly in API requests. This attribute contains a list of paths to the properties of the template section that must be used to enrich the default values of the schema. All paths specified must refer to array attributes.
  • Field Name: schema_defaults.[n]
  • Type: Array
Target Model Type * The target model type and name that the Configuration Template applies to.
  • Field Name: target_model_type
  • Type: String
Merge Strategy Determines how this CFT will be merged into another CFT when it is being processed in a PWF. Default: additive
  • Field Name: merge_strategy
  • Type: String
  • Default: additive
  • Choices: ["Additive", "Replace"]
Template * The contents of the template, such as defaults and macros. The names shown in the template are determined by the attribute names of the Target Model Type.
  • Field Name: template
  • Type: String
API reference for data/ConfigurationTemplate