File: api.rst

package info (click to toggle)
python-es-client 8.17.4-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 520 kB
  • sloc: python: 2,452; sh: 239; makefile: 17
file content (54 lines) | stat: -rw-r--r-- 2,454 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
.. _api:

ES Client API reference
#######################

.. _builder:

Builder Class
=============

.. autoclass:: es_client.builder.Builder
   :members:

Builder Attribute Errata
------------------------

:client: The :py:class:`~.elasticsearch.Elasticsearch` object is only created after passing all
   other tests, and if ``autoconnect`` is ``True``, or
   :py:meth:`~.es_client.builder.Builder.connect` has been called.

:is_master: Initially set to ``None``, this value is set automatically if ``autoconnect`` is
   ``True``.  It can otherwise be set by calling
   :py:meth:`~.es_client.builder.Builder._find_master` after
   :py:meth:`~.es_client.builder.Builder._get_client` has been called first.


Class Instantiation Flow
------------------------
#. Check to see if ``elasticsearch`` key is in the supplied ``raw_config``
   dictionary.  Log a warning about using defaults if it is not.
#. Run :py:meth:`~.es_client.builder.Builder._check_config` on ``raw_config``
#. Set instance attributes ``version_max`` and ``version_min`` with the
   provided values.
#. Set instance attribute ``master_only`` to the value from ``raw_config``
#. Initialize instance attribute ``is_master`` with a ``None``
#. Set instance attribute ``skip_version_test`` to the value from
   ``raw_config``
#. Set instance attribute ``client_args`` to the value of
   ``raw_config['elasticsearch']['client']``
#. Execute :py:meth:`~.es_client.builder.Builder._check_basic_auth` to build the ``basic_auth``
   tuple, if ``username`` and ``password`` are not ``None``.
#. Execute :py:meth:`~.es_client.builder.Builder._check_api_key` to build the
   ``api_key`` tuple, if the ``id`` and ``api_key`` sub-keys are not ``None``.
#. Execute :py:meth:`~.es_client.builder.Builder._check_cloud_id` to ensure the client
   connects to the defined ``cloud_id`` rather than anything in ``hosts``.
#. Execute :py:meth:`~.es_client.builder.Builder._check_ssl` to ensure we have at least the
   `certifi <https://github.com/certifi/python-certifi>`_ signing certificates.
#. If ``autoconnect`` is `True`:

    #. Execute :py:meth:`~.es_client.builder.Builder._get_client` to finally build the
       :py:class:`~.elasticsearch.Elasticsearch` client object.
    #. Execute :py:meth:`~.es_client.builder.Builder._check_version` and
       :py:meth:`~.es_client.builder.Builder._check_master` as post-checks.  Nothing will
       happen if these checks are not enabled in ``raw_config``