Create backend Address pool for basic load balancer azure arm template I'm attempting to create a backend address pool via an ARM template for a load balancer with the following code:
            &quot;type&quot;: &quot;Microsoft.Network/loadBalancers/backendAddressPools&quot;,
        &quot;apiVersion&quot;: &quot;2020-05-01&quot;,
        &quot;name&quot;: &quot;[concat(variables('engineLbName'), '/LoadBalancerBEAddressPool')]&quot;,
        &quot;dependsOn&quot;: [
            &quot;[resourceId('Microsoft.Network/loadBalancers', variables('engineLbName'))]&quot;
        ],
        &quot;properties&quot;: {}

The loadbalancer it is targetting is using a basic SKU. When i attempt to deploy this arm template through the azure portal, I am given the following error message:
{
&quot;error&quot;: {
    &quot;code&quot;: &quot;BackendOperationOnlyAllowedForStandardLB&quot;,
    &quot;message&quot;: &quot;Operation on backend pool /subscriptions/****/resourceGroups/*******/providers/Microsoft.Network/loadBalancers/LB-engine/backendAddressPools/LoadBalancerBEAddressPool not allowed. This operation is only allowed for standard SKU load balancers.&quot;,
    &quot;details&quot;: []
}

}
Obviously, this indicates that i need to make my LB/LBIP of a standard SKU, however i specifically need this done on a basic SKU.
I am very confused as to why this error occurs, as we have many basic LB's that have backend configuration, and you are freely able to create a BE pool through the portal on a basic LB - I am unsure on how to do this via an ARM template.
I had the same issue, I downloaded the Template from Azure which effectively had my Load Balancer's Backend Address Pool as a &quot;dependsOn&quot; and as a &quot;property&quot;.
This is under the load balancer's &quot;dependsOn&quot; list :
    &quot;[resourceId('Microsoft.Network/loadBalancers/backendAddressPools', 'LB-db-phi-dbphipri', 'LoadBalancerBEAddressPool')]&quot;

And the property under the Load Balancer's property list:
    &quot;backendAddressPools&quot;: [
      {
        &quot;name&quot;: &quot;LoadBalancerBEAddressPool&quot;,            
        &quot;properties&quot;: {}
      }
    ]

Lastly, I had a child definition of the backendAddressPool as well
{
  &quot;type&quot;: &quot;Microsoft.Network/loadBalancers/backendAddressPools&quot;,
  &quot;apiVersion&quot;: &quot;2020-05-01&quot;,
  &quot;name&quot;: &quot;LB-db-phi-dbphipri/LoadBalancerBEAddressPool&quot;,
  &quot;properties&quot;: {}
}

You don't need both. In my case I removed the &quot;child&quot; and the &quot;dependsOn&quot; and just have the property defined under the load balancer.