There is ways to create a Azure Search Service via ARM template (Example: https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/101-azure-search-create/azuredeploy.json).
What I want to know is there a way to define a specific index within the ARM template (fields, data sources, indexers etc)?
I know that there are REST services that you can use in order to create and modify indexes but I do not want a separate script/application to handle that after my resource group and Azure Search Service is created.
Azure Search does not support managing indexes via ARM templates today. If this capability is important to you, please add an item on User Voice to help us prioritize it.