As it stands I can't just use CM as the cm definition calls the new_resource method which is specific to lightweight providers.  This would require a refactor of both recipes/entity.rb and libraries/cloud_monitoring.rb (and recipes/agent.rb as that calls Fog as well.)

As a best practice I agree these fog objects need to be combined.  Do you consider this a blocker for the pull, or can this be filed and addressed in a subsequent pull?  I'm concerned as the refactor here plus my other changes would be pretty huge, I'd like to break them up.