(command.CommandList
  children: [
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <get-node-instance-metadata>
      name: get-node-instance-metadata
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'metadata='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'metadata+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'metadata+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'metadata+='> name:metadata)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <'startup-script='> (${ Id.VSub_Name KUBE_TEMP) <'/configure-vm.sh,'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'metadata+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'metadata+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'metadata+='> name:metadata)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <'kube-env='> (${ Id.VSub_Name KUBE_TEMP) <'/node-kube-env.yaml,'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'metadata+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'metadata+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'metadata+='> name:metadata)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <'cluster-name='> (${ Id.VSub_Name KUBE_TEMP) <'/cluster-name.txt'>)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ (${ Id.VSub_Name metadata))}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <create-node-instance-template>
      name: create-node-instance-template
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'template_name='> (DQ ($ Id.VSub_Number 1))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <prepare-startup-script>
              more_env: []
              words: [{<prepare-startup-script>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <create-node-template>
              more_env: []
              words: [
                {<create-node-template>}
                {(DQ ($ Id.VSub_DollarName template_name))}
                {(DQ (${ Id.VSub_Name scope_flags))}
                {
                  (DQ 
                    (CommandSub
                      left_token: <Id.Left_DollarParen '$('>
                      child: 
                        (command.Simple
                          blame_tok: <get-node-instance-metadata>
                          more_env: []
                          words: [{<get-node-instance-metadata>}]
                          redirects: []
                          do_fork: T
                        )
                      right: <Id.Eof_RParen _>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
  ]
)