Facilities for handling communication with Patroni’s REST API.
- class patroni.request. HTTPSConnectionPool ( host , port=None , strict=False , timeout= , maxsize=1 , block=False , headers=None , retries=None , _proxy=None , _proxy_headers=None , key_file=None , cert_file=None , cert_reqs=None , key_password=None , ca_certs=None , ssl_version=None , assert_hostname=None , assert_fingerprint=None , ca_cert_dir=None , **conn_kw ) View on GitHub
-
Bases:
HTTPSConnectionPool
- _validate_conn ( * args : Any , ** kwargs : Any ) None View on GitHub
-
Override parent method to silence warnings about requests without certificate verification enabled.
- class patroni.request. PatroniPoolManager ( * args : Any , ** kwargs : Any ) View on GitHub
-
Bases:
PoolManager
- __init__ ( * args : Any , ** kwargs : Any ) None View on GitHub
- class patroni.request. PatroniRequest ( config : Config | Dict [ str , Any ] , insecure : bool | None = None ) View on GitHub
-
Bases:
object
Wrapper for performing requests to Patroni’s REST API.
Prepares the request manager with the configured settings before performing the request.
- __init__ ( config : Config | Dict [ str , Any ] , insecure : bool | None = None ) None View on GitHub
-
Create a new
PatroniRequest
instance with given config .- Parameters :
-
-
config – Patroni YAML configuration.
-
insecure –
how to deal with SSL certs verification:
-
If
True
it will perform REST API requests without verifying SSL certs; or -
If
False
it will perform REST API requests and verify SSL certs; or -
If
None
it will behave according to the value ofctl.insecure
configuration; or -
If none of the above applies, then it falls back to
False
.
-
-
- _apply_pool_param ( param : str , value : Any ) None View on GitHub
-
Configure param as value in the request manager.
- Parameters :
-
-
param – name of the setting to be changed.
-
value – new value for param . If
None
,0
,False
, and similar values, then explicit param declaration is removed, in which case it takes its default value, if any.
-
- _apply_ssl_file_param ( config : Config | Dict [ str , Any ] , name : str ) str | None View on GitHub
-
Apply a given SSL related param to the request manager.
- Parameters :
-
-
config – Patroni YAML configuration.
-
name –
prefix of the Patroni SSL related setting name. Currently, supports these:
-
cert
: gets translated tocertfile
-
key
: gets translated tokeyfile
Will attempt to fetch the requested key first from
ctl
section. -
-
- Returns :
-
value of
ctl.*name*file
if present,None
otherwise.
- static _get_ctl_value ( config : Config | Dict [ str , Any ] , name : str , default : Any | None = None ) Any | None View on GitHub
-
Get value of name setting from the
ctl
section of the config .- Parameters :
-
-
config – Patroni YAML configuration.
-
name – name of the setting value to be retrieved.
-
- Returns :
-
value of
ctl.*name*
if present,None
otherwise.
- static _get_restapi_value ( config : Config | Dict [ str , Any ] , name : str ) Any | None View on GitHub
-
Get value of name setting from the
restapi
section of the config .- Parameters :
-
-
config – Patroni YAML configuration.
-
name – name of the setting value to be retrieved.
-
- Returns :
-
value of
restapi -> *name*
if present,None
otherwise.
- reload_config ( config : Config | Dict [ str , Any ] ) None View on GitHub
-
Apply config to request manager.
Configure these HTTP headers for requests:
-
authorization
: based on Patroni’ CTL or REST API authentication config; -
user-agent
: based onpatroni.utils.USER_AGENT
.
Also configure SSL related settings for requests:
-
ca_certs
is configured ifctl.cacert
orrestapi.cafile
is available; -
cert
,key
andkey_password
are configured ifctl.certfile
is available.
- Parameters :
-
config – Patroni YAML configuration.
-
- request ( method : str , url : str , body : Any | None = None , ** kwargs : Any ) HTTPResponse View on GitHub
-
Perform an HTTP request.
- Parameters :
-
-
method – the HTTP method to be used, e.g.
GET
. -
url – the URL to be requested.
-
body – anything to be used as the request body.
-
kwargs – keyword arguments to be passed to
urllib3.PoolManager.request()
.
-
- Returns :
-
the response returned upon request.
- patroni.request. get ( url : str , verify : bool = True , ** kwargs : Any ) HTTPResponse View on GitHub
-
Perform an HTTP GET request.
Note
It uses
PatroniRequest
so all relevant configuration is applied before processing the request.- Parameters :
-
-
url – full URL for this GET request.
-
verify – if it should verify SSL certificates when processing the request.
-
- Returns :
-
the response returned from the request.