Once I had an idea of detecting if Neutron is available during heat-engine start and simply not to register Neutron resources then (so they do not even show up in heat resource-type-list), but it turns out some deployments like TripleO do start heat before Neutron...
Also, especially for Nova-network/Neutron case, we have some resources that are "transparent" and use several clients, so there is no single "resource client".
Once I had an idea of detecting if Neutron is available during heat-engine start and simply not to register Neutron resources then (so they do not even show up in heat resource- type-list) , but it turns out some deployments like TripleO do start heat before Neutron...
Also, especially for Nova-network/ Neutron case, we have some resources that are "transparent" and use several clients, so there is no single "resource client".