2. Generator Console
The Generator Console is the application workspace that allows users to generate configuration.
Users come here to fulfil network changes and verify templates are working correctly.
Configuration can also be generated using the REST API for end-to-end automation.
2.1 Launching the GC
The Generator Console is the home page of UCG. Users will automatically be greeted by the GC following a successful login.
Additionally, the first link in the application header will allow a user to navigate to the GC from any other page in the application.
2.2 Activating Templates
To commence the process of configuration generation, users must first activate templates relevant to the deployment they are working on.
All configuration templates available are displayed in a tree-like structure on the left side of the Generator Console. Users can expand and collapse template folders using the arrow icons for a smooth navigation experience.
Once a user finds a template of interest, they can click on the template name. This will highlight the template to signal it is active. If a user wishes to deactivate a template they may do so with another click.
Essentially, clicking a template name will toggle its activation state.
Additionally, the same template may be instantiated multiple times during the same deployment - this is controlled via the plus and minus icons in the top right corner of the active template block.
In the first screenshot below, four templates are in the active state. The second screenshot shows a static route template which has had three instantiations.
2.3 Providing Input Data
Activated templates will appear as Config Blocks within the main content area of the Generator Console. A Config Block consists of two components.
- Input Data Fields - These are either free text fields or drop-down select fields. Users provide input data to these fields based on the needs of their deployment. They can also hover their cursor over information icons to learn more about each input field.
- Configuration Snippet - This is the configuration displayed beneath the input fields. It is updated in real-time as users modify the inputs. Additionally, users can design the snippet to react to state changes of other Config Blocks - this enables template developers to embed business rules that govern how configuration is generated.
One great feature of Input Data Fields is that their presence can be dynamic. That is, the visibility of input fields can be toggled based on the evaluation of business rules; this makes hiding redundant information trivial.
2.4 Generating Configuration
As discussed, each activated template will create one corresponding Configuration Snippet. Most often though, deployments will require the usage of multiple snippets and saving each individually would be very tedious. As such, there is an additional special Config Block entitled Full Configuration, which appears persistently at the bottom of the Generator Console.
The Full Configuration block displays all Configuration Snippets cumulatively in one selectable area. A user can obtain the entire configuration for their deployment from this window.
The sample configuration block below shows the collation of three Configuration Snippets.
- Layer 3 Interface
- Static Route
- DHCP Server
2.5 Saving Configuration
Once a user has generated the configuration of interest, they may proceed to consume it. To save the Full Configuration or a Configuration Snippet, simply click on the Download button beneath the generated configuration.
A modal will then appear, requesting a filename to be provided. Once done, the configuration will be saved locally to the user's machine, and is ready to be applied in a network.
Saving configuration in the manner above is the correct approach for human operators. If automation is required, however, then the REST API is the correct interface for generating configuration.
2.6 Observing Active Alerts
During the process of activating templates, there may arise moments where conflicts within the configuration state occur. For example, this can happen if the same global variable is defined twice in two separate templates or if a variable is referenced in a Configuration Snippet but is never defined.
In the event of an error, an Active Alert is generated to warn users of the issue. Active Alerts are consolidated into a single container at the top of the Generator Console. As alerts are resolved they will automatically be removed from the list. And when all alerts are resolved, the container itself will disappear.