使用带参数的 Saltstack cmd.script 插入 Jinja 变量

Using Saltstack cmd.script with args to Insert Jinja Variable

我是 运行 一个 powershell 脚本,用于获取特定用户的凭据,然后在 salt 状态下使用这些凭据。当用户名直接硬编码在 powershell 脚本中时,这很好用。但是,我无法将用户名作为参数传递。这是我的盐州:

{% set creds = salt['cmd.powershell']('C:\test2.ps1' 'username') %}

test_output:
  cmd.run:
    - name: echo {{ creds }}

我也试过这个...但是不行。

{% set creds = salt['cmd.script'](shell='powershell' source='C:\test2.ps1' args='username') 
%}

如何正确地将参数传递到我的 powershell 脚本以设置我的变量?

Jinja 中字符串和函数调用的规则与 Python 相同。 "' 是字符串分隔符,\ 是转义符。函数参数以逗号分隔。

{% set creds = salt['cmd.powershell']('C:\test2.ps1 username') %}

对于 cmd.scriptsource 应该是远程文件 URL,而不是本地文件。

{% set creds = salt['cmd.script'](shell='powershell', source='salt://path/test2.ps1', args='username') %}