How do I change the name of an Azure Resource Group?

59,172

Edit: You can't rename an Azure Resource Group.

What you can do is move your resources to a new Resource Group instead. Moving all resources in Resource Group A to Resource Group B is the poor man's rename.

Unfortunately not all resource providers let you move resources between resource groups, and some that do might have strings attached that only let you move resources under certain conditions.

For Azure Web Apps (previously called Azure Websites) you can currently only move all the websites related resources in a single invocation. That "all websites related resources" means all resource under the provider "Microsoft.Web". This includes all websites, app hosting platforms, and certificates that are in the source resource group.


Via the portal

When viewing a group's resources, you can use the "Move" tab Screenshot of resource group options in portal

Clicking the "Move" tab will show something this, allowing you to choose or create a new group: The move tab in resource group on Azure portal

Via Azure Powershell

The easiest way to do this is to use the Move-AzureRmResource powershell cmdlet.

The command would look like this:

Get-AzureRmResource -ResourceGroupName <sourceResourceGroupName> | Move-AzureRmResource -DestinationResourceGroupName <destResourceGroupName>

source: https://azure.microsoft.com/en-us/documentation/articles/resource-group-move-resources/


Via Rest API

The other way to do this is to use the MoveResource Rest API or with the ArmClient.

Here's the API call you'll want to make:

POST https://<endpoint>/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/moveResources?api-version={api-version}

Where {resourceGroupName} is the source resource group.

I'm pretty sure the endpoint should be "https://management.azure.com", but if you use the ArmClient the tool will just take care of the endpoint for you.

Request Body:

{
   "targetResourceGroup": "/subscriptions/{subscriptionId}/resourceGroups/{targetResourceGroupNameName}",
   "resources":
   [  
     "/subscriptions/{id}/resourceGroups/{source}/providers/{namespace}/{type}/{name}",
     "/subscriptions/{id}/resourceGroups/{source}/providers/{namespace}/{type}/{name}"
   ]
}

Share:
59,172
Jay Mathis
Author by

Jay Mathis

Updated on November 10, 2020

Comments

  • Jay Mathis
    Jay Mathis over 3 years

    After the new model was implemented, all of my websites now belong to individual Resource Groups called "Default-Web-East" and all of my SQL databases belong to individual Resource Groups called "Default-SQL-East".

    This is confusing to say the least.

    I would like to rename the groups to have some semantic meaning. I would also like to group the associated SQL database and Web Site in the same Resource Group.

    However, I do not see anyway to do either. Is this possible?

    1) Rename the Resource Group? 2) Combine an existing SQL DB and Website together into one Resource Group?

  • Adam Szabo
    Adam Szabo about 10 years
    Can you please given an example? It doesn't seem to work for me.
  • Brant Bobby
    Brant Bobby over 9 years
    The Set-AzureResource documentation states "You cannot use this cmdlet to change the resource group of a resource", and Groups do not appear to be resources themselves that can be modified. Can you elaborate on how to use Set-AzureResource to rename a Resource Group?
  • Zain Rizvi
    Zain Rizvi almost 9 years
    @BrantBobby You're right, my answer was incorrect. I've fixed the answer now
  • Zain Rizvi
    Zain Rizvi over 7 years
    @mark-anderson It sucks that your edit got rejected, but I've updated my answer with your suggestions. Thanks for the really useful edit!
  • Robert J. Good
    Robert J. Good almost 7 years
    Additional Note: SSL certificates aren't moved. Have to manually handle certificates.