Ansible Jinja 在反斜杠上分割失败

Con*_*ole 2 jinja2 ansible

我有一个 ansible 游戏,尝试将以下格式的字符串拆分domain\user为各个部分:

这是任务

tasks:
    - name: do something which requires domain and user
      win_shell: echo "{{ lookup('aws_ssm', 'service_user-account-2921', decrypt=True, region='eu-central-1' )}}.split('\\')[0] }}"
Run Code Online (Sandbox Code Playgroud)

这导致:

ERROR! failed at splitting arguments, either an unbalanced jinja2 block or quotes: {{'DOMAIN\USER'.split('\')[0]}}
Run Code Online (Sandbox Code Playgroud)

如果我更改任务以删除查找,只要我用作\分隔符,它仍然会失败

      #win_shell: echo "{{ 'test,strings'.split(',')[0] }}" #WORKS
      win_shell: echo "{{ 'DOMAIN\\USER'.split('\\')[0]}}" #FAILS
Run Code Online (Sandbox Code Playgroud)

如何在ansible / jinja中用反斜杠分割?

Vla*_*tka 6

问:“如何在 ansible/jinja 中用反斜杠进行分割?”

A:将分隔符放入变量中。例如

      vars:

        separator: '\'
        text: 'domain\user'

      tasks:

        - debug:
            msg: "{{ text.split(separator) }}"
Run Code Online (Sandbox Code Playgroud)

给出

    msg:
    - domain
    - user
Run Code Online (Sandbox Code Playgroud)