I’m running Chef DK 0.12.0 and chef-client 12.5.1 in a local test kitchen environment.
I need to generate a list of users to remove from my server based on the users returned by
Etc.passwd. However, I cannot run
Etc.passwd until run-time, so I have to put this code inside a
ruby_block resource. A sub-component of this code block includes the Chef
user resource which does nothing when inside a
ruby_block like so:
ruby_block 'Compile list of users to remove' do block do Etc.passwd do |account| if (conditions-here) user account.name do manage_home true action :remove end end end end action :run end
How can I run my
Etc.passwd code at run-time, and pass the results to the Chef
user resource? I also tried replacing the
user resource block with an array, and passing that array to the Chef
user resource outside of this
ruby_block, but that didn’t work either.