ARM Actions nos dashboards do portal do Azure

Provavelmente você já sabe que o Portal do Azure é totalmente customizável, permitindo que você explore ao máximo as opções criando dashboards para atender as suas necessidades de visualização, organização e monitoramento.

Recentemente eu estava lendo um post no blog do Azure sobre isso e encontrei duas opções muito interessantes que eu não conhecia: ARM Data e ARM Actions.

Basicamente o ARM Data permite configurar a exibição de dados/informações sobre seus recursos, enquanto que o ARM Actions permite configurar a execução de ações de forma bastante simples.

Neste artigo eu vou demonstrar como criar ARM Actions para ligar/desligar máquinas virtuais. Para isto a primeira coisa que precisamos fazer é pegar o Resource ID da VM que vamos usar. O Resource ID está disponível em Propriedades da VM, conforme abaixo:

Note que o nome da VM é armaction, e o Resource ID: /subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/armactions-resourcegroup/providers/Microsoft.Compute/virtualMachines/armaction

Agora precisamos editar o dashboard:

Em seguida escolher a opção ARM Actions e inserir no dashboard:

Quando fizer isto, note que serão abertos os campos para edição do ARM Actions:

E você deve preencher conforme vou mostrar abaixo:

Title: ARM Actions
Subtitle: Start VM
URI: /subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/armactions-resourcegroup/providers/Microsoft.Compute/virtualMachines/armaction/start?api-version=2017-12-01
Action name:
Initialize VM

Note que a URI, é o Resource ID da VM seguido da ação que deseja executar na API correspondente. Neste caso: start?api-version=2017-12-01

No meu caso ficou assim:

Repare que ele já mostra um preview de como ficará.

Fiz a mesma coisa para criar um botão para desligar a VM, no caso alterando na URI o start?api-version=2017-12-01 por powerOff?api-version=2017-12-01.

Você pode consultar a lista de opções das chamadas de API disponíveis para VMs em https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines.

Ao fim, meu dashboard ficou assim:

E ao clicar em uma das opções após executar a ação você recebe as notificações também:

Até a próxima!