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

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