此上下文中不允许 YAML 映射值

标签 yaml

我正在尝试配置以下格式的 YAML 文件:

jobs:
 - name: A
   - schedule: "0 0/5 * 1/1 * ? *"
   - type: mongodb.cluster
    - config:
       - host: mongodb://localhost:27017/admin?replicaSet=rs
       - minSecondaries: 2
       - minOplogHours: 100
       - maxSecondaryDelay: 120
 - name: B
   - schedule: "0 0/5 * 1/1 * ? *"
   - type: mongodb.cluster
    - config:
       - host: mongodb://localhost:27017/admin?replicaSet=rs
       - minSecondaries: 2
       - minOplogHours: 100
       - maxSecondaryDelay: 120

这个想法是我可以读取作业元素内的内容,并拥有一系列可以解析的不同作业配置。

但是,yamllint.com告诉我这是非法的 YAML,因为在第 2 行的上下文中不允许映射值,其中第 2 行是 jobs: 行。

我做错了什么?

最佳答案

这是有效的 YAML:

jobs:
 - name: A
   schedule: "0 0/5 * 1/1 * ? *"
   type: mongodb.cluster
   config:
     host: mongodb://localhost:27017/admin?replicaSet=rs
     minSecondaries: 2
     minOplogHours: 100
     maxSecondaryDelay: 120
 - name: B
   schedule: "0 0/5 * 1/1 * ? *"
   type: mongodb.cluster
   config:
     host: mongodb://localhost:27017/admin?replicaSet=rs
     minSecondaries: 2
     minOplogHours: 100
     maxSecondaryDelay: 120

请注意,每个 '-' 都会启动序列中的 元素。此外,映射中键的缩进应该完全相同

关于此上下文中不允许 YAML 映射值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31313452/

相关文章:

python - PyYaml.load_all() 返回生成器而不是字典?

amazon-web-services - 如何从另一个模板向现有 SQS QueuePolicy 添加新语句?

python - 从 YAML 文件中以 OOP 方式加载嵌套对象的最佳实践

python - Google App Engine URL 处理程序运行时出错

ruby-on-rails - fixture 中 erb 部件内部的评估 $LABEL

internationalization - Rails 3 - 如何为多个属性定义 ActiveModel 翻译?

rest - 如何使用 EMS 文档属性创建 YAML 文档

c# - 如何将 YAML 转换为 JSON?

azure - 在 Azure DevOps Pipeline 模板中使用变量

azure - 从 yaml 管道中的变量组参数化 azureSubscription