2016-04-15 21 views
-1

我用的农场主,牧场主的时候,组成输入$,它不能创建堆栈

- variable: vzdb_rule description: "this line will use regular expression in rancher-compose.yml" label: "regular expression" default: ^$ required: true type: "string"

+0

你有YAML文件的完整的例子吗? '$'不是YAML中的保留字符,因此这可能是牧场主或其对有效YAML的解释中的错误。 – Anthon

+0

总是您的文章与要求的材料。评论意见,而不是包括缺少的元素(因为你不能正确格式化评论) – Anthon

+0

刚刚注意到你甚至没有打扰正确格式化你的原始文章 – Anthon

回答

0

如果我如果理解正确,您将需要使用 $$在最终的yaml文件中获得$。例如,在牧场主组成,我们有标签与${stack_name}/${service_name} ..在撰写他们看起来像: $${stack_name}/$${service_name}

+0

非常感谢你,我在rancher-compose.yml中使用变量类型的字符串,并且我想输入'正则表达式',我会尝试这个答案,你是好人 –

0

你不需要逃避$,它不是YAML保留字符。

你举的例子不是一个正确的YAML文件,你不能缩进description不同于variable如果他们键相同的映射(他们是)。

如果你调整你的钥匙的东西加载罚款:

import ruamel.yaml 
from ruamel.yaml.util import load_yaml_guess_indent 

yaml_str = """\ 
- variable: vzdb_rule 
    description: "In line with the rules of the real-time encoding library of regular expressions" 
    label: "实时库编码规则1" 
    default: ^$ 
    required: false 
    type: "string" 
""" 

data = ruamel.yaml.round_trip_load(yaml_str) 

print(ruamel.yaml.round_trip_dump(data)) 

给出:

- variable: vzdb_rule 
    description: In line with the rules of the real-time encoding library of regular expressions 
    label: 实时库编码规则1 
    default: ^$ 
    required: false 
    type: string