/// <summary> /// Creates a new ContainerConfig object based on configuration parameters. Each /// section in the configuration parameters is converted into a component configuration. /// </summary> /// <param name="config">an object with key-value pairs used to initialize a new ContainerConfig.</param> /// <returns>a new ContainerConfig object.</returns> public static ContainerConfig FromConfig(ConfigParams config) { var result = new ContainerConfig(); if (config == null) { return(result); } foreach (var section in config.GetSectionNames()) { var componentConfig = config.GetSection(section); result.Add(ComponentConfig.FromConfig(componentConfig)); } return(result); }
/// <summary> /// Reads container configuration from YAML file. /// </summary> /// <param name="correlationId">(optional) transaction id to trace execution through call chain.</param> /// <param name="path">a path to component configuration file.</param> /// <param name="parameters">values to parameters the configuration or null to skip parameterization.</param> /// <returns>the read container configuration</returns> public static ContainerConfig ReadFromYamlFile(string correlationId, string path, ConfigParams parameters) { var config = YamlConfigReader.ReadConfig(correlationId, path, parameters); return(ContainerConfig.FromConfig(config)); }