25 Jan 2023
	
		
		03:45 PM
	
	
	
	
	
	
	
	
	
	
	
	
	
	
 - last edited on 
    
	
		
		
		14 Jun 2023
	
		
		09:51 AM
	
	
	
	
	
	
	
	
	
	
	
	
	
	
 by 
				
		 Michal_Gebacki
		
			Michal_Gebacki
		
		
		
		
		
		
		
		
	
			
		
Hi, I am trying to deploy the agent to an existing function app in azure using terraform and the guide at:
Has anyone got this working? It runs to plan but then fails in apply with this errot
resources.DeploymentsClient#Validate: Failure sending request: StatusCode=400 -- Original Error: Code="InvalidRequestContent" Message="The request content was invalid and could not be deserialized: 'Could not find member 'apiVersion' on object of type 'Template'. Path 'properties.template.apiVersion', line 1, position 132.'."
Here's my json
{
      "apiVersion": "2016-08-01",
      "name": "[parameters('resourceName')]",
      "type": "Microsoft.Web/sites",
      "properties": {
          "name": "[parameters('resourceName')]",
          "siteConfig": {
              "alwaysOn": true,
              "appSettings": [
                { "Name": "DT_TENANT", "Value": "[parameters('environmentID')]" },
                { "Name": "DT_API_TOKEN", "Value": "[parameters('APIToken')]" },
                { "Name": "DT_API_URL", "Value": "[parameters('APIUrl')]" },
                { "Name": "DT_SSL_MODE", "Value": "default" }
              ]
          },
          "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('resourceName'))]"
      },
      "dependsOn": [
          "[concat('Microsoft.Web/serverfarms/', parameters('resourceName'))]"
      ],
      "location": "[parameters('location')]",
      "resources": [
          {
              "apiVersion": "2016-08-01",
              "name": "Dynatrace",
              "type": "siteextensions",
              "dependsOn": [
                  "[resourceId('Microsoft.Web/sites', parameters('resourceName'))]"
              ],
              "properties": { }
          }
      ]
  }
					
				
			
			
				
			
			
				Solved! Go to Solution.
25 Jan 2023 05:46 PM
Ive been able to get it to deploy, with some new json, but its now killing the app and overwriting the settings.... I am specifying incremental mode.
New JSON
resource "azurerm_resource_group_template_deployment" "this" {
#count = lookup(var.env_deployent, terraform.workspace, false) == true ? 1 : 0 # *** Is this resource required? ***
name = "OneAgent-Deployment"
resource_group_name = var.resource_group
deployment_mode = "Incremental"
template_content = <<TEMPLATE
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {"siteName": {
"type": "string",
"metadata": {
"description": "Web app name where you would like to install extension."
}
},
"location": {
"type": "string",
"metadata": {
"description": "Region of your web app."
}
},
"environmentID": {
"type": "string",
"metadata": {
"description": "The environment ID."
}
},
"APIToken": {
"type": "string",
"metadata": {
"description": "The PaaS token."
}
},
"APIUrl": {
"type": "string",
"metadata": {
"description": "The server URL, if you want to configure an alternative communication endpoint."
}
},
"SSLMode": {
"type": "string",
"metadata": {
"description": "To automatically accept all self-signed TLS certificates, set the value to all."
},
"allowedValues": [
"default", "all"
],
"defaultValue": "default"
},
"networkZone": {
"type": "string",
"metadata": {
"description": "Your network zone. Set the value you want for your App Service instance. See network zones for more information."
},
"defaultValue": ""
}
},
"resources": [
{
"apiVersion": "2020-12-01",
"name": "[parameters('siteName')]",
"type": "Microsoft.Web/sites",
"properties": {
"name": "[parameters('siteName')]",
"siteConfig": {
"appSettings": [
{ "Name": "DT_TENANT", "Value": "[parameters('environmentID')]" },
{ "Name": "DT_API_TOKEN", "Value": "[parameters('APIToken')]" },
{ "Name": "DT_API_URL", "Value": "[parameters('APIUrl')]" },
{ "Name": "DT_SSL_MODE", "Value": "[parameters('SSLMode')]" },
{ "Name": "DT_NETWORK_ZONE", "Value": "[parameters('networkZone')]"}
]
}
},
"dependsOn": [],
"location": "[parameters('location')]",
"resources": [
{
"apiVersion": "2020-12-01",
"name": "Dynatrace",
"type": "siteextensions",
"dependsOn": [
"[resourceId('Microsoft.Web/sites/', parameters('siteName'))]"
]
}
]
}
],
"outputs": {}
}
TEMPLATE
25 Jan 2023 06:18 PM
Hello,
It looks like there's an option to install it via the Azure portal. Would you be able to try it that way and see if you're getting the same errors?
thanks
26 Jan 2023 09:19 AM
It installs fine manually.
14 Jun 2023 10:18 AM
Was able to install it using a mixture of API calls in powershell called in a yaml pipeline.
