github.com/upcmd/up@v0.8.1-0.20230108151705-ad8b797bf04f/tests/functests/c0032.yml (about)

     1  doc_meta: |
     2    folder: dvars
     3    title: instance level merge
     4    head: |
     5      Demo dvars leave level merge in scope and instance level
     6  
     7    sections:
     8  
     9      - title: Note
    10        content: |
    11          * dvars expand in instance level
    12          * dvars object can merge in leaf level
    13          * dvar in dev will override same name dvar in nonprod level
    14          * school object in nonprod could append new element and also override same name element
    15  
    16      - title: Demo
    17        log: yes
    18  
    19  notes:
    20    goal:
    21      - dvars expand in instance level
    22      - dvars object can merge in leaf level
    23      - dvar in dev will override same name dvar in nonprod level
    24  
    25    expected:
    26      - school object in nonprod could append new element and
    27      - also override same name element
    28  
    29  scopes:
    30    -
    31      name: global
    32      vars:
    33        student:
    34          name: Tom
    35          gender: Male
    36          address:
    37            suburb:
    38              name: sydney
    39              postcode: 2000
    40              CBD: yes
    41            school: Sydney Grammar
    42  
    43    -
    44      name: nonprod
    45      members:
    46        - dev
    47        - staging
    48      vars:
    49        a: non-prod-a
    50        b: non-prod-b
    51        c: non-prod-c
    52        d: non-prod-d
    53      dvars:
    54        - name: school
    55          value: |
    56            address:
    57              suburb:
    58                name: {{.student.address.suburb.name}}
    59                postcode: 2000
    60                CBD: yes
    61              school: {{.student.address.school}}
    62          flags: [toObj]
    63  
    64    -
    65      name: dev
    66      vars:
    67        a: dev-a
    68        b: dev-b
    69      dvars:
    70        - name: school
    71          value: |
    72            address:
    73              suburb:
    74                name: {{.student.address.suburb.name}}
    75                postcode: 2000
    76                CBD: no
    77              school: {{.student.address.school}}
    78            principal: Mr Peter
    79          flags: [toObj]
    80  
    81  
    82  tasks:
    83  
    84    -
    85      name: task
    86      task:
    87        -
    88          func: shell
    89          do:
    90            - echo """1.school -> {{.school}}"""
    91            - echo """2.school object-> {{.school_object.address.suburb.CBD}}"""
    92            - echo """3.school object-> {{.school_object.address.school}}"""
    93            - echo """4.school object-> {{.school_object.principal}}"""