(CommandList
  children: [
    (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/gce/container-linux/helper.sh))})
    (FuncDef
      name: get-node-instance-metadata
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:metadata) op:Equal rhs:{(DQ )} spids:[66])]
              spids: [64]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:metadata)
                  op: PlusEqual
                  rhs: {(DQ ("kube-env=") (${ VSub_Name KUBE_TEMP) ("/node-kube-env.yaml,"))}
                  spids: [71]
                )
              ]
              spids: [71]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:metadata)
                  op: PlusEqual
                  rhs: 
                    {
                      (DQ ("user-data=") (${ VSub_Name KUBE_ROOT) 
                        ("/cluster/gce/container-linux/node.yaml,")
                      )
                    }
                  spids: [81]
                )
              ]
              spids: [81]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:metadata)
                  op: PlusEqual
                  rhs: 
                    {
                      (DQ ("configure-sh=") (${ VSub_Name KUBE_ROOT) 
                        ("/cluster/gce/container-linux/configure.sh,")
                      )
                    }
                  spids: [91]
                )
              ]
              spids: [91]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:metadata)
                  op: PlusEqual
                  rhs: {(DQ ("cluster-name=") (${ VSub_Name KUBE_TEMP) (/cluster-name.txt))}
                  spids: [101]
                )
              ]
              spids: [101]
            )
            (C {(echo)} {(DQ (${ VSub_Name metadata))})
          ]
          spids: [61]
        )
      spids: [57 60]
    )
    (FuncDef
      name: create-node-instance-template
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:template_name)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [134]
                )
              ]
              spids: [132]
            )
            (C {(create-node-template)} {(DQ ($ VSub_Name "$template_name"))} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name scope_flags>
                    bracket_op: (WholeArray op_id:Arith_Star)
                    spids: [148 153]
                  )
                )
              } 
              {
                (DQ 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(get-node-instance-metadata)})])
                    left_token: <Left_CommandSub "$(">
                    spids: [157 159]
                  )
                )
              }
            )
          ]
          spids: [129]
        )
      spids: [125 128]
    )
  ]
)