# Azure Local

> An Azure Local resource handler connects Cloud Management Platform (CMP) to an Azure Local cluster

---

Site [llms.txt](/llms.txt)

---

Azure Local runs Azure services on hardware in your own data center while keeping Azure management and APIs. CMP provisions and manages virtual machines, disks, and network interfaces on its clusters. Azure Local is disabled by default, so enable it before it appears in the technology picker: see [Enable a resource handler](/docs/cmp/configure/infrastructure/resource-handlers/#enable-a-resource-handler).

## Before you begin

Azure Local uses the same Microsoft Entra ID application and subscription setup as an Azure resource handler. Register the application, give it a role on the subscription, and note its credentials, as described in [Configure the Azure portal](/docs/cmp/configure/infrastructure/resource-handlers/azure/#before-you-begin).

## Add an Azure Local resource handler

The wizard presents two dialogs: the first collects the credentials, and the second names the handler and imports its clusters.

1. Go to **Admin** > **Resource Handlers**.
1. Select **Add**.
1. Select **Azure Local**.
1. Complete the credentials fields, then select **Continue**.

    | Field | Value |
    | --- | --- |
    | **Subscription ID** | The ID of the subscription this handler manages. |
    | **Application ID** | The ID of the Microsoft Entra ID application you registered. Azure calls this the Client ID. |
    | **Authentication Key** | The secret created for that application. Azure displays the value only once, when it is generated. |
    | **Directory ID** | The directory the application belongs to. Azure calls this the Tenant ID. |

1. Enter a **Name** and an optional **Description**.
1. Select the clusters to bring into CMP under **Import Clusters**. CMP creates one environment for each cluster.
1. Select **Done**.

The handler's **Clusters** tab lists the imported clusters and their created environments. To import additional clusters, select **Import Clusters**, choose clusters, then select **Import selected clusters**.

## What you can manage

### Tags

Azure Local handlers support tagging in the same way as other resource handlers. See [Tags](/docs/cmp/use/servers/tags/).

### Disks

You can add data disks to a provisioned server. For extending and deleting:

- Only **dynamic** disks can be extended or deleted. The server's **Disks** tab shows whether a disk is dynamic.
- Extending a disk requires the cluster's Azure Stack HCI **Solution Version** to be 11.2504.1001 or later; earlier versions do not expose disk extension in the API. On an older cluster the extend control is hidden and the disk's **Notes** row gives the version it is running.

### Network interfaces

You can add a network interface to a server and delete one. There is no edit action. To change a server's network, delete the interface and add a new one on the target network.

## Limitations

- The Azure resource group must already exist. To choose one, set the **Azure Local Resource Group** parameter; if it is not set, CMP uses the cluster's resource group. CMP does not create resource groups on Azure Local.
- The virtual machine, its network interfaces, and its disks are all created in that resource group.
- OS disks cannot be expanded or deleted. The Azure Local API does not expose OS disk operations.

## Related

- [Azure](/docs/cmp/configure/infrastructure/resource-handlers/azure/): the Azure portal setup this handler shares, including how to register the application and give it a role.
- [Enable a resource handler](/docs/cmp/configure/infrastructure/resource-handlers/#enable-a-resource-handler): switch on the feature flag that puts Azure Local in the technology picker.
- [Tags](/docs/cmp/use/servers/tags/): how tagging works across CMP.
