ansible base64多行变量的yaml语法错误

时间:2017-01-20 18:47:15

标签: base64 ansible yaml

Ansible版本:2.1.2.0

所以我有一个带有多行变量的yaml文件,该变量来自二进制文件转换为base 64。

我的变量文件:self-cert.yml

selfcert: |
MIIKCAIBAzCCCcIGCSqGSIb3DQEHAaCCCbMEggmvMIIJqzCCBWgGCSqGSIb3DQEHAaCCBVkEggVV
MIIFUTCCBU0GCyqGSIb3DQEMCgECoIIE+jCCBPYwKAYKKoZIhvcNAQwBAzAaBBQFa98IY7UgblDK
qGwMjTIQCK+3DwICBAAEggTIvA/VFm3j3oSN6cknp5qFyUxXAI5TxURnyx8UVRm8UfMcA0LHlh+z
06ztcwApIrxMSV26ezu0p1FrHInpbABNuO0rlk4XlQwTkLynUyg58iBwK7IyV5SqT2UC8djaOiMN
b9ViC3yn7SrRdS3MmCQznu6dScRIHbhG46yZNJrzrJh038X2KAPpS/LfC9DJBjaEzkZY8BwyARYe

当我尝试运行包含此变量的playbook时,我得到:

ERROR! Syntax Error while loading YAML.


The error appears to have been in '/home/ansible/projects/install-cert/self-cert.yml': line 3, column 1, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

MIIKCAIBAzCCCcIGCSqGSIb3DQEHAaCCCbMEggmvMIIJqzCCBWgGCSqGSIb3DQEHAaCCBVkEggVV
MIIFUTCCBU0GCyqGSIb3DQEMCgECoIIE+jCCBPYwKAYKKoZIhvcNAQwBAzAaBBQFa98IY7UgblDK
^ here

任何想法都错了吗?我试过改变了到> ,没有用,我也尝试缩进整个base64输出。

1 个答案:

答案 0 :(得分:1)

事实证明你确实需要对多行变量进行缩进。我的原始缩进是一个实际的标签而不是空格(Stupid Sublime),因此缩进未通过语法检查,但使用实际空格使一切正常。