2015-07-09 1 views
5

Я пытаюсь настроить файл 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 

Идея заключается в том, что я могу прочитать содержимое внутри элемента работы и имею ряд различные конфигурации заданий, которые могут быть проанализированы.

Однако YAMLint.com сообщает мне, что это незаконный YAML из-за mapping values are not allowed in this context at line 2, где line 2 - линия jobs:.

Что я делаю неправильно?

ответ

8

Это действительно 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 

Обратите внимание, что каждый '-' начинает новый элемент в последовательности. Кроме того, отступы ключей на карте должны быть точно такими же.

0

Элементы последовательности должны быть отступом на одном уровне. Предполагая, что вы хотите два рабочих места (A и B), каждый с заказанного список пар ключ-значение, вы должны использовать:

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 

Преобразование последовательностей (одного входа) отображений для отображения, как @Tsyvarrev делает, также возможно, но заставляет вас потерять заказ.

Смежные вопросы