We just had an unfortunate outage (thankfully only in a staging environment) due to a misunderstanding of a TF plan.
A resource (google_container_node_pool) needed to be recreated, which we considered fine since it had create_before_destroy set - we shouldn’t notice much. We for_each these resources based on their name, however, and as such TF would deleted the old pool and created a new one. Since there’s no dependency between the two, ordering was arbitrary, we suppose.
I do not believe there is a way to express that create operations should have a higher priority than destroy operations (that is, as a tie-breaker for ordering only, not impacting dependencies). Should there be? Are there many hairy corner cases here that makes this a bad idea?