in chalice/config.py [0:0]
def _chain_lookup(self, name: str, varies_per_chalice_stage: bool = False,
varies_per_function: bool = False) -> Any:
search_dicts = [self._user_provided_params]
if varies_per_chalice_stage:
search_dicts.append(
self._config_from_disk.get('stages', {}).get(
self.chalice_stage, {}))
if varies_per_function:
# search order:
# config['stages']['lambda_functions']
# config['stages']
# config['lambda_functions']
search_dicts.insert(
0, self._config_from_disk.get('stages', {}).get(
self.chalice_stage, {}).get('lambda_functions', {}).get(
self.function_name, {}))
search_dicts.append(
self._config_from_disk.get('lambda_functions', {}).get(
self.function_name, {}))
search_dicts.extend([self._config_from_disk, self._default_params])
for cfg_dict in search_dicts:
if isinstance(cfg_dict, dict) and cfg_dict.get(name) is not None:
return cfg_dict[name]