0

我想通过 salt-api 在 salt-master 上放置一个文件。我已经使用 rest cherrypy 配置了 salt-api 并为它配置了一个自定义钩子。我想探索我们可以首先将文件传输到 salt-master 然后将其分发给 minions 的用例。我能够实现第二部分,但无法将数据文件发布到 API。

4

1 回答 1

0

这是使用 file.write 执行模块的一种方法。

首先登录并将令牌保存到 cookie 文件中(我不得不将 eauth 更改为 ldap,auto 由于某种原因不起作用):

curl -sSk http://localhost:8000/login \
      -c ~/cookies.txt \
      -H 'Accept: application/x-yaml' \
      -d username=USERNAME\
      -d password=PASSWORD \
      -d eauth=auto

现在运行一个作业来在 salt-master 上创建一个文件(假设你的 salt-master 也在运行一个 salt-minion):

curl -sSk http://localhost:8000 \
      -b ~/cookies.txt \
      -H 'Accept: application/x-yaml' \
      -d client=local \
      -d tgt='saltmaster' \
      -d fun=file.write \
      -d arg='/tmp/somefile.txt' \
      -d arg='This is some example text

with newlines

A
B
C'

请注意,命令中使用的间距会影响行在文件中的显示方式,上面的示例给出了最美观的结果。

于 2017-05-24T11:51:57.147 回答