(CommandList
  children: [
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(DQ ($ VSub_Number "$2"))}))
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(echo)} 
              {(DQ ("Usage ") ($ VSub_Number "$0") (": <chef-server-url> <chef-server-password>"))}
            )
            (C {(exit)} {(1)})
          ]
          spids: [-1 16]
        )
      ]
      spids: [-1 32]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CHEFSERVER)
          op: Equal
          rhs: {(DQ ($ VSub_Number "$1"))}
          spids: [34]
        )
      ]
      spids: [34]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CHEFPASSWD)
          op: Equal
          rhs: {(DQ ($ VSub_Number "$2"))}
          spids: [39]
        )
      ]
      spids: [39]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(LogicalNot child:(BoolUnary op_id:BoolUnary_d child:{(.chef)})))
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (SimpleCommand
              words: [{(knife)} {(configure)} {(--initial)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ (".chef/knife.rb\n") (${ VSub_Name CHEFSERVER) ("\n") ("\n") ("\n") 
                        ("/etc/chef-server/admin.pem\n") ("\n") ("/etc/chef-server/chef-validator.pem\n") (".\n") (${ VSub_Name CHEFPASSWD) ("\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [66]
                )
              ]
            )
          ]
          spids: [-1 57]
        )
      ]
      else_action: [(C {(echo)} {(DQ ("Knife configuration already exists!"))})]
      spids: [84 93]
    )
  ]
)