code: def get_domain_config(self, domain):
          
          domain_root = self.identify_domain_root(domain)
  
          host = ''
          if len(domain_root) != len(domain):
              host = domain.replace('.' + domain_root, '')
  
          domain_connect_api = self._identify_domain_connect_api(domain_root)
  
          ret = self._get_domain_config_for_root(domain_root, domain_connect_api)
          return DomainConnectConfig(domain, domain_root, host, ret)
docs: Makes a discovery of domain name and resolves configuration of DNS provider
  
          :param domain: str
              domain name
          :return: DomainConnectConfig
              domain connect config
          :raises: NoDomainConnectRecordException
              when no _domainconnect record found
          :raises: NoDomainConnectSettingsException
              when settings are not found