An advanced example
Remote execution modules are endlessly flexible. The tools are there, and you can write whatever you need to extend Salt to handle your infrastructure.
However, we're not going to try to explore every possible need your infrastructure might have, as that is impossible to do in the space allotted. Every environment is different, and we have explored the available tools well enough for you to be able to tackle those hurdles on your own.
Instead, we will explore a more complicated example of a remote execution module function from beginning to end and walk through the code.
The example that we will use is file.replace
. This remote execution function is designed to replace text in a file based on a pattern. We can set arguments so that if a match is not found, it will prepend or append the text to the file. Here's a full list of arguments in the function declaration:
def replace(path, pattern, repl, count=0, flags=0,...