码迷,mamicode.com
首页 > 其他好文 > 详细

ansible模块register/vars

时间:2020-09-17 16:02:37      阅读:28      评论:0      收藏:0      [点我收藏+]

标签:input   tor   private   reg   ext   confirm   prompt   debug   ==   

register注册变量

可以将输出信息作为变量值

示例:
[root@jack7-1 work]# cat register.yml


  • hosts: PC
    remote_user: root
    tasks:
    • name: test shell
      shell: "echo test > /root/test"
      register: testvar ==================>将shell输出的结果赋值给testvar变量
    • name: shell return
      debug:

      var: testvar ======>debug调用testvar

      msg: "{{testvar.end}}" ==============>debug调用testvar的内部的参数

vars_prompt 提示用户输入信息,并写入变量

name变量的名称
prompt 提示用户输入信息
encrypt: "sha512_crypt"使用sha512哈希算法,对字符串哈希,主要用于创建密码
confirm 提示用户再次提交
private是否隐藏用户输入的信息,默认yes,no不隐藏

示例(创建用户):
[root@jack7-1 work]# cat c_user_pass.yml


  • hosts: PA
    remote_user: root
    vars_prompt:
    • name: "user"
      prompt: "Please input your create user name"
      private: no
    • name: "pass"
      prompt: "Please input your password"
      encrypt: "sha512_crypt"
      confirm: yes
      tasks:
    • name: add user
      user:
      name: "{{user}}"
      password: "{{pass}}"

命令行传入变量

--extra-vars 简写 -e 适用与ansible ansible-playbook
传入单个变量值:ansible-playbook var.yml -e ‘var1="jack"‘
传入多个变量值:ansible-paybook var.yml -e ‘var1="jack" var2="ross"‘ (空格隔开,否则会报错)
传入变量列表:ansible-playbook var.yml -e ‘{"var_list":["var1","var2","var3",]}‘
传入变量文件:ansible-playbook var.yml -e ‘@/etc/ansible/vars/hero.yml‘

示例:
[root@jack7-1 work]# vim var.yml


  • hosts: PC
    remote_user: root
    vars:
    cmd_var1: This is a default var1
    cmd_var2: This is a default var2
    name_list: ["jack","ross","wolf","captain"]
    tasks:
    • name: "var on command line"
      debug:
      msg: "{{cmd_var1}},{{cmd_var2}},{{name_list[2]}}"
    • name: "var in file"
      debug:
      msg: I am {{hero_list[2]}}

变量有默认值的情况下,命令行传入的变量值优先级更高

变量文件:
[root@jack7-1 work]# cat ../vars/hero.yml
#This is a hero list
hero_list:

  • spander-man
  • iron-man
  • captain-Amarican
  • doctor
  • worlf
  • sour

ansible模块register/vars

标签:input   tor   private   reg   ext   confirm   prompt   debug   ==   

原文地址:https://blog.51cto.com/13434656/2528909

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!