【发布时间】:2019-04-22 21:51:54
【问题描述】:
我正在编写一个动态清单脚本来使用 Ansible Playbook。我正在寻找一种方法来传递从库存脚本中提取的自定义 var,以便在我的剧本中的任务中使用。
脚本中的清单提供了预期的以下信息
"vars": {
"ansible_ssh_user": ADMIN_ACCOUNT,
"ansible_ssh_private_key_file": CERT_PART,
"ansible_become": "yes",
"ansible_become_method": "sudo",
"server_name: $serverName,
}
现在我希望将 $serverName 的值传递给我在剧本中的一项任务中的脚本,例如:
- name: Execute an audit script
script: /etc/ansible/audit_server.sh {{ server_name }}
register: output
我的 audit_server.sh 只需要接受 $serverName 参数,例如
serverName=$1
name=$(get something -s $serverName)
我不确定 Ansible 本身是否支持这种变量的使用。
【问题讨论】:
-
如果您的库存返回一个
server_name变量,如您在示例中所示,您可以在您的 ansible 剧本中引用它。/etc/ansible/audit_server.sh {{ server_name }} -
我更新了剧本,因为它是一个错字