'Register a service client module
Initiates a client factory for the specified module, using this
class auth_provider, and accessible via a `name` attribute in the
service client.
:param name: Name used to access the client
:param service_version: Name of the service complete with version.
Used to track registered services. When a plugin implements it,
it can be used by other plugins to obtain their configuration.
:param module_path: Path to module that includes all service clients.
All service client classes must be exposed by a single module.
If they are separated in different modules, defining __all__
in the root module can help, similar to what is done by service
clients in tempest.
:param client_names: List or set of names of service client classes.
:param kwargs: Extra optional parameters to be passed to all clients.
ServiceClient provides defaults for region, dscv, ca_certs and
trace_requests.
:raise ServiceClientRegistrationException: if the provided name is
already in use or if service_version is already registered.
:raise ImportError: if module_path cannot be imported.'

def register_service_client_module(self, name, service_version, module_path, client_names, **kwargs):

    if hasattr(self, name):
        using_name = getattr(self, name)
        detailed_error = ('Module    name    already    in    use:    %s' % using_name)
        raise exceptions.ServiceClientRegistrationException(name=name, service_version=service_version, module_path=module_path, client_names=client_names, detailed_error=detailed_error)
    if (service_version in self.registered_services):
        detailed_error = ('Service    %s    already    registered.' % service_version)
        raise exceptions.ServiceClientRegistrationException(name=name, service_version=service_version, module_path=module_path, client_names=client_names, detailed_error=detailed_error)
    params = dict(region=self.region, disable_ssl_certificate_validation=self.dscv, ca_certs=self.ca_certs, trace_requests=self.trace_requests)
    params.update(kwargs)
    _factory = ClientsFactory(module_path=module_path, client_names=client_names, auth_provider=self.auth_provider, **params)
    setattr(self, name, _factory)
    self._registered_services.add(service_version)
