Connection Templates
Connection templates form the foundation of device connectivity in rConfig V8, defining how the system authenticates, connects, and interacts with network devices across your infrastructure. Understanding how to create and manage templates effectively ensures reliable configuration retrieval, reduces connection failures, and enables support for diverse network equipment from multiple vendors.
This guide covers template architecture, creation workflows, YAML configuration standards, troubleshooting techniques, and best practices for maintaining a scalable template library that supports your organization’s network management requirements.
Understanding Connection Templates
Section titled “Understanding Connection Templates”Connection templates serve as reusable configuration blueprints that specify the connection parameters, authentication methods, CLI prompts, command syntax, and behavior patterns for network devices. Rather than configuring connection details individually for each device, templates enable you to define these parameters once and apply them across multiple devices of the same type or vendor family.
Why Templates Matter
Section titled “Why Templates Matter”Templates address several critical challenges in network configuration management:
Consistency Across Device Fleet: Organizations managing hundreds or thousands of network devices need standardized connection methods. Templates ensure that all devices of a specific type use identical connection parameters, reducing configuration drift and troubleshooting complexity.
Multi-Vendor Support: Modern networks include equipment from various manufacturers, each with unique CLI behaviors, prompt patterns, and command syntax. Templates encapsulate these vendor-specific requirements, allowing rConfig to communicate effectively with diverse device types.
Simplified Device Onboarding: When adding new devices to rConfig, administrators can assign pre-configured templates rather than manually configuring connection parameters for each device. This accelerates deployment and reduces human error.
Centralized Maintenance: When connection requirements change (such as adjusted timeout values or modified privilege escalation commands), updating the template automatically propagates changes to all devices using that template.
Template Architecture
Section titled “Template Architecture”Each connection template is defined using YAML (YAML Ain’t Markup Language), a human-readable data serialization format that balances clarity with technical precision. The template structure includes:
- Connection Protocol Settings: Defines whether to use SSH, Telnet, or other protocols
- Authentication Parameters: Specifies username and password prompt patterns (not actual credentials)
- CLI Prompt Recognition: Patterns that identify when the device is ready for commands
- Command Execution Behavior: Timeout values, paging settings, and command delimiters
- Privilege Escalation: Enable mode access and privilege level commands
- Vendor-Specific Quirks: Special handling for unique device behaviors
Template Assignment Rules
Section titled “Template Assignment Rules”Understanding how templates relate to devices is essential for effective configuration management:
-
One Template Per Device: Each device in rConfig can be assigned exactly one connection template. This ensures predictable connection behavior and prevents conflicting configuration parameters.
-
Multiple Devices Per Template: A single template can be assigned to unlimited devices. This is the primary mechanism for scaling configuration management across device fleets.
-
Template Flexibility: While templates are labeled for specific vendors (such as “Cisco IOS”), they often work with devices from other manufacturers that use similar CLI patterns. Testing is recommended when applying templates across vendor boundaries.
-
No Limit on Template Count: Organizations can create unlimited templates to accommodate diverse network equipment, custom device configurations, or specialized connection requirements.
-
Template Portability: Templates use a standardized format compatible across rConfig versions, allowing organizations to share templates and leverage community-contributed configurations.
Template Repository and Default Templates
Section titled “Template Repository and Default Templates”rConfig V8 includes four default connection templates that cover common network device types:
- Cisco IOS/IOS-XE: Standard Cisco router and switch platforms
- Cisco NXOS: Nexus data center switching platforms
- Cisco ASA: Adaptive Security Appliance firewalls
- Generic SSH: Basic SSH connectivity for Linux/Unix systems
While labeled for Cisco platforms, these templates frequently support devices from other manufacturers including Arista, HP/Aruba, Juniper (with modifications), and other vendors using similar CLI patterns. Organizations should verify compatibility through testing before production deployment.
Community Template Repository
Section titled “Community Template Repository”The rConfig project maintains an open-source template repository on GitHub containing templates for dozens of vendor platforms and device types. This community-driven resource provides:
- Tested templates for major network equipment vendors
- Specialty templates for niche or legacy equipment
- Template development documentation and YAML standards
- Community contributions from rConfig users worldwide
Templates Main View
Section titled “Templates Main View”The templates interface provides centralized management for your connection template library. The main view displays all available templates in a searchable, sortable table format.

