def METHOD_NAME(
    self, providers: List[JsonDict], config_path: StrSequence
) -> Iterable[OEmbedEndpointConfig]:
    # Ensure it is the proper form.
    validate_config(
        _OEMBED_PROVIDER_SCHEMA,
        providers,
        config_path=config_path,
    )
    # Parse it and yield each result.
    for provider in providers:
        # Each provider might have multiple API endpoints, each which
        # might have multiple patterns to match.
        for endpoint in provider["endpoints"]:
            api_endpoint = endpoint["url"]
            # The API endpoint must be an HTTP(S) URL.
            results = urlparse.urlparse(api_endpoint)
            if results.scheme not in {"http", "https"}:
                raise ConfigError(
                    f"Unsupported oEmbed scheme ({results.scheme}) for endpoint {api_endpoint}",
                    config_path,
                )
            patterns = [
                self._glob_to_pattern(glob, config_path)
                for glob in endpoint["schemes"]
            ]
            yield OEmbedEndpointConfig(
                api_endpoint, patterns, endpoint.get("formats")
            )