我有以下列表,从脚本输出生成。
['abc', 'abc-display-name']
['def', 'def-display-name']
['hij', 'hij-display-name']
我想在ansible中使用上面的输出来构造和执行以下命令
oc create project -n abc -d abc-display-name
我尝试使用以下内容,但它无效。
---
- hosts: localhost
gather_facts: no
tasks:
- name: Executing the python script
script: convert_to_list.py
register: new_bu_list
- name: Framing the oc commands
shell: "oc create project -n {{item[0]}} -d {{item[1]}}"
with_lines: "{{ new_bu_list.stdout_lines }}"
不确定我在这里做错了什么。任何帮助将非常感激。
答案 0 :(得分:0)
如果我没弄错,OpenShift命令oc
的格式是:
oc new-project abc --display-name='abc-display-name'
如果convert_to_list.py
的输出是这样的:
abc abc-display-name
def def-display-name
hij hij-display-name
然后尝试使用:
- name: Framing the oc commands
shell: "oc new-project {{item.split(' ')[0]}} --display-name={{item.split(' ')[1]}}"
with_items: "{{ new_bu_list.stdout_lines }}"