2015-12-02 46 views
0

運行ansible任務時,JSON數組被作爲額外的變量傳遞這樣的可變解析嵌套數組:如何其中內陣列需要外陣列

ansible-playbook --extra-vars '{"brands":["vw","bmw"], "vw":["golf","tiguan"],"bmw":["5 series","7 series"]}' 

如何解析這樣的JSON額外變得可變?

-name: something 
debug: msg=item 
with_items: {{brands}} 

那麼我需要訪問每個品牌的子品牌,該怎麼做呢?

回答

0

我不相信你可以通過另一個變量的結果訪問變量名。另一種方法是定義一個變量字典,文件爲這樣:

通過調用
brands: 
- name: vw 
    makes: 
    - golf 
    - tiguan 
- name: bmw 
    makes: 
    - 5series 
    - 7series 

然後在ansible你可以得到所有的品牌:

- name: Print car make 
    debug: msg="{{item.1}}" 
    with_subelements: 
    - brands 
    - makes