Deployment template parse failed: 'Required property 'type' not found in JSON. Path '', line, position.'. (Code: InvalidTemplate): -
The error message shows that the template is invalid. Make sure that the template is properly formatted (Json
) free of excessive spaces
&
' '
. The Arm template can also be validated using template validator.
If the template still looks good, try redeploying it with all of the required properties.
As you've done, I created a SQL managed instance and deleted the deployment. And it worked as intended when I used a custom template using the following parameters.json
file.
"parameters": {
"location": {
"defaultValue": "[resourceGroup().location]",
"type": "String",
"metadata": {
"description": "The location of the Managed Instance. Default is the location of the selected resource group."
}
},
"managedInstanceName": {
"type": "String",
"metadata": {
"description": "The name of the Managed Instance."
}
},
"deployInExistingSubnet": {
"defaultValue": false,
"type": "Bool",
"metadata": {
"description": "Determines whether the Managed Instance will be deployed in an existing subnet. Subnet parameters need to be valid if this is set."
}
},
"virtualNetworkResourceGroupName": {
"defaultValue": "[resourceGroup().name]",
"type": "String",
"metadata": {
"description": "The resource group where the networking resources will be created or updated. Default is the same resource group as Managed Instance."
}
},
"virtualNetworkName": {
"defaultValue": "[concat('vnet-', parameters('managedInstanceName'))]",
"type": "String",
"metadata": {
"description": "The virtual network name. Leave empty for the default value."
}
},
"subnetName": {
"defaultValue": "ManagedInstance",
"type": "String",
"metadata": {
"description": "The subnet name. Leave empty for the default value."
}
},
"skuName": {
"defaultValue": "GP_Gen5",
"allowedValues": [
"GP_Gen4",
"GP_Gen5",
"GP_G8IM",
"GP_G8IH",
"BC_Gen4",
"BC_Gen5",
"BC_G8IM",
"BC_G8IH"
],
"type": "String",
"metadata": {
"description": "Managed instance SKU. If SKU is not set, skuEdition and hardwareFamily values have to be populated."
}
},
"skuEdition": {
"defaultValue": "GeneralPurpose",
"allowedValues": [
"GeneralPurpose",
"BusinessCritical"
],
"type": "String",
"metadata": {
"description": "SKU Edition for the Managed Instance. In case skuName is set this parameter is ignored."
}
},
"hardwareFamily": {
"defaultValue": "Gen5",
"allowedValues": [
"Gen4",
"Gen5",
"Gen8IM",
"Gen8IH"
],
"type": "String",
"metadata": {
"description": "Compute generation for the instance. In case skuName is set this parameter is ignored."
}
},
"storageSizeInGB": {
"defaultValue": 256,
"minValue": 32,
"type": "Int",
"metadata": {
"description": "Determines how much Storage size in GB to associate with instance. Increments of 32 GB allowed only."
}
},
"vCores": {
"defaultValue": 8,
"allowedValues": [
4,
8,
16,
24,
32,
40,
64,
80,
96,
128
],
"type": "Int",
"metadata": {
"description": "The number of vCores."
}
},
"licenseType": {
"defaultValue": "LicenseIncluded",
"allowedValues": [
"LicenseIncluded",
"BasePrice"
],
"type": "String",
"metadata": {
"description": "Determines license pricing model. Select 'LicenseIncluded' for a regular price inclusive of a new SQL license. Select 'Base Price' for a discounted AHB price for bringing your own SQL licenses."
}
},
"hybridSecondaryUsage": {
"defaultValue": "Active",
"allowedValues": [
"Active",
"Passive"
],
"type": "String",
"metadata": {
"description": "Determines whether Hybrid failover rights benefit is activated. Select 'Passive' to enable this benefit."
}
},
"dnsZonePartner": {
"defaultValue": "",
"type": "String",
"metadata": {
"description": "The resource id of another Managed Instance whose DNS zone this Managed Instance will share after creation."
}
},
"collation": {
"defaultValue": "SQL_Latin1_General_CP1_CI_AS",
"type": "String",
"metadata": {
"description": "Collation of the Managed Instance."
}
},
"timezoneId": {
"defaultValue": "UTC",
"type": "String",
"metadata": {
"description": "Id of the timezone. Allowed values are timezones supported by Windows."
}
},
"proxyOverride": {
"defaultValue": "Proxy",
"allowedValues": [
"Proxy",
"Redirect"
],
"type": "String",
"metadata": {
"description": ""
}
},
"publicDataEndpointEnabled": {
"defaultValue": false,
"type": "Bool",
"metadata": {
"description": "Determines whether public data endpoint will be enabled, required for clients outside of the connected virtual networks. Public endpoint will always default to Proxy connection mode."
}
},
"nsgForPublicEndpoint": {
"defaultValue": "",
"allowedValues": [
"",
"allowFromInternetTo3342NSG",
"allowFromAzureCloudTo3342NSG",
"disallowTrafficTo3342NSG"
],
"type": "String",
"metadata": {
"description": "Determines which NSG inbound traffic rule to add for the public endpoint. In case publicDataEndpointEnabled is false this parameter is ignored."
}
},
"minimalTlsVersion": {
"defaultValue": "1.2",
"allowedValues": [
"1.0",
"1.1",
"1.2"
],
"type": "String",
"metadata": {
"description": "The minimum TLS version enforced by the Managed Instance for inbound connections."
}
},
"administratorLogin": {
"defaultValue": "",
"type": "String",
"metadata": {
"description": "The login of the Managed Instance admin."
}
},
"administratorLoginPassword": {
"defaultValue": "",
"type": "SecureString",
"metadata": {
"description": "The password of the Managed Instance admin."
}
},
"administrators": {
"defaultValue": {},
"type": "Object"
},
"managedInstanceTags": {
"defaultValue": {},
"type": "Object",
"metadata": {
"description": "Resource tags to associate with the instance."
}
},
"requestedBackupStorageRedundancy": {
"defaultValue": "Geo",
"allowedValues": [
"Geo",
"Zone",
"Local",
"GeoZone"
],
"type": "String",
"metadata": {
"description": "Option for configuring backup storage redundancy. Selecting 'Geo' will enable 'RA-GRS'."
}
},
"maintenanceConfigurationId": {
"defaultValue": "",
"type": "String",
"metadata": {
"description": "Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur."
}
},
"zoneRedundant": {
"defaultValue": false,
"type": "Bool",
"metadata": {
"description": "Determines whether zone redundancy will be enabled."
}
},
"enableADS": {
"defaultValue": false,
"type": "Bool"
},
"enableVA": {
"defaultValue": false,
"type": "Bool"
},
"identity": {
"defaultValue": {},
"type": "Object"
},
"primaryUserAssignedIdentityId": {
"defaultValue": "",
"type": "String"
},
"federatedClientId": {
"defaultValue": "",
"type": "String"
},
"servicePrincipal": {
"defaultValue": {},
"type": "Object"
}
}
Deployment succeeded:

You can also refer MSDoc for the common ARM template deployment errors.