docs: def _get_instance(hosts=None, profile=None):
      '''
      Return the elasticsearch instance
      '''
      es = None
      proxies = None
      use_ssl = False
      ca_certs = None
      verify_certs = True
      http_auth = None
      timeout = 10
  
      if profile is None:
          profile = 'elasticsearch'
  
      if isinstance(profile, six.string_types):
          _profile = __salt__['config.option'](profile, None)
      elif isinstance(profile, dict):
          _profile = profile
      if _profile:
          hosts = _profile.get('host', hosts)
          if not hosts:
              hosts = _profile.get('hosts', hosts)
          proxies = _profile.get('proxies', None)
          use_ssl = _profile.get('use_ssl', False)
          ca_certs = _profile.get('ca_certs', None)
          verify_certs = _profile.get('verify_certs', True)
          username = _profile.get('username', None)
          password = _profile.get('password', None)
          timeout = _profile.get('timeout', 10)
  
          if username and password:
              http_auth = (username, password)
  
      if not hosts:
          hosts = ['127.0.0.1:9200']
      if isinstance(hosts, six.string_types):
          hosts = [hosts]
      try:
          if proxies:
              # Custom connection class to use requests module with proxies
              class ProxyConnection(RequestsHttpConnection):
                  def __init__(self, *args, **kwargs):
                      proxies = kwargs.pop('proxies', {})
                      super(ProxyConnection, self).__init__(*args, **kwargs)
                      self.session.proxies = proxies
  
              es = elasticsearch.Elasticsearch(
                  hosts,
                  connection_class=ProxyConnection,
                  proxies=proxies,
                  use_ssl=use_ssl,
                  ca_certs=ca_certs,
                  verify_certs=verify_certs,
                  http_auth=http_auth,
                  timeout=timeout,
              )
          else:
              es = elasticsearch.Elasticsearch(
                      hosts,
                      use_ssl=use_ssl,
                      ca_certs=ca_certs,
                      verify_certs=verify_certs,
                      http_auth=http_auth,
                      timeout=timeout,
                  )
  
          # Try the connection
          es.info()
      except elasticsearch.exceptions.TransportError as err:
          raise CommandExecutionError(
              'Could not connect to Elasticsearch host/ cluster {0} due to {1}'.format(hosts, err))
      return es