2015-07-09 13 views
5

Tôi cố gắng để cấu hình một file YAML ở định dạng này:giá trị bản đồ YAML không được phép trong bối cảnh này

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 

Ý tưởng là tôi có thể đọc được nội dung bên trong phần tử việc làm, và có một loạt các các cấu hình công việc khác nhau có thể được phân tích cú pháp. Tuy nhiên,

tuy nhiên, YAMLint.com cho tôi biết đây là YAML bất hợp pháp do mapping values are not allowed in this context at line 2 trong đó line 2 là dòng jobs:.

Tôi đang làm gì sai?

Trả lời

8

Đây là YAML hợp lệ:

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 

Lưu ý, rằng mỗi '-' bắt đầu yếu tố mới trong chuỗi. Ngoài ra, thụt lề của các phím trong bản đồ phải là chính xác giống như.

0

Các phần tử của chuỗi cần được thụt vào cùng một cấp. Giả sử bạn muốn hai công việc (A và B) mỗi với một ra lệnh danh sách các cặp giá trị quan trọng, bạn nên sử dụng:

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 

Chuyển đổi trình tự của (entry duy nhất) ánh xạ đến một ánh xạ như @Tsyvarrev không được cũng có thể, nhưng làm cho bạn mất thứ tự.

Các vấn đề liên quan