I think you want to use an only_if or not_if guard for this situation. If this really is a remote_file resource (rather than just an example), you may also want to look into the create_if_missing action instead of the create action; I don’t know if that solves your specific problem, though.
Our values: Privacy, Liberty, Justice
From: Mark Selby firstname.lastname@example.org
Sent: Saturday 29th August 2015 13:42
Subject: [chef] Prevent resource from triggering multiple times in a single run
remote_file “/var/tmp/somefile” do
Lets just suppose that this is a somewhat expensive operation that may
need to get called multiple times during a converge depending on what
recipes the node is running. I would like to say “do not execute this
resource if it has already been triggered during this run”
I would also not like to use a marker file if I can avoid it.
I know we have delayed execution but that is not what I want. I need
this to trigger on the first call and then not again. Can I use the
run_status or run_context to accomplish this?