-1

我用rancher,当rancher-compose输入$时,无法创建堆栈

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

4

2 回答 2

0

你不需要 escape $,它不是 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
于 2016-04-20T09:06:45.193 回答
0

如果我理解正确,您将希望使用它 $$来获取$最终的 yaml 文件。例如,在 rancher compose 中,我们有带有${stack_name}/${service_name}.. 的标签,它们看起来像: $${stack_name}/$${service_name}

于 2016-04-19T17:29:51.610 回答