Consul Connect - How to configure envoy idle_timeout

I’m having a TCP keep-alive issued idle connections get disconnected by the proxy after an hour seems to be related to idle_timeout, and I want to overwrite this value either at service definition or globally, I saw some examples like the one below, but It’s not clear to me if this envoy_public_listener_json will overwrite the service name/port that was defined at sidecar_service level?

{
  "consul_service_client_config": {
    "service": {
      "name": "test",
      "connect": {
        "sidecar_service": {
          "port": "xxxx",
          "proxy": {
            "upstreams": [
              {
                "destination_name": "xxxxx",
                "local_bind_port": "xxxxx"
                "config": {
                    envoy_public_listener_json= <<EOL
                        {
                            "name": "test",
                            "address": {
                            "socket_address": {
                                "address": "0.0.0.0",
                                "port_value": "xxxx"
                            }
                            },
                            "filter_chains": [
                            {
                            "filters": [
                                {
                                    "name": "envoy.tcp_proxy",
                                    "config": {
                                        "idle_timeout": "2h"
                                    },                  
                            ]
                        ]
                        }
                    ]
                    }
                    EOL
                }
              }
            ]
          }
        }
      }
    }
  }
}