loops - 循环期间模块执行的 Ansible 更新变量
问题描述
我需要使用 ansible 来完成以下工作:
1. 向 WebApi 发送一个 Http Post 请求
2. 检查响应是否满足要求,否则从响应中提取一些数据
3. 发送另一个 Http Post 请求,正文填充数据进入第 2 步
4. 循环第 1 步到第 3 步,直到响应满足要求
我的代码如下,但它不起作用。
似乎在模块finished_res
内部永远未定义。我的意思是模块内的变量似乎永远不会改变,因为我一直在服务器中收到相同的请求正文。但是,循环外部有效,我可以看到调试消息。uri
finished_res
uri
finished_res
- 主持人:所有 远程用户:ubuntu 收集事实:没有 变量: default_job_list: "xxx,yyy,zzz,aaa,bbb" 任务: - 名称:测试是工作完成 网址: 网址:“{{ API_URL }}” 方法:POST 正文:“{% 如果定义了 finished_res %}{{ finished_res.json.remainingJobs }}{% else %}{{ default_job_list }}{% endif %}” 返回内容:是的 注册:finished_res 改变时间:真 直到:finished_res 已定义,finished_res.json 已定义,finished_res.json.status 已定义且finished_res.json.status != "FALSE" - 设置事实: 回复:“{{完成_res }}” - 调试:msg="{{ RES }}"
有人可以帮助我吗?提前致谢 !
解决方案
最后,我用另一种方式解决了这个问题:创建一个新的 ansible 模块
推荐阅读
- c++ - 类对象的数组
- r - 比较同一回归的 beta 系数
- amazon-web-services - 因此用户在将 Google Signin 与 AWS cognito 一起使用时创建
- jquery - jquery拖动不同形状的div并拖放到容器中
- c# - 静态构造函数中的线程不能立即工作
- powershell - 提取部分txt文件
- python - 如何使用 tf.Print() 在张量内打印 3 个以上的值?
- angular - 对待 API Angular 4
- python - Python:删除每一行中的随机元素
- python - 如何使用 Firebase 在 python 中使用参数路由函数?