Home > Enterprise >  Getting ARM template deploy error "Could not find member 'securityType' ...."
Getting ARM template deploy error "Could not find member 'securityType' ...."

Time:10-14

I have a ARM template that works fine for creating a virtual machine (Windows Server 2022).

I added some variables for Trusted Launch:

"variables": {

    "securityType": "TrustedLaunch",
    "secureBoot": true,
    "vTPMEnabled": true
},

In the virtual machine (Microsoft.Compute/virtualMachines) resources array I added the following:

   "securityProfile": {
       "securityType": "[variables('securityType')]",
       "uefiSettings": {
           "secureBootEnabled": "[variables('secureBoot')]",
           "vTpmEnabled": "[variables('vTPMEnabled')]"
       }
   }

When I deploy the template and click Create, it gives the following error:

{"code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.","details":[{"code":"BadRequest","message":"Could not find member 'securityType' on object of type 'SecurityProfile'. Path 'properties.securityProfile.securityType', line 1, position 1186."}]}

I can go to Virtual Machines and create a VM with Security Type set to 'Trusted launch virtual machines' and it creates fine. When I download the template before clicking create and look at the JSON it is nearly identical (it uses parameters instead of variables, but I tried using variables and hardcoding the SecureProfiles and I get the same error). This is the SecureProfiles from the downloaded template JSON for reference:

   securityProfile": {
      securityType": "[parameters('securityType')]",
      uefiSettings": {
          secureBootEnabled": "[parameters('secureBoot')]",
          vTpmEnabled": "[parameters('vTPM')]"
      }
   }

Looking for help on the error "Could not find member 'securityType'..." I am getting.

CodePudding user response:

Trusted Launch VM ARM Template Reference

