Ansible中的不安全变量

时间:2017-07-11 08:10:25

标签: ansible

我在高级主题中阅读了Ansible docs的这一页。here

---
my_unsafe_array:
    - !unsafe 'unsafe element'
    - 'safe element'

my_unsafe_hash:
    unsafe_key: !unsafe 'unsafe value'

这个不安全的关键字有什么用?

它告诉我们不安全的原始字符串。

我不知道该怎么做,想不出任何用例。任何人都可以指定任何有用的用例吗?

1 个答案:

答案 0 :(得分:0)

如果您从任何网址/用户输入或其他任何您无法确定是否没有花括号的内容中获取某些数据,则使用该用例。

让我们来看看这个愚蠢的例子,让我们假设file_str从外面到达那里(web api,script,...)。只需运行此剧本:并在出现提示时输入{{ user_pass }}

---

- hosts: localhost
  connection: local
  vars:
    - user_pass: user_secret_pass

  vars_prompt:
    - name: file_str
      prompt: File content
      private: False
  tasks:
    - shell:  
        echo {{ file_str }} > /tmp/echo_fstr

您将在user_secret_pass中看到/tmp/echo_fstr使用!unsafe关键字,您会看到{{ user_pass }} int /tmp/echo_fstr

截至最新版本的ansible,它不起作用 https://github.com/ansible/ansible/issues/23734