0

I deployed SQL Managed Instance in Azure using Azure portal, and before actual deploy it has an option of saving template for automation of future deploys, which I did.

Then I deleted managed instance, and now I need to re-deploy it using generated template.

When I go to "Deploy a custom template" in Azure portal, select a template from a library, and then Azure portal throws validation error:

Deployment template parse failed: 'Required property 'type' not found in JSON. Path '', line 256, position 27.'. (Code: InvalidTemplate)

Template consists of two files, parameters.json and template.json

Looking at parameters.json, it is short file it does not even have line 256, while template.json, has line 256 (and much more):

255       "federatedClientId": {
256         "type": "string",
257          "defaultValue": ""
258       },

Which is kind of strange - it has 'type' property.
Googling and using Bing AI did not give me meaningful solution. How can I fix it and make it work ?

1 Answers1

1

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:

enter image description here

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

Jahnavi
  • 3,076
  • 1
  • 3
  • 10