def get_config_value(self, overrides, skip_environment=False):
label, override, key = self._search_overrides(<EOL>overrides, skip_environment<EOL>)<EOL>if override is None and self.default is None and self.required:<EOL><INDENT>raise YapconfItemNotFound(<EOL>'<STR_LIT>'.format(self.fq_name),<EOL>self<EOL>)<EOL><DEDENT>if override is None:<EOL><INDENT>self.logger.debug(<EOL>'<STR_LIT>'<EOL>.format(self.name)<EOL>)<EOL>value = self.default<EOL><DEDENT>else:<EOL><INDENT>value = override[key]<EOL><DEDENT>if value is None:<EOL><INDENT>return value<EOL><DEDENT>converted_value = self.convert_config_value(value, label)<EOL>self._validate_value(converted_value)<EOL>return converted_value<EOL>
Get the configuration value from all overrides.

        Iterates over all overrides given to see if a value can be pulled
        out from them. It will convert each of these values to ensure they
        are the correct type.

        Args:
            overrides: A list of tuples where each tuple is a label and a
                dictionary representing a configuration.
            skip_environment: Skip looking through the environment.

        Returns:
            The converted configuration value.

        Raises:
            YapconfItemNotFound: If an item is required but could not be found
                in the configuration.
            YapconfItemError: If a possible value was found but the type
                cannot be determined.
            YapconfValueError: If a possible value is found but during
                conversion, an exception was raised.