The interface provides several key functions:
- Template List: View all configured templates with key metadata
- Quick Search: Filter templates by name or protocol
- Add Template: Create new custom templates
- Repository Import: Bulk import templates from the GitHub repository
- Edit/Delete Actions: Modify or remove existing templates
- Template Testing: Assign templates to test devices for validation
Repository Import
Section titled “Repository Import”rConfig V8 streamlines template library expansion through one-click repository import functionality. This feature eliminates manual template creation by downloading the entire community template collection directly from the official GitHub repository.

Import Process
Section titled “Import Process”To import the complete template repository:
- Navigate to Settings → Templates in the rConfig interface
- Click the Import button with the GitHub icon
- rConfig connects to https://github.com/rconfig/rConfig-templates
- All available templates download and install automatically
- The template list refreshes to display newly imported templates
The import process is non-destructive—existing custom templates remain unchanged, and duplicate templates (based on name) will not overwrite your customized versions.
Creating and Editing Templates
Section titled “Creating and Editing Templates”Template creation and modification occurs through rConfig’s integrated YAML editor, which provides syntax highlighting and structured formatting for template configuration files.
Template Creation Workflow
Section titled “Template Creation Workflow”Step 1: Access Template Creation
- Navigate to Settings → Templates
- Click the Add Template button
- The YAML editor opens with a blank template structure
Step 2: Configure Basic Parameters
- Define template name (descriptive, indicating vendor/platform)
- Specify connection protocol (SSH, Telnet, etc.)
- Set authentication prompt patterns
Step 3: Define CLI Behavior
- Configure command prompt recognition patterns
- Set timeout values appropriate for device response times
- Define paging control commands if applicable
Step 4: Test and Validate
- Save the template
- Assign to a test device
- Execute connection tests using CLI commands
- Refine parameters based on connection behavior
Step 5: Production Deployment
- Once validated, assign to production devices
- Monitor initial connections for issues
- Document any device-specific requirements
Modifying Templates
- Select the template from the templates list
- Click the Edit action button
- The YAML editor opens with current configuration
Making Changes
- Modify required parameters in the YAML structure
- Preserve YAML formatting and indentation
- Save changes
Impact Considerations Template modifications affect all devices currently using that template. Consider:
- Testing changes on non-production devices first
- Scheduling changes during maintenance windows
- Creating template variants for testing rather than modifying production templates
- Documenting change rationale for future reference
Creating Template Variants The most efficient method for creating similar templates:
- Edit an existing template similar to your target device
- Modify the template name
- Adjust vendor-specific parameters
- Save as a new template
This approach preserves working configurations while allowing customization for device variations or vendor-specific requirements.
YAML Editor Guidelines
Section titled “YAML Editor Guidelines”The template editor provides a direct interface to YAML configuration files. Understanding YAML syntax requirements ensures error-free template creation:
Comments and Documentation
- All comments begin with the
#
character - Comments can appear on their own line or at the end of configuration lines
- Default templates include extensive comments explaining each parameter
- Retain existing comments for documentation purposes, or add your own
Syntax Requirements
- Indentation: YAML uses spaces (not tabs) for structure—typically 2 or 4 spaces per level
- Quotation Marks: String values may require single or double quotes, particularly when containing special characters
- Colons and Spaces: Key-value pairs use the format
key: value
with a space after the colon - List Items: Array items begin with a dash and space
- item
- Case Sensitivity: YAML keys and values are case-sensitive
Critical Parameters
Username and Password Prompts
The username
and password
keys define the CLI prompt patterns that rConfig watches for during authentication. These keys specify prompt text patterns, not actual credentials:
username: "Username:" # The prompt the device displayspassword: "Password:" # The password prompt pattern
Device credentials are stored separately in the device configuration and provided at connection time. Never include actual usernames or passwords in template files.
Timeout Configuration The timeout parameter controls how long rConfig waits for device responses before declaring a connection failure:
timeout: 15 # Timeout in seconds
Common YAML Errors
- Extra or missing spaces in indentation
- Missing colons after keys
- Unmatched quotation marks
- Incorrect list formatting
- Mixed tabs and spaces
- Trailing spaces at line ends
The YAML editor does not include real-time syntax validation. Syntax errors may not appear until template execution, resulting in connection failures. Careful attention to formatting prevents these issues.
Template Development and Debugging
Section titled “Template Development and Debugging”Effective template development requires iterative testing and refinement. The recommended workflow:
1. Create Test Environment
- Identify a non-production device for testing
- Ensure console or out-of-band access in case of connection issues
- Document current device configuration for rollback if needed
2. Assign Template to Test Device
- Navigate to Devices → Device Management
- Edit the test device configuration
- Assign the new template
3. Execute Connection Tests Use rConfig CLI commands to test template connectivity:
cd /var/www/html/rconfig8/currentphp artisan rconfig:download-device {device-id} --debug
The --debug
flag provides verbose output showing:
- Connection establishment attempts
- Authentication sequence
- Prompt recognition
- Command execution
- Error messages and timeout events
4. Analyze Results Review command output for:
- Successful authentication
- Proper prompt recognition
- Complete command execution
- Clean disconnection
- Any error messages or warnings
5. Refine Template Based on test results, adjust:
- Prompt recognition patterns
- Timeout values
- Command syntax
- Privilege escalation sequences
6. Iterate Until Successful Repeat the testing cycle until the template reliably connects and retrieves configurations from test devices.
7. Expand Testing Before production deployment:
- Test with multiple devices of the same type
- Verify performance with devices in different network locations
- Confirm reliability over multiple connection cycles
YAML Configuration Reference
Section titled “YAML Configuration Reference”For comprehensive documentation on all available YAML keys, value formats, and configuration options, consult the official template repository documentation:
GitHub Repository: https://github.com/rconfig/rConfig-templates
The repository includes:
- Complete YAML key reference
- Parameter descriptions and value formats
- Vendor-specific configuration examples
- Template development best practices
- Community-contributed templates with annotations
Advanced Template Techniques
Section titled “Advanced Template Techniques”Handling Multi-Vendor Environments
Section titled “Handling Multi-Vendor Environments”Organizations managing diverse network equipment can leverage template strategies to minimize configuration overhead:
Generic Template Approach Create broadly compatible templates that work across multiple vendors with similar CLI behaviors:
- Start with vendor-neutral prompt patterns
- Use conservative timeout values
- Avoid vendor-specific commands unless necessary
- Test across different manufacturers before deployment
Vendor-Specific Template Library For complex environments, maintain separate templates for each vendor and platform:
- Precise prompt recognition for each device type
- Optimized timeout values based on device performance characteristics
- Vendor-specific command syntax and privilege escalation
- Custom paging control appropriate for each platform
Template Naming Conventions
Section titled “Template Naming Conventions”Implementing consistent naming conventions improves template management and device assignment:
Recommended Patterns
Vendor-Platform-Protocol
: Cisco-IOSXE-SSHVendor-Model-Version
: Juniper-MX-JunOS15Function-Type
: Firewall-Generic-SSHLocation-Vendor-Type
: DC1-Arista-Leaf
Clear naming enables administrators to quickly identify appropriate templates during device configuration and simplifies template library maintenance.
Troubleshooting Connection Templates
Section titled “Troubleshooting Connection Templates”Template-related issues typically manifest as connection failures, authentication errors, or incomplete configuration retrieval. Systematic troubleshooting identifies root causes and guides resolution.
Common Issues and Resolutions
Section titled “Common Issues and Resolutions”Symptoms
- Device connections fail with timeout errors
- Configuration downloads incomplete
- Intermittent connection success
Common Causes
- Timeout Value Too Low: Device requires more time to respond than template allows
- Network Latency: High-latency connections (WAN, VPN) need extended timeouts
- Device Performance: Overloaded devices respond slowly to commands
- Prompt Pattern Mismatch: rConfig waits indefinitely for prompt that never matches
Resolution Steps
- Increase timeout value incrementally (start with 5-second increases)
- Test with
--debug
flag to observe actual response times - Verify prompt patterns match actual device output
- Consider network path and adjust timeouts for remote devices
- Monitor device CPU/memory utilization during connection attempts
Example Fix
# Original - too aggressivetimeout: 5
# Adjusted for WAN devicestimeout: 20
Symptoms
- Login fails despite correct credentials
- Connection succeeds but authentication rejected
- Prompt recognition failures after login
Common Causes
- Incorrect Prompt Patterns: Username/password prompts don’t match template
- Case Sensitivity: Device prompts use different capitalization
- Special Characters: Prompts contain unexpected characters or formatting
- Privilege Level Issues: Insufficient privileges after authentication
Resolution Steps
- Manually connect to device and document exact prompt text
- Update template prompt patterns to match precisely
- Account for case sensitivity in prompt recognition
- Verify credential storage in device configuration
- Check privilege escalation commands if enable mode required
Example Prompt Variations
# Standard formatusername: "Username:"password: "Password:"
# Case variationsusername: "username:"password: "password:"
# Device-specific formatusername: "login:"password: "Enter password:"
Symptoms
- Configuration retrieval stops mid-file
- Missing sections of device output
- Truncated command responses
Common Causes
- Paging Not Disabled: Device paging interrupts output
- Command Timeout: Long outputs exceed timeout values
- Buffer Size Limitations: Output exceeds connection buffer
- Prompt Pattern Interference: Mid-output text matches prompt pattern
Resolution Steps
- Verify paging disable commands in template
- Increase timeout for lengthy command outputs
- Check for prompt pattern false-positive matches
- Test with simplified commands to isolate issue
- Review device-specific paging control requirements
Paging Control Examples
# Cisco IOSpaging_command: "terminal length 0"
# Juniper JunOSpaging_command: "set cli screen-length 0"
# HP/Arubapaging_command: "no page"
Symptoms
- Template fails to save
- Connection attempts fail immediately
- Unexpected behavior during execution
Common Causes
- Indentation Errors: Inconsistent spacing breaks YAML structure
- Quote Mismatches: Unmatched or incorrect quotation marks
- Missing Colons: Key-value pairs missing required separators
- Trailing Spaces: Invisible spaces at line ends
- Tab Characters: Tabs used instead of spaces
Resolution Steps
- Use a YAML validator to check syntax
- Copy template to external editor with YAML support
- Verify consistent indentation (2 or 4 spaces)
- Check all quote marks are properly paired
- Remove any tab characters, replace with spaces
- Compare to working template from repository
Debugging Technique Start with a known-working template from the repository and modify incrementally, testing after each change to identify which modification introduces errors.
Debug Mode Connection Testing
Section titled “Debug Mode Connection Testing”The most effective troubleshooting tool is debug-enabled connection testing via CLI:
cd /var/www/html/rconfig8/currentphp artisan rconfig:download-device {device-id} --debug
Debug output reveals:
- Exact connection sequence and timing
- Authentication prompts and responses
- Command execution and device replies
- Timeout events and duration
- Error messages with context
- Prompt recognition patterns matched
Analyze debug output systematically:
- Verify connection establishment
- Check authentication prompt recognition
- Confirm credential exchange
- Observe post-authentication prompt detection
- Review command execution sequence
- Identify where process fails or hangs
This information directly guides template parameter adjustment.
Getting Support
Section titled “Getting Support”For complex template issues or unsupported device types:
Community Resources
- Review GitHub repository for similar device templates
- Search community forums for related discussions
- Consult vendor documentation for CLI specifications
Enterprise Support Organizations with rConfig Enterprise support can contact the support team for:
- Custom template development assistance
- Complex multi-vendor environment guidance
- Performance optimization for large-scale deployments
- Integration with specialized network equipment
Contact: [email protected]
Best Practices
Section titled “Best Practices”Template Management
Section titled “Template Management”Maintain a Template Library
- Document all custom templates with creation date and purpose
- Store templates in version control for change tracking
- Create templates for new device types before mass deployment
- Review and update templates quarterly for optimization opportunities
Standardization
- Use consistent naming conventions across template library
- Establish organizational standards for timeout values
- Document vendor-specific requirements and quirks
- Share successful templates across teams to prevent duplication
Testing Discipline
- Never deploy untested templates to production devices
- Maintain test devices representing each major platform
- Validate templates against multiple devices of same type
- Test template changes before applying to production fleet
Security Considerations
Section titled “Security Considerations”Credential Protection
- Never embed credentials in template files
- Use rConfig’s encrypted credential storage
- Implement role-based access for template modification
- Audit template changes for security implications
Connection Security
- Prefer SSH over Telnet whenever supported
- Use appropriate key exchange and encryption algorithms
- Consider certificate-based authentication where applicable
- Document security requirements in template comments
Privilege Management
- Use minimum required privilege level
- Enable mode only when necessary for command execution
- Document privilege escalation requirements
- Monitor for privilege-related authentication failures
Documentation
Section titled “Documentation”Template Documentation
- Use YAML comments extensively to explain parameters
- Document device compatibility and testing history
- Note any vendor-specific quirks or limitations
- Include creation date and author information
Organizational Knowledge Base
- Maintain central documentation for template library
- Document troubleshooting procedures for common issues
- Create runbooks for template creation and testing
- Share lessons learned from template development
Working with Devices
Section titled “Working with Devices”Once templates are created and validated, assign them to devices through the device management interface:
- Navigate to Devices → Device Management
- Select the device to configure (or create new device)
- In the device configuration form, select the appropriate template from the Connection Template dropdown
- Save the device configuration
The assigned template controls all connection behavior for that device. When rConfig initiates configuration downloads, SNMP operations, or other device interactions, it uses the template parameters to establish and manage the connection.
Multiple devices can share the same template, enabling consistent connection behavior across device fleets. This is particularly valuable when managing large numbers of similar devices or rolling out standardized configurations across infrastructure.
For detailed device management procedures, refer to the Device Management documentation.
CLI Command Reference
Section titled “CLI Command Reference”Template testing and validation through the command-line interface provides detailed insight into connection behavior. For comprehensive CLI command documentation, including debug flags, output interpretation, and troubleshooting techniques, see the CLI Commands section.
Key commands for template testing:
# Test single device connection with debug outputphp artisan rconfig:download-device {device-id} --debug
# Download configuration from devicephp artisan rconfig:download-device {device-id}
# Test connectivity without configuration downloadphp artisan rconfig:test-connection {device-id}
Related Documentation
Section titled “Related Documentation”Template configuration integrates with several rConfig V8 features:
- Device Management: Assigning templates to devices, bulk operations
- CLI Commands: Testing and debugging templates via command line
- Authentication: Credential storage and management
- Scheduled Tasks: Automated configuration downloads using templates
- Connection Troubleshooting: Advanced connection issue resolution
Quick Reference
Section titled “Quick Reference”Template Management Checklist
Section titled “Template Management Checklist”Creating New Templates
Troubleshooting Template Issues
Common Template Parameters
Section titled “Common Template Parameters”Parameter | Purpose | Typical Values |
---|---|---|
timeout | Connection timeout in seconds | 5-30 seconds |
username | Username prompt pattern | ”Username:”, “login:“ |
password | Password prompt pattern | ”Password:”, “password:“ |
prompt | CLI ready prompt pattern | Device-specific regex |
protocol | Connection protocol | SSH, Telnet |
paging_command | Disable output paging | Vendor-specific |
enable_password | Enable mode prompt | ”Password:“ |
enable_command | Privilege escalation | ”enable”, “en” |
Recommended Timeout Values by Scenario
Section titled “Recommended Timeout Values by Scenario”Scenario | Recommended Timeout | Rationale |
---|---|---|
LAN devices, modern hardware | 10-15 seconds | Fast network, responsive devices |
WAN devices, remote locations | 20-30 seconds | Network latency considerations |
Legacy equipment | 25-35 seconds | Slower device processing |
Devices with large configs | 30-45 seconds | Extended output generation time |
Test/development environment | 15 seconds | Balance speed and reliability |
Summary
Section titled “Summary”Connection templates provide the foundation for reliable, scalable device connectivity in rConfig V8. By defining connection parameters, authentication patterns, and CLI behaviors in reusable YAML configurations, templates enable consistent communication with diverse network equipment across multi-vendor environments.
Key Takeaways:
- Templates separate connection logic from device configuration, enabling fleet-scale management
- YAML-based configuration provides flexibility with human readability
- One-click repository import provides access to community-contributed templates for dozens of platforms
- Systematic testing and refinement ensures reliable template performance
- Proper timeout tuning balances connection reliability with operational efficiency
- Debug mode connection testing provides detailed insight for troubleshooting
- Template standardization reduces configuration complexity and improves maintainability
Effective template management—combining proper creation workflows, thorough testing, performance optimization, and ongoing maintenance—ensures rConfig V8 reliably connects to network devices, retrieves configurations, and supports automated network management operations across your infrastructure.
For organizations managing complex multi-vendor environments or requiring assistance with custom template development, rConfig Enterprise support provides expert guidance and assistance. Contact [email protected] for more information.