async def METHOD_NAME(
    url: str, repo_owner: str, repo_name: str
) -> Union[List[dict], dict]:
    """
    Business logic to retrieve templates from DockerHub.
    Args:
        url (str): The URL endpoint for retrieving templates. Should contain placeholders `{}`
            for the `repo_owner` and `repo_name` values to be inserted. For example:
            `https://hub.docker.com/v2/repositories/{}/{}/tags`.
        repo_owner (str): The owner or organization of the repository from which templates are to be retrieved.
        repo_name (str): The name of the repository where the templates are located.
    Returns:
        tuple: A tuple containing two values.
    """
    async with httpx.AsyncClient() as client:
        response = await client.get(
            f"{url.format(repo_owner, repo_name)}/tags", timeout=10
        )
        if response.status_code == 200:
            response_data = response.json()
            return response_data
        response_data = response.json()
        return response_data