Neo
Neo

Reputation: 16239

No HTTP resource was found that matches the request URI Error while create resource group using ARM

I'm using ARM template for logic app deployment and below section i'm trying to create resource group nested with NSG and vnet.

Nsg and vnet section working fine but when I add resource group section deployment failing with below error -

No HTTP resource was found that matches the request URI

"template": {
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
 "resources": [
    {
      "type": "Microsoft.Resources/deployments",
      "apiVersion": "2021-04-01",
      "name": "[concat(parameters('nsgName'), '-nsg')]",
      "comments": "Nested deployment to create Network Security Groups",
      "resourceGroup": "[parameters('nsgResourceGroupName')]",
      "dependsOn": [],
      "properties": {
        "mode": "Incremental",
        "template": {
          "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
          "contentVersion": "1.0.0.0",
          "resources": [
            {
              "type": "Microsoft.Resources/resourceGroups",
              "apiVersion": "2021-04-01",
              "name": "mydemo",
              "location": "[parameters('nsgResourceLocation')]",
              "properties": {}
            },
            {
              "apiVersion": "2020-05-01",
              "type": "Microsoft.Network/networkSecurityGroups",
              "name": "[parameters('nsgName')]",
              "location": "[parameters('nsgResourceLocation')]",
              "properties": {
              },
              "tags": {
                "resourceType": "LogicApps Network Security Groups",
                "clusterName": "Standard Logic Apps"
              }
            },
            {
              "apiVersion": "2020-05-01",
              "type": "Microsoft.Network/virtualNetworks",
              "name": "[parameters('vnetName')]",
              "location": "[parameters('vnetLocation')]",
              "dependsOn": [
              ],
              "properties": {
                "addressSpace": {
                  "addressPrefixes": [
                    "[variables('addressPrefix')]"
                  ]
                },
            },
              "tags": {
                "resourceType": "Logic Apps",
                "logicAppNames": "Standard Logic Apps"
              }
            }
          ]
        }
      }
    }
  ]
}

issue started occuring when added resource group creation section -

i.e.

{
                  "type": "Microsoft.Resources/resourceGroups",
                  "apiVersion": "2021-04-01",
                  "name": "mydemo",
                  "location": "[parameters('nsgResourceLocation')]",
                  "properties": {}
                }

Upvotes: 0

Views: 73

Answers (2)

wenbo
wenbo

Reputation: 1531

you can deploy in two steps.

must be deployed in order in powershell script. Template dependson not works across subscription level and resource group level, otherwise here can be in one template

  1. create a resource group at subscription level.
  2. create resource in the resource group.

resourceGroup.json

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "secondResourceGroup": {
            "type": "string",
            "defaultValue": "wb-test-rg"
        },
        "secondSubscriptionID": {
            "type": "string",
            "defaultValue": "xxx-xxxxx-xxxx"
        },
        "resourceGroupLocation": {
            "type": "string",
            "defaultValue": "eastus"
        }
    },
    "variables": {
    },
    "resources": [
        {
            "type": "Microsoft.Resources/deployments",
            "apiVersion": "2021-04-01",
            "name": "rgDeployment",
            "location": "westus",
            "subscriptionId": "[parameters('secondSubscriptionID')]",
            "properties": {
                "mode": "Incremental",
                "template": {
                    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/subscriptionDeploymentTemplate.json#",
                    "contentVersion": "1.0.0.0",
                    "parameters": {},
                    "variables": {},
                    "resources": [
                        {
                            "type": "Microsoft.Resources/resourceGroups",
                            "apiVersion": "2021-04-01",
                            "name": "[parameters('secondResourceGroup')]",
                            "location": "[parameters('resourceGroupLocation')]",
                            "properties": {}
                        }
                    ],
                    "outputs": {}
                }
            }
        }
    ]
}

resources.json

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "secondResourceGroup": {
            "type": "string",
            "defaultValue": "wb-test-rg"
        },
        "secondSubscriptionID": {
            "type": "string",
            "defaultValue": "xxx-xxxxxx-xxxx"
        },
        "nsgName": {
            "type": "string",
            "defaultValue": "wb-nsg"
        },
        "nsgLocation": {
            "type": "string",
            "defaultValue": "eastus"
        },
        "vnetLocation": {
            "type": "string",
            "defaultValue": "eastus"
        },
        "vnetName": {
            "type": "string",
            "defaultValue": "wb-vnet"
        }
    },
    "variables": {
        "addressPrefix": "10.0.0.0/16"
    },
    "resources": [
        {
            "type": "Microsoft.Resources/deployments",
            "apiVersion": "2021-04-01",
            "name": "resourcesDeployment",
            "resourceGroup": "[parameters('secondResourceGroup')]",
            "subscriptionId": "[parameters('secondSubscriptionID')]",
            "properties": {
                "mode": "Incremental",
                "template": {
                    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
                    "contentVersion": "1.0.0.0",
                    "parameters": {},
                    "variables": {},
                    "resources": [
                        {
                            "apiVersion": "2020-05-01",
                            "type": "Microsoft.Network/networkSecurityGroups",
                            "name": "[parameters('nsgName')]",
                            "location": "[parameters('nsgLocation')]",
                            "properties": {
                            },
                            "tags": {
                                "resourceType": "LogicApps Network Security Groups",
                                "clusterName": "Standard Logic Apps"
                            }
                        },
                        {
                            "apiVersion": "2020-05-01",
                            "type": "Microsoft.Network/virtualNetworks",
                            "name": "[parameters('vnetName')]",
                            "location": "[parameters('vnetLocation')]",
                            "dependsOn": [
                            ],
                            "properties": {
                                "addressSpace": {
                                    "addressPrefixes": [
                                        "[variables('addressPrefix')]"
                                    ]
                                }
                            },
                            "tags": {
                                "resourceType": "Logic Apps",
                                "logicAppNames": "Standard Logic Apps"
                            }
                        }
                    ]
                },
                "parameters": {}
            }
        }
    ]
}

Upvotes: 0

Ziyang Liu-MSFT
Ziyang Liu-MSFT

Reputation: 5411

The reason you are getting error No HTTP resource was found that matches the request URI is that you are trying to create a resource group "mydemo" inside another resource group "nsgResourceGroupName", which isn't supported.

To create a resource group, use schema https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#. Below is an example for your reference.

{
    "$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "rgName": {
            "type": "string",
            "metadata": {
                "description": "Name of the resource group to create."
            }
        },
        "rgLocation": {
            "type": "string",
            "defaultValue": "[deployment().location]",
            "metadata": {
                "description": "Azure Region the resource group will be created in."
            }
        }
    },
    "resources": [
        {
            "type": "Microsoft.Resources/resourceGroups",
            "apiVersion": "2022-09-01",
            "name": "[parameters('rgName')]",
            "location": "[parameters('rgLocation')]"
        }
    ]    
}

Use AzureResourceManagerTemplateDeployment@3 task to deploy your ARM template. Make sure to set the deploymentScope to Subscription.

- task: AzureResourceManagerTemplateDeployment@3
  inputs:
    deploymentScope: 'Subscription'
    azureResourceManagerConnection: '{SC}'
    subscriptionId: '{Sub ID}'
    location: '{Deployment location}'
    templateLocation: 'Linked artifact'
    csmFile: '$(Build.SourcesDirectory)/template.json'
    overrideParameters: '-rgName zyrg '
    deploymentMode: 'Incremental'

Not all resource types can be deployed to the subscription level. See the supported resource type from Supported resources.

Upvotes: 0

Related Questions