Disclaimer: I do not work for HashiCorp.
TL;DR
@ds33s you will have to write your .tf files specific to the cloud provider, yes.
I would still say Terraform is cloud agnostic.
Longer version:
There can be some concept of mapping, i.e X in AWS means Y in Azure, etc. but overall there are differences not only in the properties but also the features, so to have a single definition for multiple clouds would get a bit tricky.
What you are asking is quite imaginable for simple resources like EC2 instances, but quite different, say for Lambda.
That said, there are Terraform modules which can help you to get started quickly, before you deep dive into specific resources.
HTH,
Shantanu Gadgil