日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ANSIBLE---变量

發布時間:2025/3/8 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ANSIBLE---变量 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

注冊變量

ansible的模塊在運行之后,其實都會返回一些”返回值”,只是默認情況下,這些”返回值”并不會顯示而已,我們可以把這些返回值寫入到某個變量中,這樣我們就能夠通過引用對應的變量從而獲取到這些返回值了,這種將模塊的返回值寫入到變量中的方法被稱為”注冊變量”。

提示用戶輸入信息并寫入變量

在運行某些腳本時,有時候腳本會提示用戶輸入一些信息,腳本需要根據用戶輸入的信息決定下一步的動作,這種”交互”有時候是必須的,那么,在playbook中該怎樣實現這種交互呢?我們可以這樣做,提示用戶輸入信息,然后將用戶輸入的信息存入到指定的變量中,當我們需要使用這些”輸入的信息”時,只要引用對應的變量即可
使用”vars_prompt”關鍵字創建了兩個變量,在定義” vars_prompt”中的變量時,使用private關鍵字,將變量的private屬性設置為no即可, “private: no”表示變量值為非私有的,可見的,默認情況下 private值為yes,表示不可見。我們還能為提示信息設置默認值,即如果用戶不輸入任何信息,則將默認值賦予變量

[root@server4 ~]# vim bl_test4.yml [root@server4 ~]# cat bl_test4.yml --- - hosts: testBremote_user: rootvars_prompt:- name: "solution"prompt: "Choose the solution you want \nA: solutionA\nB: solutionB\nC: solutionC\n"private: nodefault: Atasks:- name: output varsdebug:msg: The final solution is {{solution}}.

我們使用了default關鍵字設置了”solution”變量的默認值,如果用戶沒有輸入任何值(直接回車),則將”solution”變量的值設置為A,如果用戶輸入了值,則”solution”變量值為用戶輸入的值

encrypt關鍵字表示對用戶輸入的信息進行哈希,encrypt: “sha512_crypt”表示使用sha512算法對用戶輸入的信息進行哈希,當使用”encrypt”關鍵字對字符串進行哈希時,ansible需要依賴passlib庫完成哈希操作,如果未安裝passlib庫(一個用于哈希明文密碼的python庫),執行playbook時會報錯。

除了能夠使用”encrypt”關鍵字對字符串進行哈希加密,還能夠使用”confirm”關鍵字實現類似確認密碼的功能,我們在為用戶設置密碼時,通常需要輸入兩次完全相同的密碼,才能夠設置成功,通過”confirm”關鍵字就能實現類似的效果

通過命令行傳入變量

在調用playbook時使用?–extra-vars選項可以傳遞對應的變量與變量值,?–extra-vars是長選項,對應的短選項是-e,我們也可以一次性傳入多個變量,變量之間用空格隔開。在playbook中定義好變量,然后在執行playbook時,再次傳入相同名稱的變量,最終還是以傳入的變量值為準。命令行傳入的變量的優先級要高于playbook中的變量,傳入相同名稱的變量,除了使用”key=value”的方式傳遞變量,ansible還支持通過json的格式傳入變量。

使用”@”符號加上變量文件的路徑,即可在命令行中傳入對應的變量文件,變量文件中的所有變量都可以在playbook中引用

?

總結

以上是生活随笔為你收集整理的ANSIBLE---变量的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。