YAML


Overview:

YAML is YAML.


Sequence (Array):

Style:
  Block:
      - a
      - b
      - c
  Flow:
      [a, b, c]
  Result:
      ['a', 'b', 'c']

Style:
  Block:
      - a
      -
        - b1
        - b2
        -
          - b3.1
          - b3.2
      - c
  Result:
      ['a', ['b1', 'b2', ['b3.1', 'b3.2']], 'c']

Error:
  Block:
      - A
        - a1
        - a2
        - a3
  Result:
      ['A - a1 - a2 - a3']

Mapping (Hash):

Style:
  Block:
      A: a
      B: b
      C: c
  Flow:
      [A: a, B: b, C: c]
  Result:
      {'A': 'a', 'B': 'b', 'C': 'c'}

Style:
  Block:
      A: a
      B:
        B1: b1
        B2: b2
      C: c
  Flow:
  Result:
      {'A': 'a', 'B': {'B1': 'b1', 'B2': 'b2'}, 'C': 'c'}

Error:
  Block:
      A: a
        A1: a1
        A2: a2

Hash in array:

Style:
  Block:
      - name: A
        val : 1
      - name: B
        val : 2
      - name: C
        val : 3
  Flow:
      - [name: A, val: 1]
      - [name: B, val: 2]
      - [name: C, val: 3]
  Result:
      [{'name': 'A', 'val': 1},
       {'name': 'B', 'val': 2},
       {'name': 'C', 'val': 3}]

Array in Hash:

Style:
  Block:
    name:
      - A
      - B
      - C
    val:
      - 1
      - 2
      - 3
  Flow:
  Result:
      {'name': ['A', 'B', 'C'], 'val': [1, 2, 3]}

Pipe:

Style:
  Block:
      X: |
         A
         B
         C
  Result:
      {'X': 'A\nB\nC\n'}

Style:
  Block:
      X: |-
         A
         B
         C
  Result:
      {'X': 'A\nB\nC'}

Style:
  Block:
      X: |+
         A
         B
         C
  Result:
      {'X': 'A\nB\nC\n\n\n...'}

Redirect:

Style:
  Block:
      X: >
         A
         B
         C
  Result:
      {'X': 'A B C\n'}

Style:
  Block:
      X: >-
         A
         B
         C
  Result:
      {'X': 'A B C'}

Style:
  Block:
      X: >+
         A
         B
         C
  Result:
      {'X': 'A B C\n\n\n...'}