最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python將ansible配置轉(zhuǎn)為json格式實(shí)例代碼

 更新時(shí)間:2017年05月15日 14:44:07   作者:鴻弟  
這篇文章主要介紹了python將ansible配置轉(zhuǎn)為json格式實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下

python將ansible配置轉(zhuǎn)為json格式實(shí)例代碼

ansible的配置文件舉例如下,這種配置文件不利于在前端的展現(xiàn),因此,我們用一段簡(jiǎn)單的代碼將ansible的配置文件轉(zhuǎn)為json格式的:

[webserver]
192.168.204.70
192.168.204.71

[dbserver]
192.168.204.72
192.168.204.73
192.168.204.75

[proxy]
192.168.204.76
192.168.204.77
192.168.204.78

[test]
192.168.204.79
192.168.204.80

[haproxy]
192.168.205.82
192.168.204.83
 

用python將ansible配置轉(zhuǎn)為json格式,python代碼如下:

import ConfigParser
import json
dict_result = {}
cf = ConfigParser.ConfigParser(allow_no_value=True)
cf.read('/etc/ansible/hosts.test')
secs = cf.sections()
for sec in secs:
 dict_result[sec] = cf.options(sec)
print json.dumps(dict_result)

 轉(zhuǎn)換結(jié)果如下(python版本使用2.7版本的):

/usr/local/python/bin/python /tmp/test.py
{"test": ["192.168.204.79", "192.168.204.80"], "haproxy": ["192.168.205.82", "192.168.204.83"], "webserver": ["192.168.204.70", "192.168.204.71"], "proxy": ["192.168.204.76", "192.168.204.77", "192.168.204.78"], "dbserver": ["192.168.204.72", "192.168.204.73", "192.168.204.75"]}

 轉(zhuǎn)換成json文件就方便在前端進(jìn)行展示了,使用Flask提供json格式的接口如下:

#獲取ansible分組
@app.route('/web_test/ansible')
def web_test_ansible():
  dict_result = {}
  cf = ConfigParser.ConfigParser(allow_no_value=True)
  cf.read('/etc/ansible/hosts.test')
  secs = cf.sections()
  for sec in secs:
    dict_result[sec] = cf.options(sec)
  return json.dumps(dict_result)
 

然后前端代碼(使用bootstrap treeview)如下:

<script src="/static/js/bootstrap-treeview.js"></script>
  <script type="text/javascript">
    $(document).ready(function () {

      $('#btn-get-hostgroup').click(function () {
        getAllCheck = $('#hostgrouptree').treeview('getChecked');
        for (var i = 0; i < getAllCheck.length; i++) {
          console.log(getAllCheck[i].text);
        }
      });


      $.ajax({
        url: '/web_test/ansible',
        type: 'GET',
        success: function (data) {
          result = JSON.parse(data);
          nodes = [];
          for (var hostgroup in result) {
            var nodeshostgroup = [];
            hosts = result[hostgroup];
            for (var i = 0; i < hosts.length; i++) {
              nodeshostgroup.push({text: hosts[i], selectable:false});
            }
            nodes.push({text: hostgroup, nodes: nodeshostgroup, selectable:false});
          }
          $('#hostgrouptree').treeview({data: [{text: 'all', nodes: nodes, selectable:false}], showCheckbox: true, showBorder:false});
        }
      });
    });
  </script>
{% endblock %}
{% block page_content %}

  <div class="col-md-4" id="hostgrouptree">

  </div>

  <div class="col-md-6">
    <button id="btn-get-hostgroup" type="button" class="btn btn-default">獲取選中的組</button>
  </div>
 

