(CommandList
  children: [
    (C {(set)} {(-o)} {(errexit)})
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name VERSION>
          suffix_op: (StringUnary op_id:VTest_ColonEquals arg_word:{(1.16.0)})
          spids: [65 69]
        )
      }
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:NAME)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Number 1>
                suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{})
                spids: [75 78]
              )
            }
          spids: [74]
        )
      ]
      spids: [72]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(DQ (${ VSub_Name NAME))}))
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(echo)} {(-e)} 
              {
                (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\0">) 
                  ("33[1;31mName must be specified") (EscapedLiteralPart token:<Lit_EscapedChar "\\0">) ("33[0m")
                )
              }
            )
            (C {(exit)} {(1)})
          ]
          spids: [-1 95]
        )
      ]
      spids: [-1 114]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ADMIN) op:Equal rhs:{(DQ )} spids:[117])]
      spids: [117]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_GlobDEqual
                      left: {(${ VSub_Name NAME)}
                      right: {(DQ (admin))}
                    )
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ADMIN)
                  op: Equal
                  rhs: {(DQ ("role: admin"))}
                  spids: [141]
                )
              ]
              spids: [141]
            )
          ]
          spids: [-1 138]
        )
      ]
      spids: [-1 146]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:NODE) op:Equal rhs:{(DQ )} spids:[149])]
      spids: [149]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (LogicalNot
                      child: 
                        (BoolUnary
                          op_id: BoolUnary_z
                          child: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Number 2>
                                  suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                                  spids: [168 171]
                                )
                              )
                            }
                        )
                    )
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:NODE)
                  op: Equal
                  rhs: {(DQ ("nodeSelector: { name: ") (${ VSub_Number 2) (" }"))}
                  spids: [180]
                )
              ]
              spids: [180]
            )
          ]
          spids: [-1 177]
        )
      ]
      spids: [-1 189]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: 
            {
              (DQ ("apiVersion: v1\n") ("kind: Pod\n") ("metadata:\n") ("  labels:\n") ("    ") 
                (${ VSub_Name ADMIN) ("\n") ("    db: rethinkdb\n") ("  name: rethinkdb-") (${ VSub_Name NAME) (-) (${ VSub_Name VERSION) ("\n") 
                ("  namespace: rethinkdb\n") ("spec:\n") ("  containers:\n") ("  - image: antmanler/rethinkdb:") (${ VSub_Name VERSION) ("\n") 
                ("    name: rethinkdb\n") ("    ports:\n") ("    - containerPort: 8080\n") ("      name: admin-port\n") ("      protocol: TCP\n") 
                ("    - containerPort: 28015\n") ("      name: driver-port\n") ("      protocol: TCP\n") ("    - containerPort: 29015\n") 
                ("      name: cluster-port\n") ("      protocol: TCP\n") ("    volumeMounts:\n") ("    - mountPath: /data/rethinkdb_data\n") 
                ("      name: rethinkdb-storage\n") ("  ") (${ VSub_Name NODE) ("\n") ("  restartPolicy: Always\n") ("  volumes:\n") ("  - hostPath:\n") 
                ("      path: /data/db/rethinkdb\n") ("    name: rethinkdb-storage\n")
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: True
          spids: [194]
        )
      ]
    )
  ]
)