pip_services3_components.config package
Submodules
- pip_services3_components.config.ConfigReader module
- pip_services3_components.config.DefaultConfigReaderFactory module
- pip_services3_components.config.FileConfigReader module
- pip_services3_components.config.IConfigReader module
- pip_services3_components.config.JsonConfigReader module
- pip_services3_components.config.MemoryConfigReader module
- pip_services3_components.config.YamlConfigReader module
Module contents
pip_services3_components.config.__init__
Contains implementation of the config design pattern.
ConfigReader’s Parameterize method allows us to take a standard configuration, and, using a set of current parameters (e.g. environment variables), parameterize it. When we create the configuration of a container, we can use environment variables to tailor it to the system, dynamically add addresses, ports, etc.
- copyright
Conceptual Vision Consulting LLC 2018-2019, see AUTHORS for more details.
- license
MIT, see LICENSE for more details.
-
class
pip_services3_components.config.
ConfigReader
Bases:
pip_services3_components.config.IConfigReader.IConfigReader
,pip_services3_commons.config.IConfigurable.IConfigurable
Abstract config reader that supports configuration parameterization.
### Configuration parameters ### parameters: this entire section is used as template parameters
…
-
add_change_listener
(listener: pip_services3_commons.run.INotifiable.INotifiable) Adds a listener that will be notified when configuration is changed
- Parameters
listener – a listener to be added.
-
configure
(config: pip_services3_commons.config.ConfigParams.ConfigParams) Configures component by passing configuration parameters.
- Parameters
config – configuration parameters to be set.
-
abstract
read_config_
(correlation_id: Optional[str], parameters: pip_services3_commons.config.ConfigParams.ConfigParams) → pip_services3_commons.config.ConfigParams.ConfigParams Reads configuration and parameterize it with given values.
- Parameters
correlation_id – (optional) transaction id to trace execution through call chain.
parameters – values to parameters the configuration or null to skip parameterization.
- Returns
ConfigParams configuration.
-
remove_change_listener
(listener: pip_services3_commons.run.INotifiable.INotifiable) Remove a previously added change listener.
- Parameters
listener – a listener to be removed.
-
class
pip_services3_components.config.
DefaultConfigReaderFactory
Bases:
pip_services3_components.build.Factory.Factory
Creates
IConfigReader
components by their descriptors.See
Factory
,MemoryConfigReader
,JsonConfigReader
,YamlConfigReader
-
JsonConfigReaderDescriptor
= <pip_services3_commons.refer.Descriptor.Descriptor object>
-
MemoryConfigReaderDescriptor
= <pip_services3_commons.refer.Descriptor.Descriptor object>
-
YamlConfigReaderDescriptor
= <pip_services3_commons.refer.Descriptor.Descriptor object>
-
-
class
pip_services3_components.config.
FileConfigReader
(path: str = None) Bases:
pip_services3_components.config.ConfigReader.ConfigReader
Abstract config reader that reads configuration from a file. Child classes add support for config files in their specific format like JSON, YAML or property files.
- ### Configuration parameters ###
path: path to configuration file
parameters: this entire section is used as template parameters
…
-
configure
(config: pip_services3_commons.config.ConfigParams.ConfigParams) Configures component by passing configuration parameters.
- Parameters
config – configuration parameters to be set.
-
class
pip_services3_components.config.
IConfigReader
Bases:
abc.ABC
Interface for configuration readers that retrieve configuration from various sources and make it available for other components.
Some IConfigReader implementations may support configuration parameterization. The parameterization allows to use configuration as a template and inject there dynamic values. The values may come from application command like arguments or environment variables.
-
add_change_listener
(listener: pip_services3_commons.run.INotifiable.INotifiable) Adds a listener that will be notified when configuration is changed
- Parameters
listener – a listener to be added.
-
read_config_
(correlation_id: Optional[str], parameters: pip_services3_commons.config.ConfigParams.ConfigParams) → pip_services3_commons.config.ConfigParams.ConfigParams Reads configuration and parameterize it with given values.
- Parameters
correlation_id – (optional) transaction id to trace execution through call chain.
parameters – values to parameters the configuration or null to skip parameterization.
- Returns
ConfigParams configuration.
-
remove_change_listener
(listener: pip_services3_commons.run.INotifiable.INotifiable) Remove a previously added change listener.
- Parameters
listener – a listener to be removed.
-
-
class
pip_services3_components.config.
JsonConfigReader
(path: str = None) Bases:
pip_services3_components.config.FileConfigReader.FileConfigReader
Config reader that reads configuration from JSON file.
The reader supports parameterization using Handlebar template engine.
### Configuration parameters ###
path: path to configuration file
parameters: this entire section is used as template parameters
…
Example:
======== config.json ====== { "key1": "{{KEY1_VALUE}}", "key2": "{{KEY2_VALUE}}" } ===========================
configReader = JsonConfigReader("config.json") parameters = ConfigParams.from_tuples("KEY1_VALUE", 123, "KEY2_VALUE", "ABC") configReader.read_config_("123", parameters)
-
static
read_config
(correlation_id: Optional[str], path: str, parameters: pip_services3_commons.config.ConfigParams.ConfigParams) → pip_services3_commons.config.ConfigParams.ConfigParams Reads configuration from a file, parameterize it with given values and returns a new ConfigParams object.
- Parameters
correlation_id – (optional) transaction id to trace execution through call chain.
path – a path to configuration file.
parameters – values to parameters the configuration.
- Returns
ConfigParams configuration.
-
read_config_
(correlation_id: Optional[str], parameters: pip_services3_commons.config.ConfigParams.ConfigParams) → pip_services3_commons.config.ConfigParams.ConfigParams Reads configuration and parameterize it with given values.
- Parameters
correlation_id – (optional) transaction id to trace execution through call chain.
parameters – values to parameters the configuration or null to skip parameterization.
- Returns
ConfigParams configuration.
-
static
read_object
(correlation_id: Optional[str], path: str, parameters: pip_services3_commons.config.ConfigParams.ConfigParams) → Any Reads configuration file, parameterizes its content and converts it into JSON object.
- Parameters
correlation_id – (optional) transaction id to trace execution through call chain.
path – a path to configuration file.
parameters – values to parameters the configuration.
- Returns
a JSON object with configuration.
-
read_object_
(correlation_id: Optional[str], parameters: pip_services3_commons.config.ConfigParams.ConfigParams) → Any Reads configuration file, parameterizes its content and converts it into JSON object.
- Parameters
correlation_id – (optional) transaction id to trace execution through call chain.
parameters – values to parameters the configuration.
- Returns
a JSON object with configuration.
-
class
pip_services3_components.config.
MemoryConfigReader
(config: pip_services3_commons.config.ConfigParams.ConfigParams = None) Bases:
pip_services3_components.config.IConfigReader.IConfigReader
,pip_services3_commons.config.IReconfigurable.IReconfigurable
Config reader that stores configuration in memory.
### Configuration parameters ###
The configuration parameters are the configuration template
Example:
config = ConfigParams.from_tuples( "connection.host", "localhost", "connection.port", "8080" ) configReader = MemoryConfigReader() configReader.configure(config) parameters = ConfigParams.fromValue(os.get_env()) configReader.read_config_("123", parameters)
-
add_change_listener
(listener: pip_services3_commons.run.INotifiable.INotifiable) Adds a listener that will be notified when configuration is changed
- Parameters
listener – a listener to be added.
-
configure
(config: pip_services3_commons.config.ConfigParams.ConfigParams) Configures component by passing configuration parameters.
- Parameters
config – configuration parameters to be set.
-
read_config_
(correlation_id: Optional[str], parameters: pip_services3_commons.config.ConfigParams.ConfigParams) → pip_services3_commons.config.ConfigParams.ConfigParams Reads configuration and parameterize it with given values.
- Parameters
correlation_id – (optional) transaction id to trace execution through call chain.
parameters – values to parameters the configuration or null to skip parameterization.
- Returns
ConfigParams configuration.
-
remove_change_listener
(listener: pip_services3_commons.run.INotifiable.INotifiable) Remove a previously added change listener.
- Parameters
listener – a listener to be removed.
-
-
class
pip_services3_components.config.
YamlConfigReader
(path: str = None) Bases:
pip_services3_components.config.FileConfigReader.FileConfigReader
Config reader that reads configuration from YAML file.
### Configuration parameters ###
path: path to configuration file
parameters: this entire section is used as template parameters
…
Example:
======== config.yml ====== key1: "{{KEY1_VALUE}}" key2: "{{KEY2_VALUE}}" ===========================
configReader = YamlConfigReader("config.yml") parameters = ConfigParams.from_tuples("KEY1_VALUE", 123, "KEY2_VALUE", "ABC") configReader.read_config_("123", parameters)
-
static
read_config
(correlation_id: Optional[str], path: str, parameters: pip_services3_commons.config.ConfigParams.ConfigParams) → pip_services3_commons.config.ConfigParams.ConfigParams Reads configuration from a file, parameterize it with given values and returns a new ConfigParams object.
- Parameters
correlation_id – (optional) transaction id to trace execution through call chain.
path – a path to configuration file.
parameters – values to parameters the configuration.
- Returns
ConfigParams configuration.
-
read_config_
(correlation_id: Optional[str], parameters: pip_services3_commons.config.ConfigParams.ConfigParams) → pip_services3_commons.config.ConfigParams.ConfigParams Reads configuration and parameterize it with given values.
- Parameters
correlation_id – (optional) transaction id to trace execution through call chain.
parameters – values to parameters the configuration or null to skip parameterization.
- Returns
ConfigParams configuration.
-
static
read_object
(correlation_id: Optional[str], path: str, parameters: pip_services3_commons.config.ConfigParams.ConfigParams) → Any Reads configuration file, parameterizes its content and converts it into YAML object.
- Parameters
correlation_id – (optional) transaction id to trace execution through call chain.
path – a path to configuration file.
parameters – values to parameters the configuration.
- Returns
a YAML object with configuration.