ansible的配置文件在前端的展示如下,獲取ansible選中的組,利用ansible命令就可以實(shí)現(xiàn)一些簡(jiǎn)單的自動(dòng)化操作了:

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • python中使用paramiko模塊并實(shí)現(xiàn)遠(yuǎn)程連接服務(wù)器執(zhí)行上傳下載功能

    python中使用paramiko模塊并實(shí)現(xiàn)遠(yuǎn)程連接服務(wù)器執(zhí)行上傳下載功能

    paramiko是用python語(yǔ)言寫(xiě)的一個(gè)模塊,遵循SSH2協(xié)議,支持以加密和認(rèn)證的方式,進(jìn)行遠(yuǎn)程服務(wù)器的連接。這篇文章主要介紹了python中使用paramiko模塊并實(shí)現(xiàn)遠(yuǎn)程連接服務(wù)器執(zhí)行上傳下載功能,需要的朋友可以參考下
    2020-02-02
  • 150行python代碼實(shí)現(xiàn)貪吃蛇游戲

    150行python代碼實(shí)現(xiàn)貪吃蛇游戲

    這篇文章主要為大家詳細(xì)介紹了150行python代碼實(shí)現(xiàn)貪吃蛇游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • JS設(shè)計(jì)模式之責(zé)任鏈模式實(shí)例詳解

    JS設(shè)計(jì)模式之責(zé)任鏈模式實(shí)例詳解

    這篇文章主要介紹了JS設(shè)計(jì)模式之責(zé)任鏈模式,結(jié)合實(shí)例形式詳細(xì)分析了責(zé)任鏈模式的概念、原理、功能、使用場(chǎng)景及相關(guān)操作技巧,需要的朋友可以參考下
    2018-02-02
  • Python+OpenCV實(shí)現(xiàn)定位二維碼

    Python+OpenCV實(shí)現(xiàn)定位二維碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Python和OpenCV實(shí)現(xiàn)定位二維碼功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • Python PyAutoGUI模塊控制鼠標(biāo)和鍵盤(pán)實(shí)現(xiàn)自動(dòng)化任務(wù)詳解

    Python PyAutoGUI模塊控制鼠標(biāo)和鍵盤(pán)實(shí)現(xiàn)自動(dòng)化任務(wù)詳解

    這篇文章主要介紹了Python PyAutoGUI模塊控制鼠標(biāo)和鍵盤(pán)實(shí)現(xiàn)自動(dòng)化任務(wù),結(jié)合實(shí)例形式詳細(xì)分析了pyautogui模塊的安裝、導(dǎo)入以及針對(duì)鼠標(biāo)與鍵盤(pán)的各種常見(jiàn)響應(yīng)操作實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-09-09
  • Python復(fù)制Excel中的行、列和單元格的操作代碼

    Python復(fù)制Excel中的行、列和單元格的操作代碼

    在Excel中,復(fù)制行、列和單元格是日常工作中經(jīng)常需要進(jìn)行的操作,它可以幫助你快速調(diào)整數(shù)據(jù)布局、復(fù)制數(shù)據(jù)模板或進(jìn)行數(shù)據(jù)的批量處理,本文將詳細(xì)介紹如何使用Python將Excel中的行、列、或單元格范圍復(fù)制到指定位置,需要的朋友可以參考下
    2024-09-09
  • pytorch自定義初始化權(quán)重的方法

    pytorch自定義初始化權(quán)重的方法

    今天小編就為大家分享一篇pytorch自定義初始化權(quán)重的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • python實(shí)現(xiàn)各種插值法(數(shù)值分析)

    python實(shí)現(xiàn)各種插值法(數(shù)值分析)

    這篇文章主要介紹了python實(shí)現(xiàn)各種插值法(數(shù)值分析),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 通過(guò)字符串導(dǎo)入 Python 模塊的方法詳解

    通過(guò)字符串導(dǎo)入 Python 模塊的方法詳解

    這篇文章主要介紹了通過(guò)字符串導(dǎo)入 Python 模塊的方法詳解,本文通過(guò)實(shí)例結(jié)合,給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 使用bandit對(duì)目標(biāo)python代碼進(jìn)行安全函數(shù)掃描的案例分析

    使用bandit對(duì)目標(biāo)python代碼進(jìn)行安全函數(shù)掃描的案例分析

    這篇文章主要介紹了使用bandit對(duì)目標(biāo)python代碼進(jìn)行安全函數(shù)掃描,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01

最新評(píng)論

西吉县| 湘潭市| 惠安县| 崇信县| 鲁山县| 筠连县| 衡山县| 自贡市| 信阳市| 庆元县| 黎城县| 湄潭县| 饶平县| 阿城市| 佛坪县| 三门峡市| 海丰县| 南召县| 综艺| 汕尾市| 元阳县| 巴楚县| 宝丰县| 日照市| 定陶县| 肥西县| 广昌县| 舞钢市| 新沂市| 南皮县| 凤凰县| 新丰县| 永福县| 伊春市| 当阳市| 霍邱县| 开鲁县| 延安市| 古丈县| 永济市| 佛学|