Skip to content

Template

Location in GUI: Design » CLI Templates

Diagram
NameTypeConstraintMandatoryDefault Value
dayn_templatesList[dayn_templates]No

dayn_templates (catalyst_center.templates.projects)

Section titled “dayn_templates (catalyst_center.templates.projects)”
NameTypeConstraintMandatoryDefault Value
nameStringYes
versionStringNo
descriptionStringNo
languageChoiceJINJA, VELOCITYNo
device_typesList[device_types]No
software_typeStringNo
software_versionStringNo
variablesList[variables]No
tagsListStringNo
management_device_ipsListStringNo
containing_templatesListStringNo
compositeBooleantrue, falseNo
redeploy_templateChoiceALWAYS, NEVER, ON_CHANGENo

device_types (catalyst_center.templates.projects.dayn_templates)

Section titled “device_types (catalyst_center.templates.projects.dayn_templates)”
NameTypeConstraintMandatoryDefault Value
product_familyStringYes
product_seriesStringNo
product_typeStringNo

variables (catalyst_center.templates.projects.dayn_templates)

Section titled “variables (catalyst_center.templates.projects.dayn_templates)”
NameTypeConstraintMandatoryDefault Value
nameStringYes
field_nameStringNo
requiredBooleantrue, falseNo
data_typeChoiceSTRING, INTEGER, IPADDRESS, MACADDRESS, SECTIONDIVIDERYes
hint_textStringNo
additional_infoStringNo

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

Terminal window
## Access List
ip access-list standard 20
10 permit 10.0.0.0 0.0.0.255
20 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 41
10 permit {{acl_ip_address}} 0.0.0.255

ACL_42

ip access-list standard 42
10 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