使用ansible命令传递多个模块参数(参数)的方法
我想通过ansible命令执行类似于Playbook中所写的内容。
我想用Ansible命令做这样的事情。
- hosts: localhost
tasks:
- file:
path: ~/example.txt
state: touch
总结
以这种方式使用空格分隔的key=value形式即可。
$ ansible -m “模块名称” –args “参数1=值1 参数2=值2”
执行示例
$ ansible localhost -m "file" --args "path=~/example.txt state=touch"
localhost | SUCCESS => {
"changed": true,
"dest": "/Users/yinaura/example.txt",
"gid": 20,
"group": "staff",
"mode": "0644",
"owner": "yinaura",
"size": 4,
"state": "file",
"uid": 501
}
如果是在本地主机上,可以方便地进行操作而无需指定清单。
到达这里的过程
最新版本的ansible帮助文档只是用非常简洁的语言写成。
Options:
-a MODULE_ARGS, --args=MODULE_ARGS
module arguments
无论是搜索StackOverFlow还是官方文档,都找不到示例。
无论是用冒号、分号还是换行来分隔,都行不通。
经过尝试了很多方法,终于让它动起来了。
追加信息
Ansible 的工作原理被隨意地陳述並附上了例子,這令人驚訝。
ansible all -m ping
ansible foo.example.com -m yum -a "name=httpd state=installed"
ansible foo.example.com -a "/usr/sbin/reboot"
环境
- ansible 2.6.0
链接
- Gist
招募聊天室成员
如果您有任何问题、困扰或需要咨询的事情,请随时使用LINE公开聊天。
推特