We are having a hard time understanding the logic on the change.
If tunnel_authentication is not on the model and the tunnel_identify_file is present, we change the tunnel_identify_file in the model to null? Is this what you mean?
PFA minor patch to fix the issue when you change any field in server dialog 'tunnel_identity_file' model value get included unnecessarily in the update request.
eg: Change the server name and click on Save button, Check the request payload in network console.