Upgrade GKE master and node pool to a specific version with terraform

We have a K8 cluster deployed to GKE using terraform. We want to upgrade the master and node pool to a specific GKE version via terraform. We used the min_master_version and node version values to upgrade. However during the upgrade, the cluster - master and node pools are deleted first and then recreated using the version specified by the min_master_version and node_version. This causes a downtime for our application.

We want the cluster to be upgraded to the new version without a deletion of the existing cluster. We are using regional cluster and we do not want an auto update for the master. We want to be able to choose the version that we need to update.

Would appreciate any help or pointers.