【问题标题】:Ansible Tower/AWX REST API launch job template with limit hosts具有限制主机的 Ansible Tower/AWX REST API 启动作业模板
【发布时间】:2020-11-13 08:59:49
【问题描述】:

我正在尝试使用 Python 从 REST API 运行 AWX 作业模板。仅在没有任何参数的情况下运行作业模板时它工作正常,但我需要在执行中指定目标主机。使用 get 方法时,我可以看到有一个“限制”参数。不幸的是,当我使用 python script.py job_id 运行代码时,我得到了 limit: b'{"job":2133,"ignored_fields":{"limit":"server-PRC-05"}," id":2133,"type":"job","url":" 等等。我找不到这个工作的例子。 请在下面找到我的python代码:

import sys
import requests
import json
templateid=sys.argv[1]
from requests.auth import HTTPBasicAuth
headers = {'content-type': 'application/json'}
data_new = {'limit': 'server-PRC-05'}
res = requests.post('http://awx_host/api/v2/job_templates/'+templateid+'/launch/', 
verify=False, auth=HTTPBasicAuth('user', 'password'), data=json.dumps(data_new), headers=headers)
print (res.content)

【问题讨论】:

    标签: python api rest ansible-awx ansible-tower


    【解决方案1】:

    API /api/v2/job_templates/{id}/launch/ 刚刚收到extra-vars 作为数据,添加limit var 作为extra-vars

    在 Ansible Tower 中添加了额外的严格 extra_vars 验证 3.0.0。传递给作业启动 API 的 extra_vars 仅在以下情况之一为真时才有效:

    1. 它们对应于已启用调查中的变量
    2. ask_variables_on_launch 设置为 True

    https://docs.ansible.com/ansible-tower/latest/html/userguide/job_templates.html#extra-variables

    然后在该模板中设置ask_variables_on_launch=True

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多