2016-06-14 17 views
0

我在劇本中定義的值到變量:如何將一個以上的值添加到一個可靠的劇本中的變量?

war_name: abc 

和IM調用這個war_name的角色:

- name: Download war file 
    get_url: 
    url=http://url/directory/packages/tomcat/{{ war_name }}.war 

現在的問題是我必須分配2個值變量war_name在劇本 像

war_name: abc,xyz 

我怎樣才能做到這一點在我的劇本?

如果使用with_items爲:

- name: Download war file 
     get_url: 
     url=http://url/directory/packages/tomcat/{{ item }}.war 
    with_items: 
    - abc 
    - xyz 
    when: "'server' in app_name" 

它導致一個錯誤:

TASK [tomcat的:下載WAR文件] ************ **********************************失敗:[10.xxx](item = abc)=> {「失敗「:true,」item「:」abc「,」msg「:」缺少要求 arguments:dest「}失敗:[10.xxx](item = xyz)=> {」failed「:true, 」item 「:」xyz「,」msg「:」缺少必要參數:dest「}

回答

2

你缺少一個需要get_url

這裏dest參數被修改後的版本你的任務:

- name: Download war file 
    get_url: 
    url: "http://url/directory/packages/tomcat/{{ item }}.war" 
    dest: "/path-where-you-want-to-place/{{ item }}" 
    with_items: 
    - abc 
    - xyz 
    when: "'server' in app_name" 

希望能夠幫助您

+0

正確的問題,get_url需要'dest'to把文件 –

+0

這是從我的目的一個愚蠢的錯誤..謝謝你的作品.. :) –

0

你可以做的是這樣的

war_name: 
    war1: one 
    war2: two 

這基本上是一本字典。雖然我不確定你想在這裏做什麼?我猜你想要放置2戰在同一位置使用不同的名稱,如果是這樣的話,你可以實際使用with_items

+0

是的,我想用在同一個位置,我不能同時採用兩種不同的名字2場戰爭,因爲我的另一個劇本也採用同樣的作用並且只有一個值分配給變量war_name ..我用with_items作爲:url = http:// url/packages/tomcat/{{item}}。war with_items: - abc - xyz 但這不起作用,你有代碼我可以用「with_items」 –

+0

它會拋出什麼錯誤?你可以更新錯誤或「不變」的東西 –

相關問題