Error While Applying Envoy Filter: admission webhook "pilot.validation.istio.io" denied the request: configuration is invalid: envoy filter: missing filters

I am trying to set TCP idleTimeout via an Envoy Filter, so that outbound connections external service some.app.com will be terminated if they are idle for 9s.

ISTIO_VERSION=1.2.5
ENVOY_VERSION=1.11.0-dev

My EnvoyFilter looks something like this:

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: listener-timeout-tcp
  namespace: istio-system
spec:
  configPatches:
  - applyTo: NETWORK_FILTER
    match:
      context: SIDECAR_OUTBOUND
      listener:
        filterChain:
          sni: some.app.com
          filter:
            name: envoy.filters.network.tcp_proxy
    patch:
      operation: MERGE
      value:
        name: envoy.filters.network.tcp_proxy
        typed_config:
          '@type': type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy
          idle_timeout: 9s

However, when I try to apply this filter I get the following error:

Error from server: error when creating "filter.yaml": admission webhook "pilot.validation.istio.io" denied the request: configuration is invalid: envoy filter: missing filters

Is it happening because this syntax is not supported by istio v1.2.5? Or, is there some miss configuration in my filter?