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.