def _apply_override_file(
        self, override_file, pack_name, resource_type, content, global_file
    ):

        """
        Loads override content from override file

        :param override_file: Override filename
        :type override_file: ``str``
        :param pack_name: Name of pack
        :type pack_name: ``str``
        :param resource_type: Type of resource loading
        :type type: ``str``
        :param content: Content as loaded from meta information
        :type content: ``object``
        """

        if not os.path.exists(override_file):
            # No override file for pack
            LOG.debug(f"No override file {override_file} found")
            return

        # Read override file
        file_name, file_ext = os.path.splitext(override_file)
        overrides = self._load(PARSER_FUNCS[file_ext], override_file)
        # Apply overrides
        if resource_type in overrides:
            type_override = overrides[resource_type]
            name = content[self.ALLOWED_OVERRIDE_TYPES[resource_type]]
            if "defaults" in type_override:
                for key in type_override["defaults"]:
                    if key in self.ALLOWED_OVERRIDE_NAMES:
                        content[key] = type_override["defaults"][key]
                        LOG.debug(
                            f"Overridden {resource_type} {pack_name}.{name} {key} to default value of {content[key]} from {override_file}"
                        )
                    else:
                        raise ValueError(
                            f"Override attempted with invalid default key {key} in pack {pack_name}"
                        )

            if global_file:
                # No exceptions required in global content file
                return

            if "exceptions" in type_override:
                if name in type_override["exceptions"]:
                    for key in type_override["exceptions"][name]:
                        if key in self.ALLOWED_OVERRIDE_NAMES:
                            content[key] = type_override["exceptions"][name][key]
                            LOG.debug(
                                f"Overridden {resource_type} {pack_name}.{name} {key} to exception value of {content[key]} from {override_file}"
                            )
                        else:
                            raise ValueError(
                                f"Override attempted with invalid exceptions key {key} in pack {pack_name}"
                            )

        Loads override content from override file

        :param override_file: Override filename
        :type override_file: ``str``
        :param pack_name: Name of pack
        :type pack_name: ``str``
        :param resource_type: Type of resource loading
        :type type: ``str``
        :param content: Content as loaded from meta information
        :type content: ``object``
        
st2common/st2common/content/loader.py