Does cfengine evaluate classes individually when gated or in a block. I am probably describing that poorly so let me give an example.
!class_A_set::
“class_A_set” expression => returnszero(“some command”);
“class_B_set” expression => “class_A_set”;
When it evaluates this does it check !class_A_set once for both or does it individually. If that case is the former, class_B_set has a chance of being set. If it’s the later than it is my understanding it will never be set. This is because you are basically saying
Set class_B_set if class_A_set when class_A_set is not set. A tongue twister for sure.
I am thinking it is the later.
!class_A_set::
“class_B_set” expression => “class_A_set”;