Hi, Wonderful. There are various ways of doing this:
It depends on your use case; if you want to provision resources outside of Azure (ie AWS, Active Directory, etc), then Terraform may be worth starting with (look at the providers).
Terraform has a comprehensive document on the AzureRM provider.
Else if you want to go Azure native, then Azure Bicep is a great choice, and Microsoft already has a repo of a lot of existing resources that you can pull from here: https://github.com/Azure/ResourceModules.
Its worth noting, that the skills you mean in Bicep and Terraform as example, can help you work with both, even though they are different languages a lot of the syntax is very similar - so in my opinion, you can't go wrong with either.
There are various Youtube videos, out there for free across all these different areas to learn from, including looking at the examples.
In terms of importing existing resources, you can use Import Resource with Bicep, and aztfexport with Terraform.
Both can be deployed via Github actions (Terraform)(Bicep), and of course any PowerShell command you can run can also be deployed with github.