Here is a quick example on how to provide parameters to azurerm_resource_group_template_deployment, as the documentation is currently very poor.
Here is a quick main.tf:
variable "location" {
default = "westeurope"
type = string
description = "The Azure location where all resources in this example should be created"
}
provider "azurerm" {
features {}
}
data "azurerm_client_config" "current" {}
data "azurerm_subscription" "current" {}
resource "azurerm_resource_group" "rg" {
name = "testResourceGroup1"
location = var.location
}
resource "azurerm_resource_group_template_deployment" "example" {
name = "testLogicApp1"
resource_group_name = azurerm_resource_group.rg.name
deployment_mode = "Complete"
template_content = file("logicapp.json")
parameters_content = jsonencode({
azure_location = {value = azurerm_resource_group.rg.location}
name = {value = "testLogicApp1"}
azure_function_code = {value = "testtesttest"}
})
}
As you can see, the parameters_content is converted from a Terraform object to JSON using jsonencode, and all values must be provided like you would define parameters using az deployment, with “value=xx”.
And this is my ARM template for the LogicApp:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"azure_location": {
"defaultValue": "westeurope",
"type": "string"
},
"name": {
"type": "String"
},
"azure_function_code": {
"type": "String"
}
},
"variables": {
},
"outputs": {
"principalId": {
"type": "string",
"value": "[reference(concat(resourceId('Microsoft.Logic/workflows', parameters('name')), '/providers/Microsoft.ManagedIdentity/Identities/default'), '2018-11-30').principalId]"
},
"tenantid": {
"type": "string",
"value": "[reference(concat(resourceId('Microsoft.Logic/workflows', parameters('name')), '/providers/Microsoft.ManagedIdentity/Identities/default'), '2018-11-30').tenantid]"
},
"resourceId": {
"type": "string",
"value": "[resourceId('Microsoft.Logic/workflows', parameters('name'))]"
}
},
"resources": [
{
"type": "Microsoft.Logic/workflows",
"apiVersion": "2017-07-01",
"name": "[parameters('name')]",
"location": "[parameters('azure_location')]",
"identity": {
"type": "SystemAssigned"
},
"dependsOn": [
],
"resources": [],
"properties": {
"state": "Enabled",
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"azurefunctioncode": {
"defaultValue": "[parameters('azure_function_code')]",
"type": "String"
}
},
"triggers": {
"Recurrence": {
"recurrence": {
"frequency": "Day",
"interval": 1,
"schedule": {
"hours": [
"2"
],
"minutes": [
5
]
}
},
"type": "Recurrence"
}
},
"actions": {
},
"outputs": {}
}
}
}
]
}
Is there any example on Azure Data Factory deployment with same terraform