jarvis-8094, Apologies for the delayed response.
Today, it is not possible through Azure Policy for a policy to take effect based on the existence of other resources. We do have deployIfNotExists
policies which can automate the process of deploying diagnostic settings if they do not yet exist for a resource, but these do not prevent manual deployment of another diagnostic setting on the same resource.
You would need to use another method to check for existence of such diagnostic settings before deployment. This could be done using an automation runbook or a logic app, which could call the diagnosticSettings API for this information.
Hope this helps.