Tags handling.
- class patroni.tags. Tags View on GitHub
-
Bases:
ABC
An abstract class that encapsulates all the
tags
logic.Child classes that want to use provided facilities must implement
tags
abstract property.Note
Due to backward-compatibility reasons, old tags may have a less strict type conversion than new ones.
- _abc_impl = <_abc._abc_data object>
- static _filter_tags ( tags : Dict [ str , Any ] ) → Dict [ str , Any ] View on GitHub
-
Get tags configured for this node, if any.
Handle both predefined Patroni tags and custom defined tags.
Note
A custom tag is any tag added to the configuration
tags
section that is not one ofclonefrom
,nofailover
,noloadbalance
,``nosync`` ornostream
.For most of the Patroni predefined tags, the returning object will only contain them if they are enabled as they all are boolean values that default to disabled. However
nofailover
tag is always returned iffailover_priority
tag is defined. In this case, we need both values to see if they are contradictory and thenofailover
value should be used.- Returns :
-
a dictionary of tags set for this node. The key is the tag name, and the value is the corresponding tag value.
- property clonefrom : bool View on GitHub
-
True
ifclonefrom
tag isTrue
, elseFalse
.
- property failover_priority : int View on GitHub
-
Common logic for obtaining the value of
failover_priority
fromtags
if defined.If
nofailover
is defined asTrue
, this will return0
. Otherwise, it will return the value offailover_priority
, defaulting to1
if it’s not defined or invalid.
- property nofailover : bool View on GitHub
-
Common logic for obtaining the value of
nofailover
fromtags
if defined.If
nofailover
is not defined, this methods returnsTrue
iffailover_priority
is non-positive,False
otherwise.
- property noloadbalance : bool View on GitHub
-
True
ifnoloadbalance
isTrue
, elseFalse
.
- property nostream : bool View on GitHub
-
True
ifnostream
isTrue
, elseFalse
.
- property nosync : bool View on GitHub
-
True
ifnosync
isTrue
, elseFalse
.
- property replicatefrom : str | None View on GitHub
-
Value of
replicatefrom
tag, if any.
- abstract property tags : Dict [ str , Any ] View on GitHub
-
Configured tags.
Must be implemented in a child class.