SaltStack cmd.run与curl和json主体

马丁

我有一个琐碎的任务,要坚持写盐状态。我需要使用带有json主体的curl来调用REST端点。这是

curl localhost/endpoint -d '{"some" : "data"}'

我的想法是简单地将其放入,并通过使用将其置于盐状态cmd.run不起作用。到目前为止,我有这个:

{%- set data = {'some': 'data'} %}

Use echo instead of curl:
  cmd.run:
    - name:  echo '{{ data|json }}'

这给了我

failed: Unknown yaml render error; line 5

Use echo instead of curl:
  cmd.run:
    - name:  echo '{"some": "data"}'    <======================

我有Salt版本2014.7.1

海因里希过滤器

对我而言,问题是curl被解释为YAML命令中的“:” (请参阅:如何在YAML中转义指示符(即:或-)

我最终使用了多行方法这样,即使变量(例如支柱数据)仍能正确解释,我也可以无转义地编写命令。

例如

Salt state description:
  cmd.run:
    - name: >-
        curl -X GET  "https://api.example.com/client/{{ pillar['client_id'] }}" -H  "X-Auth-Email: [email protected]" -H "X-Auth-Key: {{ pillar['api_key'] }}" -H "Content-Type: application/json" --data '{"some_json":true}'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SaltStack cmd.run与curl和json主体

来自分类Dev

Saltstack cmd.run - if 语句和除非

来自分类Dev

使用命令cmd.run的SaltStack错误

来自分类Dev

使用Saltstack Python API获取和设置支柱值

来自分类Dev

Vagrant(Saltstack)如何使用Salt状态安装package.json?

来自分类Dev

SaltStack问题

来自分类Dev

Python argv和cmd

来自分类Dev

如果我的文件没有更改,如何防止saltstack中的module.run?

来自分类Dev

如果我的文件未更改,如何防止saltstack中的module.run?

来自分类Dev

SaltStack和GitFS-找不到顶级文件或外部节点数据匹配项

来自分类Dev

npm run <cmd>运行缓慢

来自分类Dev

Emacs的Saltstack模式

来自分类Dev

用SaltStack设置环境

来自分类Dev

在Saltstack中使用公式

来自分类Dev

Saltstack需要安装点

来自分类Dev

SaltStack is not starting services

来自分类Dev

Saltstack Jinja并行循环

来自分类Dev

无法升级SaltStack

来自分类Dev

SaltStack作业检测

来自分类Dev

渲染 Saltstack 状态

来自分类Dev

使用 Saltstack 打包构建

来自分类Dev

'cmd1 |之间的区别 cmd2'和'cmd2 <(cmd1)'和'mkfifo foo; cmd1> foo; cmd2 foo'?

来自分类Dev

Haskell exe。文件和cmd

来自分类Dev

CMD设置/ a,模数和负数

来自分类Dev

cmd并行执行和终止

来自分类Dev

转到-组合cmd.StdoutPipe和Cmd.StderrPipe

来自分类Dev

Goland Mac "cmd + [" 和 "cmd + ]" 在 Goland Linux 中等效

来自分类Dev

How can i run cmd as administrator privileges by cmd command without using any shortcut of cmd?

来自分类Dev

shell中的cmd1和cmd2与cmd1和&cmd2有什么区别