(command.CommandList children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (command.Simple words: [{(dpkg)} {(-s)} {(opscode-keyring)}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (C {(grep)} {(-q)} {(Status.) (Lit_Star '*') (installed)}) ] negated: F ) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(opscode-keyring)} {(is)} {(installed)})] ) ] else_action: [ (C {(apt-get)} {(update)}) (C {(apt-get)} {(--allow-unauthenticated)} {(-y)} {(install)} {(opscode-keyring)}) (C {(apt-get)} {(update)}) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (command.Simple words: [{(dpkg)} {(-s)} {(chef)}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (C {(grep)} {(-q)} {(Status.) (Lit_Star '*') (installed)}) ] negated: F ) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(chef)} {(is)} {(installed)})] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(-f)} {(chef-client.deb)} {(Lit_RBracket ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(dpkg)} {(-i)} {(chef-client.deb)})] ) ] else_action: [ (C {(echo)} {(DQ ('Warning: chef-client.deb not found'))}) (C {(echo)} {(DQ ('chef bootstrap will attempt chef-client install'))}) ] ) ] ) ] )