【问题标题】:Ansible - How to include answer from previous prompt into next promptAnsible - 如何将上一个提示的答案包含到下一个提示中
【发布时间】:2021-02-28 17:13:11
【问题描述】:

我正在编写一本剧本,从控制台获取变量的值。我正在尝试在第二个问题的提示中使用第一个问题的答案。但这不起作用。有可能吗?

这是我尝试过的。

vars_prompt:

    - name: acl_username
      prompt: "User name for ACL"
      private: no

    - name: acl_password
      prompt: "Password for "
      #      prompt: "Password for {{ acl_username }}"
      private: yes

我确实意识到在我最初的测试中会显示密码,但是一旦我开始工作,我会搜索如何不输出任务详细信息。

谢谢

【问题讨论】:

    标签: ansible prompt


    【解决方案1】:

    您需要在任务中提示用户输入,而不是在vars_prompt 部分; vars_prompt 中的变量只有在所有数据收集完毕后才可用。

    您可以使用名称不佳的pause 模块来提示用户在任务中输入。例如:

    - hosts: localhost
      gather_facts: false
      tasks:
        - name: get username
          pause:
            prompt: "User name for ACL"
            echo: true
          register: acl_username
    
        - name: get password
          pause:
            prompt: "Password for {{ acl_username.user_input }}"
            echo: false
          register: acl_password
    
        - debug:
            msg:
              - "{{ acl_username.user_input }}"
              - "{{ acl_password.user_input }}"
    

    运行它看起来像:

    PLAY [localhost] *****************************************************************************************************************************************************************************
    
    TASK [get username] **************************************************************************************************************************************************************************
    [get username]
    User name for ACL:
    ok: [localhost]
    
    TASK [get password] **************************************************************************************************************************************************************************
    [get password]
    Password for alice (output is hidden):
    ok: [localhost]
    
    TASK [debug] *********************************************************************************************************************************************************************************
    ok: [localhost] => {
        "msg": [
            "alice",
            "secret"
        ]
    }
    
    PLAY RECAP ***********************************************************************************************************************************************************************************
    localhost                  : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
    
    

    【讨论】:

      猜你喜欢
      • 2019-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多