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 are displayed in a tree-like structure on the left side of the Generator Console. Users can expand and collapse template folders by clicking on the arrow icons.
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 with 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 a special Config Block entitled Full Configuration, which appears persistently at the bottom of the Generator Console.
The Full Configuration block displays a collation of all Configuration Snippets in one selectable area. A user can obtain the entire configuration for their deployment from this window.
The example below shows the collation of three Configuration Snippets: an interface, a static route, and a DHCP server.
2.5 Saving Configuration
Once a user has generated their configuration, they can download it to their local machine.
Alternatively, they can click on the Save button to save the configuration to the portal. They will then be able to view the config at a later date by clicking on the Config History tab at the top of the console.
Generating configuration through the REST API will automatically save the config to the portal.
2.6 Observing Active Alerts
During the generation of config, moments may arise 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 not 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.