第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何將 Python 腳本中的字典列表導(dǎo)入 Ansible playbook?

如何將 Python 腳本中的字典列表導(dǎo)入 Ansible playbook?

胡子哥哥 2021-11-09 20:17:26
我有一個(gè)在單獨(dú)的 python 腳本中定義的 python 變量,格式如下 -site_list = [   {'name': "MyTestSite",                 'alias': 'site1',                 'website_url':  ['website1.test.com' ,'website1.othertest.com'],                 'projectname':'Testsite',                 'id':'12345678'},                {'name': '"OtherTestSite"',                 'alias': 'foobar',                 'website_url':  ['foobar.test.com' ,'foobar2.test.com'],                 'projectname':'foobar',                 'id':'98765432'},                 ... (lots of other entries)我想嘗試將變量放入 Ansible 并在那里使用它,但是似乎我必須將變量重寫為 .yml 格式(基于https://docs.ansible.com/ansible/latest /modules/include_vars_module.html ),而不是僅僅導(dǎo)入 python 腳本并從那里使用它。是否可以按原樣導(dǎo)入 python 變量,而不是使用 yml 重寫它并將其放入 Ansible 目錄中的 group_vars 中?我可以看到檢索該變量的唯一另一種方法是將其打印在 Python 腳本中,從 Ansible 調(diào)用 Python 腳本,然后將輸出存儲(chǔ)為變量(但該解決方案對(duì)我來說似乎有點(diǎn)笨拙)。謝謝。
查看完整描述

1 回答

?
侃侃無極

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊

我建議使用查找插件管道和將變量轉(zhuǎn)儲(chǔ)到 json 的 python 文件:


Python 文件 vars.py:



import json


initial = [{'name': "MyTestSite",

                 'alias': 'site1',

                 'website_url':  ['website1.test.com' ,'website1.othertest.com'],

                 'projectname':'Testsite',

                 'id':'12345678'},


                {'name': '"OtherTestSite"',

                 'alias': 'foobar',

                 'website_url':  ['foobar.test.com' ,'foobar2.test.com'],

                 'projectname':'foobar',

                 'id':'98765432'}]



print(json.dumps(initial))

和劇本代碼:


---

- name: Test command

  hosts: localhost

  tasks:

  - name: Load variable to fact

    set_fact:

      the_var: "{{ lookup('pipe', 'python vars.py') | from_json }}"

  - name: Test command

    debug:

      msg: "{{ item }}"

    with_list: "{{ the_var }}"

在使用之前不要忘記將文件上傳到節(jié)點(diǎn)。


使用 ansible 2.7.6 進(jìn)行測(cè)試


查看完整回答
反對(duì) 回復(fù) 2021-11-09
  • 1 回答
  • 0 關(guān)注
  • 208 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)