This document is part of the SystemLink Portal.
Advanced SystemLink States
In SystemLink you can create and apply States to your systems. By default, you apply a state to a target system to add the specified feeds and install a set of specific packages and versions on that target system.
However, advanced users can use states to do much more, such as running command-line commands, modifying registry keys, and modifying INI files on your target client system(s).
Background
To achieve remote job execution, SystemLink incorporates a popular remote execution engine known as Salt or Salt Open in its open-source variation. Salt is a Python-based framework that many large-scale data center providers use to manage configuration functions and task orchestration. Designed for scale and performance, Salt can help you manage thousands of nodes and thousands of jobs running simultaneously.
The architecture of Salt is similar to that of SystemLink in that it incorporates a master program on a central computer (“server”) to coordinate interactions among a group of connected nodes. On each node, Salt includes a minion service that manages local device processing. SystemLink users are not required to interface directly with Salt since SystemLink manages these interactions on the users’ behalf.
Developers interested in extending SystemLink’s remote execution capabilities can access Salt components for writing extensions and customizing automation.
Example of an Advanced State
In this example, I will walk you through how to create your own custom State in SystemLink that runs a command-line command when you apply the state on a system.
commandline_example:
cmd.run:
- name: '"c:\My Batch File.bat"'
More Examples
For more examples of other things you can do with Salt States, refer to this Advanced SystemLink State Examples GitHub page.