azure-deploy.json

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
      "adminUsername": {
        "type": "string",
        "metadata": {
          "description": "Username for the Virtual Machine."
        }
      },
      "adminPassword": {
        "type": "secureString",
        "minLength": 12,
        "metadata": {
          "description": "Password for the Virtual Machine."
        }
      },
      "dnsLabelPrefix": {
        "type": "string",
        "defaultValue": "[toLower(format('{0}-{1}', parameters('vmName'), uniqueString(resourceGroup().id, parameters('vmName'))))]",
        "metadata": {
          "description": "Unique DNS Name for the Public IP used to access the Virtual Machine."
        }
      },
      "publicIpName": {
        "type": "string",
        "defaultValue": "myPublicIP",
        "metadata": {
          "description": "Name for the Public IP used to access the Virtual Machine."
        }
      },
      "publicIPAllocationMethod": {
        "type": "string",
        "defaultValue": "Dynamic",
        "allowedValues": [
          "Dynamic",
          "Static"
        ],
        "metadata": {
          "description": "Allocation method for the Public IP used to access the Virtual Machine."
        }
      },
      "publicIpSku": {
        "type": "string",
        "defaultValue": "Basic",
        "allowedValues": [
          "Basic",
          "Standard"
        ],
        "metadata": {
          "description": "SKU for the Public IP used to access the Virtual Machine."
        }
      },
      "OSVersion": {
        "type": "string",
        "defaultValue": "2022-datacenter-azure-edition-core",
        "allowedValues": [
          "2008-R2-SP1",
          "2008-R2-SP1-smalldisk",
          "2012-Datacenter",
          "2012-datacenter-gensecond",
          "2012-Datacenter-smalldisk",
          "2012-datacenter-smalldisk-g2",
          "2012-Datacenter-zhcn",
          "2012-datacenter-zhcn-g2",
          "2012-R2-Datacenter",
          "2012-r2-datacenter-gensecond",
          "2012-R2-Datacenter-smalldisk",
          "2012-r2-datacenter-smalldisk-g2",
          "2012-R2-Datacenter-zhcn",
          "2012-r2-datacenter-zhcn-g2",
          "2016-Datacenter",
          "2016-datacenter-gensecond",
          "2016-datacenter-gs",
          "2016-Datacenter-Server-Core",
          "2016-datacenter-server-core-g2",
          "2016-Datacenter-Server-Core-smalldisk",
          "2016-datacenter-server-core-smalldisk-g2",
          "2016-Datacenter-smalldisk",
          "2016-datacenter-smalldisk-g2",
          "2016-Datacenter-with-Containers",
          "2016-datacenter-with-containers-g2",
          "2016-datacenter-with-containers-gs",
          "2016-Datacenter-zhcn",
          "2016-datacenter-zhcn-g2",
          "2019-Datacenter",
          "2019-Datacenter-Core",
          "2019-datacenter-core-g2",
          "2019-Datacenter-Core-smalldisk",
          "2019-datacenter-core-smalldisk-g2",
          "2019-Datacenter-Core-with-Containers",
          "2019-datacenter-core-with-containers-g2",
          "2019-Datacenter-Core-with-Containers-smalldisk",
          "2019-datacenter-core-with-containers-smalldisk-g2",
          "2019-datacenter-gensecond",
          "2019-datacenter-gs",
          "2019-Datacenter-smalldisk",
          "2019-datacenter-smalldisk-g2",
          "2019-Datacenter-with-Containers",
          "2019-datacenter-with-containers-g2",
          "2019-datacenter-with-containers-gs",
          "2019-Datacenter-with-Containers-smalldisk",
          "2019-datacenter-with-containers-smalldisk-g2",
          "2019-Datacenter-zhcn",
          "2019-datacenter-zhcn-g2",
          "2022-datacenter",
          "2022-datacenter-azure-edition",
          "2022-datacenter-azure-edition-core",
          "2022-datacenter-azure-edition-core-smalldisk",
          "2022-datacenter-azure-edition-smalldisk",
          "2022-datacenter-core",
          "2022-datacenter-core-g2",
          "2022-datacenter-core-smalldisk",
          "2022-datacenter-core-smalldisk-g2",
          "2022-datacenter-g2",
          "2022-datacenter-smalldisk",
          "2022-datacenter-smalldisk-g2"
        ],
        "metadata": {
          "description": "The Windows version for the VM. This will pick a fully patched image of this given Windows version."
        }
      },
      "vmSize": {
        "type": "string",
        "defaultValue": "Standard_D2s_v5",
        "metadata": {
          "description": "Size of the virtual machine."
        }
      },
      "location": {
        "type": "string",
        "defaultValue": "[resourceGroup().location]",
        "metadata": {
          "description": "Location for all resources."
        }
      },
      "vmName": {
        "type": "string",
        "defaultValue": "simple-vm",
        "metadata": {
          "description": "Name of the virtual machine."
        }
      },
      "securityType": {
        "type": "string",
        "metadata": {
          "description": "Security Type of virtualmachine"
        }
      },
      "secureBootEnabled": {
        "type": "string",
        "metadata": {
          "description": "secureBootEnabled of the virtual machine"
        }
      },
      "vTpmEnabled": {
        "type": "string",
        "metadata": {
          "description": "vTpmEnabled of the virtual machine"
        }
      }
    },
    "variables": {
      "storageAccountName": "[format('bootdiags{0}', uniqueString(resourceGroup().id))]",
      "nicName": "myVMNic",
      "addressPrefix": "10.0.0.0/16",
      "subnetName": "Subnet",
      "subnetPrefix": "10.0.0.0/24",
      "virtualNetworkName": "MyVNET",
      "networkSecurityGroupName": "default-NSG"
    },
    "resources": [
      {
        "type": "Microsoft.Storage/storageAccounts",
        "apiVersion": "2021-04-01",
        "name": "[variables('storageAccountName')]",
        "location": "[parameters('location')]",
        "sku": {
          "name": "Standard_LRS"
        },
        "kind": "Storage"
      },
      {
        "type": "Microsoft.Network/publicIPAddresses",
        "apiVersion": "2021-02-01",
        "name": "[parameters('publicIpName')]",
        "location": "[parameters('location')]",
        "sku": {
          "name": "[parameters('publicIpSku')]"
        },
        "properties": {
          "publicIPAllocationMethod": "[parameters('publicIPAllocationMethod')]",
          "dnsSettings": {
            "domainNameLabel": "[parameters('dnsLabelPrefix')]"
          }
        }
      },
      {
        "type": "Microsoft.Network/networkSecurityGroups",
        "apiVersion": "2021-02-01",
        "name": "[variables('networkSecurityGroupName')]",
        "location": "[parameters('location')]",
        "properties": {
          "securityRules": [
            {
              "name": "default-allow-3389",
              "properties": {
                "priority": 1000,
                "access": "Allow",
                "direction": "Inbound",
                "destinationPortRange": "3389",
                "protocol": "Tcp",
                "sourcePortRange": "*",
                "sourceAddressPrefix": "*",
                "destinationAddressPrefix": "*"
              }
            }
          ]
        }
      },
      {
        "type": "Microsoft.Network/virtualNetworks",
        "apiVersion": "2021-02-01",
        "name": "[variables('virtualNetworkName')]",
        "location": "[parameters('location')]",
        "properties": {
          "addressSpace": {
            "addressPrefixes": [
              "[variables('addressPrefix')]"
            ]
          },
          "subnets": [
            {
              "name": "[variables('subnetName')]",
              "properties": {
                "addressPrefix": "[variables('subnetPrefix')]",
                "networkSecurityGroup": {
                  "id": "[resourceId('Microsoft.Network/networkSecurityGroups', variables('networkSecurityGroupName'))]"
                }
              }
            }
          ]
        },
        "dependsOn": [
          "[resourceId('Microsoft.Network/networkSecurityGroups', variables('networkSecurityGroupName'))]"
        ]
      },
      {
        "type": "Microsoft.Network/networkInterfaces",
        "apiVersion": "2021-02-01",
        "name": "[variables('nicName')]",
        "location": "[parameters('location')]",
        "properties": {
          "ipConfigurations": [
            {
              "name": "ipconfig1",
              "properties": {
                "privateIPAllocationMethod": "Dynamic",
                "publicIPAddress": {
                  "id": "[resourceId('Microsoft.Network/publicIPAddresses', parameters('publicIpName'))]"
                },
                "subnet": {
                  "id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', variables('virtualNetworkName'), variables('subnetName'))]"
                }
              }
            }
          ]
        },
        "dependsOn": [
          "[resourceId('Microsoft.Network/publicIPAddresses', parameters('publicIpName'))]",
          "[resourceId('Microsoft.Network/virtualNetworks', variables('virtualNetworkName'))]"
        ]
      },
      {
        "type": "Microsoft.Compute/virtualMachines",
        "apiVersion": "2021-03-01",
        "name": "[parameters('vmName')]",
        "location": "[parameters('location')]",
        "properties": {
          "hardwareProfile": {
            "vmSize": "[parameters('vmSize')]"
          },
          "osProfile": {
            "computerName": "[parameters('vmName')]",
            "adminUsername": "[parameters('adminUsername')]",
            "adminPassword": "[parameters('adminPassword')]"
          },
          "storageProfile": {
            "imageReference": {
              "publisher": "MicrosoftWindowsServer",
              "offer": "WindowsServer",
              "sku": "[parameters('OSVersion')]",
              "version": "latest"
            },
            "osDisk": {
              "createOption": "FromImage",
              "managedDisk": {
                "storageAccountType": "StandardSSD_LRS"
              }
            },
            "dataDisks": [
              {
                "diskSizeGB": 1023,
                "lun": 0,
                "createOption": "Empty"
              }
            ]
          },
          "networkProfile": {
            "networkInterfaces": [
              {
                "id": "[resourceId('Microsoft.Network/networkInterfaces', variables('nicName'))]"
              }
            ]
          },
          "diagnosticsProfile": {
            "bootDiagnostics": {
              "enabled": true,
              "storageUri": "[reference(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))).primaryEndpoints.blob]"
            }
          },
          "securityProfile":{
            "securityType": "[parameters('securityType')]",
            "uefiSettings": {
              "secureBootEnabled": "[parameters('secureBootEnabled')]",
              "vTpmEnabled": "[parameters('vTpmEnabled')]"
            }
          }
        },
        "dependsOn": [
          "[resourceId('Microsoft.Network/networkInterfaces', variables('nicName'))]",
          "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]"
        ]
      }
    ],
    "outputs": {
      "hostname": {
        "type": "string",
        "value": "[reference(resourceId('Microsoft.Network/publicIPAddresses', parameters('publicIpName'))).dnsSettings.fqdn]"
      }
    }
  }

azure-deploy.parameters.json

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "adminUsername": {
            "value": "" 
        },
        "adminPassword": {
            "value": "" 
        },
        "dnsLabelPrefix": {
            "value": "" 
        },
        "publicIpName": {
            "value": ""
        },
        "publicIPAllocationMethod": {
            "value": ""
        },
        "publicIpSku": {
            "value": ""
        },
        "OSVersion": {
            "value": "2022-datacenter-azure-edition-core"
        },
        "vmSize": {
            "value": "Standard_D2s_v5"
        },
        "location": {
            "value": "eastus" 
        },
        "vmName": {
            "value": ""
        },
        "securityType": {
            "value": "TrustedLaunch" 
        },
        "secureBootEnabled": {
            "value": "true" 
        },
        "vTpmEnabled": {
            "value": "true" 
        }
    }
}
  • Related