required_packages: pkg.installed: - pkgs: - git - perl - fortune cowsay_source: git.latest: - name: https://github.com/jasonm23/cowsay.git - target: /root/cowsay run_installer: cmd.run: - name: ./install.sh /usr/local - cwd: /root/cowsay - onchanges: - git: cowsay_source {% set cowfiles = salt.cmd.run('cowsay -l').split('\n')[1:] %} {% set ascii_arts = cowfiles | join(' ') %} {% for ascii_art in ascii_arts.split(' ') %} run_cowsay_{{ ascii_art }}: # name must be unique cmd.run: {% if ascii_art is in ['head-in', 'sodomized', 'telebears'] %} - name: echo cowsay -f {{ ascii_art }} should not be used {% else %} - name: fortune | cowsay -f {{ ascii_art }} {% endif %} {% endfor %} echo_pillar_demo_1: cmd.run: - name: "echo {{ pillar.demo_text | default('pillar not defined') }}" echo_pillar_demo_2: cmd.run: - name: "echo {{ pillar.demo.text | default('pillar not defined') }}" # Comment {% set rand = salt['random.get_str'](20) %} {% set IP_Address = pillar['IP_Address'] %} wait: cmd.run: - name: sleep 210 # another comment create_roster_file: file.managed: - name: /tmp/salt-roster-{{ rand }} - contents: - 'switch:' - ' host: {{ IP_Address }}' - " user: test" - " passwd: {{ passwd }}"