github.com/upcmd/up@v0.8.1-0.20230108151705-ad8b797bf04f/tests/functests/c0098.yml (about) 1 doc_meta: | 2 folder: dvars 3 title: datapath 4 head: | 5 Other than use datakey as data source for dvar rending, you can use datapath to reference to a varname and a sub element of a var in global runtime scope 6 7 sections: 8 - title: How to use 9 content: | 10 * datapath: 11 format is like a.b.c(name=fr*).value, following the yq path format: 12 13 1. 'a.b.c' 14 2. 'a.*.c' 15 3. 'a.**.c' 16 4. 'a.(child.subchild==co*).c' 17 5. 'a.array[0].blah' 18 6. 'a.array[*].blah' 19 20 - title: Relavant 21 content: templating using datakey and datapath 22 refs: 23 - title: use datakey and datapath in templating 24 link: ../../dvars/c0096 25 26 - title: query and yq datapath 27 content: query details 28 refs: 29 - title: query object 30 link: ../../object-oriented/c0100 31 32 - title: Demo 33 log: yes 34 35 related: 36 refs: 37 - title: yq and yq path reference 38 link: https://github.com/mikefarah/yq 39 40 notes: 41 goal: 42 - showcase the dvar to render value using sub element of an var rather the global var name space 43 - extension to c0082 44 45 vars: 46 student: 47 name: Tom 48 gender: Male 49 school: Sydney Grammar 50 nsw: 51 sydney: 52 sgschool: 53 student: 54 name: Tom 55 gender: Male 56 school: Sydney Grammar 57 aaa: aaa 58 datapointer: student 59 60 tasks: 61 - 62 name: task 63 task: 64 - 65 func: cmd 66 desc: use sub element of an var as context to render values 67 dvars: 68 - name: student_info 69 value: 'my name is:{{.name}} and I am in {{.school}}' 70 datapath: nsw.sydney.sgschool.student 71 flags: [vvv] 72 do: 73 - name: print 74 cmd: '{{.student_info}}'