这时我的剧本看起来像这样:
SELECT o.id
FROM object o JOIN
dimensions d
ON o.dimension_value_id = d.id
GROUP BY o.id
HAVING MAX(CASE WHEN o.dimension = 'length' THEN d.value END)) < 350 AND
MAX(CASE WHEN o.dimension = 'width' THEN s.value END)) < 350 AND
MAX(CASE WHEN o.dimension = 'height' THEN d.value END)) < 350;
我可以迭代商品吗? Desiderata:
- role: co_java
vars:
co_java_version: jdk1.6.0_45
- role: co_java
vars:
co_java_version: jdk1.8.0_161
谢谢
答案 0 :(得分:2)
您不能使用经典的角色调用方式来做到这一点(就像上面的示例一样)。但是,从ansible 2.4开始,p = subprocess.Popen(["code"], shell=True)
和import_role
可用。
include_role
同时,修改角色以直接接受要安装的jdks列表可能会更容易甚至更有效,因此循环直接发生在相关任务中。然后,您可以使用类似以下内容的名称进行调用:
- name: playbook to install java
hosts: my_hosts
tasks:
- name: Include role to install java versions
include_role:
name: co_java
vars:
co_java_version: "{{ item }}"
loop:
- jdk1.6.0_45
- jdk1.8.0_161