Template
Location in GUI: Design
» CLI Templates
Diagram
Section titled “Diagram”Classes
Section titled “Classes”projects (catalyst_center.templates)
Section titled “projects (catalyst_center.templates)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
dayn_templates | List | [dayn_templates] | No |
dayn_templates (catalyst_center.templates.projects)
Section titled “dayn_templates (catalyst_center.templates.projects)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
name | String | Yes | ||
version | String | No | ||
description | String | No | ||
language | Choice | JINJA , VELOCITY | No | |
device_types | List | [device_types] | No | |
software_type | String | No | ||
software_version | String | No | ||
variables | List | [variables] | No | |
tags | List | String | No | |
management_device_ips | List | String | No | |
containing_templates | List | String | No | |
composite | Boolean | true , false | No | |
redeploy_template | Choice | ALWAYS , NEVER , ON_CHANGE | No |
device_types (catalyst_center.templates.projects.dayn_templates)
Section titled “device_types (catalyst_center.templates.projects.dayn_templates)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
product_family | String | Yes | ||
product_series | String | No | ||
product_type | String | No |
variables (catalyst_center.templates.projects.dayn_templates)
Section titled “variables (catalyst_center.templates.projects.dayn_templates)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
name | String | Yes | ||
field_name | String | No | ||
required | Boolean | true , false | No | |
data_type | Choice | STRING , INTEGER , IPADDRESS , MACADDRESS , SECTIONDIVIDER | Yes | |
hint_text | String | No | ||
additional_info | String | No |
Examples
Section titled “Examples”Example 1: Day-N template configuration for ongoing network management using JINJA templating language to create access list templates targeting Catalyst 9300 series switches:
catalyst_center: templates: projects: - name: Project_DayN description: Project_DayN dayn_templates: - name: access_list_template description: Access List Template language: JINJA composite: false device_types: - product_family: "Switches and Hubs" product_series: "Cisco Catalyst 9300 Series Switches" software_type: IOS-XE
The content of the template must be stored in the templates/ directory inside a JINJA file, with the file name matching the template name:
access_list_template.j2
## Access Listip access-list standard 2010 permit 10.0.0.0 0.0.0.25520 permit 20.0.0.0 0.0.0.255
Example 2: Onboarding template configuration for initial device provisioning using JINJA templating to automate Day-0 configuration deployment on Catalyst 9300 series switches:
catalyst_center: templates: projects: - name: Project_Onboarding description: Project_Onboarding onboarding_templates: - name: onboarding_template description: Onboarding Template language: JINJA composite: false device_types: - product_family: "Switches and Hubs" product_series: "Cisco Catalyst 9300 Series Switches" software_type: IOS-XE
Example 3: Composite template configuration combining multiple individual templates into a single deployable unit for complex ACL configurations targeting Catalyst 9300 series switches:
catalyst_center: templates: projects: - name: Project_DayN description: Project_DayN dayn_templates: - name: ACL_COMPOSITE description: ACL COMPOSITE language: JINJA composite: true device_types: - product_family: "Switches and Hubs" product_series: "Cisco Catalyst 9300 Series Switches" software_type: IOS-XE containing_templates: - ACL_41 - ACL_42
Templates content:
ACL_41
ip access-list standard 4110 permit {{acl_ip_address}} 0.0.0.255
ACL_42
ip access-list standard 4210 permit {{acl_ip_address}} 0.0.0.255
Example 4: Network profile template assignment demonstrating how to associate Day-N templates with switching network profiles for automated deployment across multiple sites:
catalyst_center: network_profiles: switching: - name: SDA SWITCH PROFILE dayn_templates: - ACL_COMPOSITE sites: - Global/United States/Golden Hills Campus/Sunset Tower - Global/United States/Lakefront Tower/Windy City Plaza - Global/United States/Oceanfront Mansion/Art Deco Mansion - Global/United States/Desert Oasis Branch/Desert Oasis Tower
Example 5: Device-specific template deployment showing how to deploy composite Day-N templates directly to individual devices with template-specific variable assignments:
catalyst_center: inventory: devices: - name: EDGE01 fqdn_name: EDGE01.cisco.com device_ip: 192.168.30.64 serial_number: FOC2644021A pid: C9300-24P state: PROVISION dayn_templates: composite: - name: ACL_COMPOSITE variables: - name: acl_ip_address value: 21.21.21.0 template_name: ACL_41 - name: acl_ip_address value: 22.22.22.0 template_name: ACL_42
Example 6: Template redeployment strategies demonstrating different approaches to template lifecycle management on network devices:
6a. Always redeploy template configuration regardless of content changes:
catalyst_center: inventory: devices: - name: EDGE01 fqdn_name: EDGE01.cisco.com device_ip: 192.168.30.64 serial_number: FOC2644021A pid: C9300-24P state: PROVISION dayn_templates: composite: - name: ACL_COMPOSITE redeploy_template: ALWAYS variables: - name: acl_ip_address value: 21.21.21.0 template_name: ACL_41 - name: acl_ip_address value: 22.22.22.0 template_name: ACL_42
6b. Conditional template redeployment only when template content changes:
catalyst_center: inventory: devices: - name: EDGE01 fqdn_name: EDGE01.cisco.com device_ip: 192.168.30.64 serial_number: FOC2644021A pid: C9300-24P state: PROVISION dayn_templates: composite: - name: ACL_COMPOSITE redeploy_template: ON_CHANGE variables: - name: acl_ip_address value: 21.21.21.0 template_name: ACL_41 - name: acl_ip_address value: 22.22.22.0 template_name: ACL_42
The redeploy_template
flag can be applied both at the template level and at the device level:
When defined under a template, it controls how that specific template is redeployed across all devices that use it.
When defined under a device, it controls redeployment of all templates assigned to that device.
This lets you choose whether to consistently redeploy a single template to many devices, or redeploy every template on a specific device.
Example 7: Template-level redeployment when content of template changes, affecting all devices that use this template:
catalyst_center: templates: projects: - name: Project_DayN description: Project_DayN dayn_templates: - name: ACL_COMPOSITE description: ACL COMPOSITE language: JINJA redeploy_template: ON_CHANGE composite: true device_types: - product_family: "Switches and Hubs" product_series: "Cisco Catalyst 9300 Series Switches" software_type: IOS-XE containing_templates: - ACL_41 - ACL_42
Example 8: Device-level redeployment when content of template changes, including both composite and regular templates:
catalyst_center: inventory: devices: - name: EDGE01 fqdn_name: EDGE01.cisco.com device_ip: 192.168.30.64 serial_number: FOC2644021A pid: C9300-24P state: PROVISION dayn_templates: redeploy_template: ON_CHANGE composite: - name: ACL_COMPOSITE variables: - name: acl_ip_address value: 21.21.21.0 template_name: ACL_41 - name: acl_ip_address value: 22.22.22.0 template_name: ACL_42 regular: - name: ACL_BLOCK variables: - name: interface value: GigabtEthernet1/0/1