我有一个像这样的Yaml文件
name: hhh_aaa_bbb
arguments:
- !argument
name: inputsss
description: hhh aaa bbb
required: true
- !argument
name: lll
description: lll
required: true
- !argument
name: ccc
description: ccc
required: true
source:
!!com.abc.bbc.sss
uri: !arg input
但是当我使用Yaml Lint在yamllint中验证这个yaml文件时,它会删除所有"!"或" !!"用户参数。为什么会这样?
这是我在验证后从yaml lint获得的输出
---
arguments:
-
description: "hhh aaa bbb"
name: inputsss
required: true
-
description: lll
name: lll
required: true
-
description: ccc
name: ccc
required: true
name: hhh_aaa_bbb
source:
uri: input
答案 0 :(得分:2)
如果您希望验证 YAML文件而不进行转换,请使用yamllint(linter,而不是网站 - yamllint.com不是linter)。
对于您的具体输入,它会给出:
$ yamllint file.yaml
file.yaml
1:1 warning missing document start "---" (document-start)
1:18 error trailing spaces (trailing-spaces)
4:9 error wrong indentation: expected 6 but found 8 (indentation)
8:9 error wrong indentation: expected 6 but found 8 (indentation)
12:9 error wrong indentation: expected 6 but found 8 (indentation)
17:9 error wrong indentation: expected 4 but found 8 (indentation)
答案 1 :(得分:1)
YAMLLint是一个没有印记的网站或任何其他有关作者,目的和YAML实施的信息。如果没有这些信息,您应该非常小心地相信它的输出。
只有作者可以告诉你为什么他们认为删除标签是个好主意。生成的YAML 不等同于没有标记的输入。
您可以使用其他网站进行在线YAML验证:
(完全披露:我是NimYAML的作者)