code: def get_connection(self, alias='default'):
          
          # do not check isinstance(Elasticsearch) so that people can wrap their
          # clients
          if not isinstance(alias, string_types):
              return alias
  
          # connection already established
          try:
              return self._conns[alias]
          except KeyError:
              pass
  
          # if not, try to create it
          try:
              return self.create_connection(alias, **self._kwargs[alias])
          except KeyError:
              # no connection and no kwargs to set one up
              raise KeyError('There is no connection with alias %r.' % alias)
docs: Retrieve a connection, construct it if necessary (only configuration
          was passed to us). If a non-string alias has been passed through we
          assume it's already a client instance and will just return it as-is.
  
          Raises ``KeyError`` if no client (or its definition) is registered
          under the alias.