public function updateCluster($projectId, $region, $clusterName, $cluster, $updateMask, array $optionalArgs = [])
    {
        $request = new UpdateClusterRequest();
        $request->setProjectId($projectId);
        $request->setRegion($region);
        $request->setClusterName($clusterName);
        $request->setCluster($cluster);
        $request->setUpdateMask($updateMask);
        if (isset($optionalArgs['gracefulDecommissionTimeout'])) {
            $request->setGracefulDecommissionTimeout($optionalArgs['gracefulDecommissionTimeout']);
        }
        if (isset($optionalArgs['requestId'])) {
            $request->setRequestId($optionalArgs['requestId']);
        }

        return $this->startOperationsCall(
            'UpdateCluster',
            $optionalArgs,
            $request,
            $this->getOperationsClient()
        )->wait();
    }