def connect_multiendpoint_ssl(cls, user, password, endpoints,
                                  auto_discover=True, ca_certs=None,
                                  validate=None):
        """
        Creates a MultiEndpointTransport, so that if the current endpoint
        (aserver) fails, it would automatically move to the next available
        endpoint.

        If ``auto_discover`` is ``True``, we will execute ipinterface_list
        on the system to discover all management IP interfaces and add them
        to the list of endpoints
        """
        if isinstance(endpoints, basestring):
            endpoints = [endpoints]
        client, transport = cls._initiate_client_for_multi_endpoint(user,
                                                                    password,
                                                                    endpoints,
                                                                    ca_certs,
                                                                    validate)
        if auto_discover and user:
            all_endpoints = [ipif.address for ipif in
                             client.cmd.ipinterface_list()
                             if ipif.type.lower() == "management"]
            transport.add_endpoints(all_endpoints)
        return client