##### SUMMARY
See https://github.com/ansible/ansible/blob/88d8cf8197c53edd3bcdcd21429eb4c2bfbf0f6a/lib/ansible/module_utils/basic.py#L699-L706

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
lib/ansible/module_utils/basic.py

##### ANSIBLE VERSION
```paste below
2.9
devel
```

self.api_profile = self.module.params.get('api_profile')
        self.facts_module = facts_module
        
        
        self.azure_auth = AzureRMAuth(fail_impl=self.fail, **self.module.params)
        
        if self.module.params.get('tags'):
            self.validate_tags(self.module.params['tags'])
        if not skip_exec:
            res = self.exec_module(**self.module.params)
            self.module.exit_json(**res)
    def check_client_version(self, client_type):
        
        package_version = AZURE_PKG_VERSIONS.get(client_type.__name__, None)
        if package_version is not None:
            client_name = package_version.get('package_name')
            try:
                client_module = importlib.import_module(client_type.__module__)
                client_version = client_module.VERSION
            except (RuntimeError, AttributeError):
                
                return
            expected_version = package_version.get('expected_version')
            if Version(client_version) < Version(expected_version):
                self.fail("Installed azure-mgmt-{0} client version is {1}. The minimum supported version is {2}. Try "
                          "`pip install ansible[azure]`".format(client_name, client_version, expected_version))
            if Version(client_version) != Version(expected_version):
                self.module.warn("Installed azure-mgmt-{0} client version is {1}. The expected version is {2}. Try "
                                 "`pip install ansible[azure]`".format(client_name, client_version, expected_version))
    def exec_module(self, **kwargs):