O objetivo desses scripts é facilitar o processo de liga/desliga dos recursos no Azure e assim trazer uma economia financeira para o ambiente
Todos os scripts utilizam a API REST do Azure e para a versão "mais completa" são utilizados os cmdlets do módulo Az PowerShell
Para as versões "mais simples" do script, as versões de APIs abaixo podem ser utilizadas:
- Container Apps (start/stop): 2023-05-01
- Container Groups (start/stop): 2023-05-01
- Azure Kubernetes Service (start/stop): 2023-11-01
- Virtual Machines (start/deallocate): 2023-09-01
- Application Gateways (start/stop): 2023-09-01
- Analysis Services (resume/suspend): 2017-08-01
- MySQL Single Server (start/stop): 2020-01-01
- MySQL Flexible Server (start/stop): 2023-06-30
- MariaDB Server (start/stop): 2020-01-01
- PostgreSQL Flexible Server (start/stop): 2022-12-01
No intuito de conceder o mínimo de permissões, sugiro a criação de uma custom role apenas com as ações necessárias
Para automatizar o processo, é necessário criar uma Automation Account
No submenu "Identity" da Automation Account, a role com as permissões necessárias para o liga e desliga dos recursos deve ser atribuída no escopo em que os recursos existem
No submenu "Runbooks", deve ser criado e publicado o runbook com a versão escolhida do script
Para agendar o liga/desliga, é necessário a criação de schedules com os parâmetros de cada recurso e a frequência/recorrência desejada