【问题标题】:Using extra-var to call a defined variable in ansible在ansible中使用extra-var调用定义的变量
【发布时间】:2019-03-15 12:07:12
【问题描述】:

这可能吗?我有一本像这样的剧本:

变量: BDNAME:“”

  - name: Add a tenant using a JSON string
     aci_bd:
      tenant: "common"
      bd: "{{ BDNAME }}"
      vrf: "PIGGE"
      hostname: '1.1.1.1' 
      username: "x"
      password: "x"
      use_ssl: yes
      validate_certs: false

如果我在命令行中提供一个额外的变量,它会起作用:

ansible-playbook apic.yml -i server.yml --extra-vars BDNAME='pooh'

然后 BDNAME 得到值 pooh。 但是有什么方法可以将 pooh 定义为变量。因此,如果我像刚才那样运行 playbook,BDNAME 会获取该变量的值。

所以像 变量: BD 名称:“” 小熊维尼:nisse

那么 BDNAME 应该是 nisse。

【问题讨论】:

    标签: variables ansible


    【解决方案1】:

    直接从额外变量 POOH 在 playbook 中定义 BDNAME。那应该做你想做的。但是使用 POOH 而不是 BDNAME 会更容易。

    这是一个示例剧本:

    ---
    - hosts: localhost
      vars:
        BDNAME: "{{ POOH }}"
      tasks:
        - name: print BDNAME
          debug:
            msg: "{{ BDNAME }}"
    

    如果你调用它:

    ansible-playbook playbook.yml  -e '{"POOH": "Oliver"}'
    

    你会看到:

    TASK [print BDNAME] **********************************************************************************************************************************************************************************************************************************************************
    ok: [localhost] => {
        "changed": false, 
        "msg": "Oliver"
    }
    

    【讨论】:

      猜你喜欢
      • 2023-01-26
      • 1970-01-01
      • 1970-01-01
      • 2022-11-18
      • 2012-03-07
      • 1970-01-01
      • 1970-01-01
      • 2017-04-20
      • 2019-04-19
      相关资源
      最近更新 更多