(command.CommandList
  children: [
    (command.Simple
      blame_tok: <source>
      more_env: []
      words: [{<source>} {(DQ (${ Id.VSub_Name KUBE_ROOT) <'/cluster/gce/container-linux/helper.sh'>)}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <create-master-instance>
      name: create-master-instance
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'address='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.AndOr
              children: [
                (command.DBracket
                  left: <Id.KW_DLeftBracket '[['>
                  expr: 
                    (bool_expr.Unary
                      op_id: Id.BoolUnary_n
                      child: 
                        {
                          (BracedVarSub
                            left: <Id.Left_DollarBrace '${'>
                            token: <Id.VSub_Number 1>
                            var_name: 1
                            suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{})
                            right: <Id.Right_DollarBrace '}'>
                          )
                        }
                    )
                  right: <Id.Lit_DRightBracket ']]'>
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'address='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'address='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'address='> name:address)
                      op: assign_op.Equal
                      rhs: {(DQ (${ Id.VSub_Number 1))}
                    )
                  ]
                  redirects: []
                )
              ]
              ops: [<Id.Op_DAmp _>]
            )
            (command.Simple
              blame_tok: <write-master-env>
              more_env: []
              words: [{<write-master-env>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <create-master-instance-internal>
              more_env: []
              words: [
                {<create-master-instance-internal>}
                {(DQ (${ Id.VSub_Name MASTER_NAME))}
                {(DQ (${ Id.VSub_Name address))}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <replicate-master-instance>
      name: replicate-master-instance
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'existing_master_zone='> (DQ (${ Id.VSub_Number 1))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'existing_master_name='> (DQ (${ Id.VSub_Number 2))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'existing_master_replicas='> (DQ (${ Id.VSub_Number 3))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'kube_env='> 
                  (DQ 
                    (CommandSub
                      left_token: <Id.Left_DollarParen '$('>
                      child: 
                        (command.Simple
                          blame_tok: <get-metadata>
                          more_env: []
                          words: [
                            {<get-metadata>}
                            {(DQ (${ Id.VSub_Name existing_master_zone))}
                            {(DQ (${ Id.VSub_Name existing_master_name))}
                            {<kube-env>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      right: <Id.Eof_RParen _>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'kube_env='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'kube_env='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'kube_env='> name:kube_env)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (command.Simple
                                  blame_tok: <echo>
                                  more_env: []
                                  words: [{<echo>} {(DQ (${ Id.VSub_Name kube_env))}]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <grep>
                                  more_env: []
                                  words: [{<grep>} {<-v>} {(DQ <INITIAL_ETCD_CLUSTER>)}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              ops: [<Id.Op_Pipe _>]
                            )
                          right: <Id.Eof_RParen _>
                        )
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'kube_env='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'kube_env='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'kube_env='> name:kube_env)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Simple
                              blame_tok: <echo>
                              more_env: []
                              words: [
                                {<echo>}
                                {<-e>}
                                {
                                  (DQ (${ Id.VSub_Name kube_env) <Id.Lit_BadBackslash '\\'> 
                                    <'nINITIAL_ETCD_CLUSTER: \''> (${ Id.VSub_Name existing_master_replicas) <','> (${ Id.VSub_Name REPLICA_NAME) <'\''>
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                          right: <Id.Eof_RParen _>
                        )
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'ETCD_CA_KEY='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'ETCD_CA_KEY='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETCD_CA_KEY='> name:ETCD_CA_KEY)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (command.Simple
                                  blame_tok: <echo>
                                  more_env: []
                                  words: [{<echo>} {(DQ (${ Id.VSub_Name kube_env))}]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <grep>
                                  more_env: []
                                  words: [{<grep>} {(DQ <ETCD_CA_KEY>)}]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <sed>
                                  more_env: []
                                  words: [{<sed>} {(DQ <'s/^.*: \'//'>)}]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <sed>
                                  more_env: []
                                  words: [{<sed>} {(DQ <'s/\''> <Id.Lit_Dollar '$'> <'//'>)}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>]
                            )
                          right: <Id.Eof_RParen _>
                        )
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'ETCD_CA_CERT='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'ETCD_CA_CERT='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETCD_CA_CERT='> name:ETCD_CA_CERT)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (command.Simple
                                  blame_tok: <echo>
                                  more_env: []
                                  words: [{<echo>} {(DQ (${ Id.VSub_Name kube_env))}]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <grep>
                                  more_env: []
                                  words: [{<grep>} {(DQ <ETCD_CA_CERT>)}]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <sed>
                                  more_env: []
                                  words: [{<sed>} {(DQ <'s/^.*: \'//'>)}]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <sed>
                                  more_env: []
                                  words: [{<sed>} {(DQ <'s/\''> <Id.Lit_Dollar '$'> <'//'>)}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>]
                            )
                          right: <Id.Eof_RParen _>
                        )
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <create-etcd-certs>
              more_env: []
              words: [
                {<create-etcd-certs>}
                {(DQ (${ Id.VSub_Name REPLICA_NAME))}
                {(DQ (${ Id.VSub_Name ETCD_CA_CERT))}
                {(DQ (${ Id.VSub_Name ETCD_CA_KEY))}
              ]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'kube_env='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'kube_env='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'kube_env='> name:kube_env)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (command.Simple
                                  blame_tok: <echo>
                                  more_env: []
                                  words: [{<echo>} {(DQ (${ Id.VSub_Name kube_env))}]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <grep>
                                  more_env: []
                                  words: [{<grep>} {<-v>} {(DQ <ETCD_PEER_KEY>)}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              ops: [<Id.Op_Pipe _>]
                            )
                          right: <Id.Eof_RParen _>
                        )
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'kube_env='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'kube_env='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'kube_env='> name:kube_env)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Simple
                              blame_tok: <echo>
                              more_env: []
                              words: [
                                {<echo>}
                                {<-e>}
                                {
                                  (DQ (${ Id.VSub_Name kube_env) <Id.Lit_BadBackslash '\\'> 
                                    <'nETCD_PEER_KEY: \''> (${ Id.VSub_Name ETCD_PEER_KEY_BASE64) <'\''>
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                          right: <Id.Eof_RParen _>
                        )
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'kube_env='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'kube_env='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'kube_env='> name:kube_env)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (command.Simple
                                  blame_tok: <echo>
                                  more_env: []
                                  words: [{<echo>} {(DQ (${ Id.VSub_Name kube_env))}]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <grep>
                                  more_env: []
                                  words: [{<grep>} {<-v>} {(DQ <ETCD_PEER_CERT>)}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              ops: [<Id.Op_Pipe _>]
                            )
                          right: <Id.Eof_RParen _>
                        )
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'kube_env='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'kube_env='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'kube_env='> name:kube_env)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Simple
                              blame_tok: <echo>
                              more_env: []
                              words: [
                                {<echo>}
                                {<-e>}
                                {
                                  (DQ (${ Id.VSub_Name kube_env) <Id.Lit_BadBackslash '\\'> 
                                    <'nETCD_PEER_CERT: \''> (${ Id.VSub_Name ETCD_PEER_CERT_BASE64) <'\''>
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                          right: <Id.Eof_RParen _>
                        )
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ (${ Id.VSub_Name kube_env))}]
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {(${ Id.VSub_Name KUBE_TEMP) <'/master-kube-env.yaml'>}
                )
              ]
              do_fork: T
            )
            (command.Simple
              blame_tok: <get-metadata>
              more_env: []
              words: [
                {<get-metadata>}
                {(DQ (${ Id.VSub_Name existing_master_zone))}
                {(DQ (${ Id.VSub_Name existing_master_name))}
                {<cluster-name>}
              ]
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {(DQ (${ Id.VSub_Name KUBE_TEMP) <'/cluster-name.txt'>)}
                )
              ]
              do_fork: T
            )
            (command.Simple
              blame_tok: <create-master-instance-internal>
              more_env: []
              words: [{<create-master-instance-internal>} {(DQ (${ Id.VSub_Name REPLICA_NAME))}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <create-master-instance-internal>
      name: create-master-instance-internal
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'gcloud='> (DQ <gcloud>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'retries='> <5>}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_IP_ALIASES>
                                          var_name: ENABLE_IP_ALIASES
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(SQ <true>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'gcloud='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'gcloud='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'gcloud='> name:gcloud)
                          op: assign_op.Equal
                          rhs: {(DQ <'gcloud beta'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [544 564]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<-r>} {<Id.Lit_VarLike 'master_name='> (DQ (${ Id.VSub_Number 1))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'address='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Number 2>
                      var_name: 2
                      suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                      right: <Id.Right_DollarBrace '}'>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'preemptible_master='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name PREEMPTIBLE_MASTER>
                                          var_name: PREEMPTIBLE_MASTER
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <true>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'preemptible_master='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'preemptible_master='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'preemptible_master='>
                              name: preemptible_master
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'--preemptible --maintenance-policy TERMINATE'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [610 630]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'network='> 
                  (CommandSub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.Simple
                        blame_tok: <make-gcloud-network-argument>
                        more_env: []
                        words: [
                          {<make-gcloud-network-argument>}
                          {(DQ (${ Id.VSub_Name NETWORK_PROJECT))}
                          {(DQ (${ Id.VSub_Name REGION))}
                          {(DQ (${ Id.VSub_Name NETWORK))}
                          {
                            (DQ 
                              (BracedVarSub
                                left: <Id.Left_DollarBrace '${'>
                                token: <Id.VSub_Name SUBNETWORK>
                                var_name: SUBNETWORK
                                suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                right: <Id.Right_DollarBrace '}'>
                              )
                            )
                          }
                          {
                            (DQ 
                              (BracedVarSub
                                left: <Id.Left_DollarBrace '${'>
                                token: <Id.VSub_Name address>
                                var_name: address
                                suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                right: <Id.Right_DollarBrace '}'>
                              )
                            )
                          }
                          {
                            (DQ 
                              (BracedVarSub
                                left: <Id.Left_DollarBrace '${'>
                                token: <Id.VSub_Name ENABLE_IP_ALIASES>
                                var_name: ENABLE_IP_ALIASES
                                suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                right: <Id.Right_DollarBrace '}'>
                              )
                            )
                          }
                          {
                            (DQ 
                              (BracedVarSub
                                left: <Id.Left_DollarBrace '${'>
                                token: <Id.VSub_Name IP_ALIAS_SIZE>
                                var_name: IP_ALIAS_SIZE
                                suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                right: <Id.Right_DollarBrace '}'>
                              )
                            )
                          }
                        ]
                        redirects: []
                        do_fork: T
                      )
                    right: <Id.Eof_RParen _>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'metadata='> 
                  (DQ <'kube-env='> (${ Id.VSub_Name KUBE_TEMP) <'/master-kube-env.yaml'>)
                }
              ]
              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.Equal
                  rhs: 
                    {
                      (DQ (${ Id.VSub_Name metadata) <',user-data='> (${ Id.VSub_Name KUBE_ROOT) 
                        <'/cluster/gce/container-linux/master.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.Equal
                  rhs: 
                    {
                      (DQ (${ Id.VSub_Name metadata) <',configure-sh='> (${ Id.VSub_Name KUBE_ROOT) 
                        <'/cluster/gce/container-linux/configure.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.Equal
                  rhs: 
                    {
                      (DQ (${ Id.VSub_Name metadata) <',cluster-name='> (${ Id.VSub_Name KUBE_TEMP) 
                        <'/cluster-name.txt'>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'disk='> (DQ <'name='> (${ Id.VSub_Name master_name) <-pd>)}
              ]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'disk='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'disk='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'disk='> name:disk)
                  op: assign_op.Equal
                  rhs: {(DQ (${ Id.VSub_Name disk) <',device-name=master-pd'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'disk='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'disk='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'disk='> name:disk)
                  op: assign_op.Equal
                  rhs: {(DQ (${ Id.VSub_Name disk) <',mode=rw'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'disk='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'disk='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'disk='> name:disk)
                  op: assign_op.Equal
                  rhs: {(DQ (${ Id.VSub_Name disk) <',boot=no'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'disk='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'disk='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'disk='> name:disk)
                  op: assign_op.Equal
                  rhs: {(DQ (${ Id.VSub_Name disk) <',auto-delete=no'>)}
                )
              ]
              redirects: []
            )
            (command.ForEach
              keyword: <Id.KW_For for>
              iter_names: [attempt]
              iterable: 
                (for_iter.Words
                  words: [
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <seq>
                            more_env: []
                            words: [{<seq>} {<1>} {(${ Id.VSub_Name retries)}]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  ]
                )
              semi_tok: <Id.Op_Semi _>
              body: 
                (command.DoGroup
                  left: <Id.KW_Do do>
                  children: [
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'result='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'result='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'result='>
                                              name: result
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (CommandSub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Simple
                                                    blame_tok: <Id.Left_DollarBrace '${'>
                                                    more_env: []
                                                    words: [
                                                      {(${ Id.VSub_Name gcloud)}
                                                      {<compute>}
                                                      {<instances>}
                                                      {<create>}
                                                      {(DQ (${ Id.VSub_Name master_name))}
                                                      {<--project>}
                                                      {(DQ (${ Id.VSub_Name PROJECT))}
                                                      {<--zone>}
                                                      {(DQ (${ Id.VSub_Name ZONE))}
                                                      {<--machine-type>}
                                                      {(DQ (${ Id.VSub_Name MASTER_SIZE))}
                                                      {<--image-project> <Id.Lit_Equals '='> 
                                                        (DQ (${ Id.VSub_Name MASTER_IMAGE_PROJECT))
                                                      }
                                                      {<--image>}
                                                      {(DQ (${ Id.VSub_Name MASTER_IMAGE))}
                                                      {<--tags>}
                                                      {(DQ (${ Id.VSub_Name MASTER_TAG))}
                                                      {<--scopes>}
                                                      {
                                                        (DQ 
                                                          <
'storage-ro,compute-rw,monitoring,logging-write'
                                                          >
                                                        )
                                                      }
                                                      {<--metadata-from-file>}
                                                      {(DQ (${ Id.VSub_Name metadata))}
                                                      {<--disk>}
                                                      {(DQ (${ Id.VSub_Name disk))}
                                                      {<--boot-disk-size>}
                                                      {(DQ (${ Id.VSub_Name MASTER_ROOT_DISK_SIZE))}
                                                      {(${ Id.VSub_Name preemptible_master)}
                                                      {(${ Id.VSub_Name network)}
                                                    ]
                                                    redirects: [
                                                      (Redir
                                                        op: <Id.Redir_GreatAnd '2>&'>
                                                        loc: (redir_loc.Fd fd:2)
                                                        arg: {<1>}
                                                      )
                                                    ]
                                                    do_fork: T
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                        )
                                      ]
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.Simple
                              blame_tok: <echo>
                              more_env: []
                              words: [{<echo>} {(DQ (${ Id.VSub_Name result))}]
                              redirects: [
                                (Redir
                                  op: <Id.Redir_GreatAnd '>&'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<2>}
                                )
                              ]
                              do_fork: T
                            )
                            (command.ControlFlow
                              keyword: <Id.ControlFlow_Return return>
                              arg_word: {<0>}
                            )
                          ]
                          spids: [823 958]
                        )
                      ]
                      else_kw: <Id.KW_Else else>
                      else_action: [
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ (${ Id.VSub_Name result))}]
                          redirects: [
                            (Redir
                              op: <Id.Redir_GreatAnd '>&'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<2>}
                            )
                          ]
                          do_fork: T
                        )
                        (command.If
                          if_kw: <Id.KW_If if>
                          arms: [
                            (IfArm
                              keyword: <Id.KW_If if>
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DBracket
                                          left: <Id.KW_DLeftBracket '[['>
                                          expr: 
                                            (bool_expr.LogicalNot
                                              child: 
                                                (bool_expr.Binary
                                                  op_id: Id.BoolBinary_EqualTilde
                                                  left: {(DQ (${ Id.VSub_Name result))}
                                                  right: {(DQ <'try again later'>)}
                                                )
                                            )
                                          right: <Id.Lit_DRightBracket ']]'>
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              then_kw: <Id.KW_Then then>
                              action: [
                                (command.Simple
                                  blame_tok: <echo>
                                  more_env: []
                                  words: [
                                    {<echo>}
                                    {
                                      (DQ 
                                        <
'Failed to create master instance due to non-retryable error'
                                        >
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (Redir
                                      op: <Id.Redir_GreatAnd '>&'>
                                      loc: (redir_loc.Fd fd:1)
                                      arg: {<2>}
                                    )
                                  ]
                                  do_fork: T
                                )
                                (command.ControlFlow
                                  keyword: <Id.ControlFlow_Return return>
                                  arg_word: {<1>}
                                )
                              ]
                              spids: [993 1014]
                            )
                          ]
                          else_action: []
                          fi_kw: <Id.KW_Fi fi>
                          redirects: []
                        )
                        (command.Simple
                          blame_tok: <sleep>
                          more_env: []
                          words: [{<sleep>} {<10>}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                  ]
                  right: <Id.KW_Done done>
                )
              redirects: []
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [
                {<echo>}
                {
                  (DQ <'Failed to create master instance despite '> (${ Id.VSub_Name retries) 
                    <' attempts'>
                  )
                }
              ]
              redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<1>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <get-metadata>
      name: get-metadata
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'zone='> (DQ (${ Id.VSub_Number 1))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'name='> (DQ (${ Id.VSub_Number 2))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'key='> (DQ (${ Id.VSub_Number 3))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'metadata_url='> 
                  (DQ <'http://metadata.google.internal/computeMetadata/v1/instance/attributes/'> 
                    (${ Id.VSub_Name key)
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <gcloud>
              more_env: []
              words: [
                {<gcloud>}
                {<compute>}
                {<ssh>}
                {(DQ (${ Id.VSub_Name name))}
                {<--project>}
                {(DQ (${ Id.VSub_Name PROJECT))}
                {<--zone>}
                {(DQ (${ Id.VSub_Name zone))}
                {<--command>}
                {
                  (DQ <'curl \''> (${ Id.VSub_Name metadata_url) <'\' -H \'Metadata-Flavor: Google\''>)
                }
              ]
              redirects: [(Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})]
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
  ]
)