Building GKE Public cluster with existing Cluster CIDR Range

Encounter the error when building the GKE cluster via terraform, i.e. #googleapi: Error 400: Cluster CIDR range is greater than maximum (24 > 21)., badRequest

Just to add on, the cluster CIDR range that defined is the existing subnetwork that have created in the VPC network, which is 172.31.4.0/24.

Understand from the GCP console portal, there is an option for choosing the existing subnetwork for that, and /24 is working fine.

Not too sure how terraform works on this.