Usando o REST API do Veeam Backup & Replication
Neste artigo, vamos explorar como utilizar as APIs do Veeam Backup & Replication para automatizar tarefas do dia a dia de forma prática e eficiente. A ideia é mostrar como essas interfaces podem facilitar a vida de quem gerencia backups, eliminando processos manuais e repetitivos. Seja para criar jobs, monitorar tarefas ou extrair relatórios, as APIs oferecem flexibilidade e agilidade. Vamos entender o que é possível fazer e por onde começar. Lembre-se que o Enterprise Manager também tem APIs, mas aqui estou focando no Veeam Backup & Replication.
Vou usar o postman para os exemplos, mas fique a vontade para usar o que quiser, a lógica é a mesma. O primeiro passo é efetuar a autenticação, ou seja, obter o access_token para conseguir executar os demais comandos. Tenho duas variáveis no ambiente do postman: veeamBackupServer e veeamAccessToken. A primeira variável estará sempre na URL, assim não preciso ficar colocando o endereço do VBR e porta toda vez, já a segunda estará em todas as chamadas na parte de Headers com a chave de Authorization, assim não preciso de credenciais para me autenticar e executar os comandos.
veeamBackupServer = https://IP_DO_VBR:9419 veeamAccessToken = bearer xyz...
Vou executar um POST {{veeamBackupServer}}/api/oauth2/token e a resposta disso será o access_token que vou adicionar na variável veeamAccessToken. O valor da variável precisar ser a palavra bearer + o valor do access_token que você recebeu no json. Lembre-se que este token expira em 3600 segundos, também conhecido como uma hora. Depois desse tempo será necessário executar chamada API novamente e atualizar o valor da variável veeamAccessToken.
Não esqueça de informar um usuário e senha na aba Body. É necessário possuir as permissões corretas no VBR baseado na ação que você pretende executar.
Agora que temos o access_token podemos esquecer o usuário e senha. Qualquer chamada API que você fizer usando a variável veeamAccessToken será autenticada. Lembre-se que o sucesso na execução do comando em si pode depender da permissão do usuário que você está usando. Para testar, vamos fazer uma chamada simples para listar o status de todos os jobs. Vou adicionar o ?limit=2 para facilitar a visualização. A URL do GET ficou assim: {{veeamBackupServer}}/api/v1/jobs/states?limit=2
Digamos que listei todos os status e percebi que o job com o nome “AD – firma.corp” está desabilitado no VBR e eu quero habilitar este job especificamente. Neste caso, a chamada API seria esta /api/v1/jobs/{id}/enable, onde {id} será substituido pelo ID do job (comando anterior, imagem acima). A chamada final seria um POST assim: {{veeamBackupServer}}/api/v1/jobs/b1602dc6-baaa-4851-bdd7-865094c8128d/enable
Acho que deu pra entender a lógica, certo? Pensando nas possibilidades, sempre procure a documentação para ver quais chamadas estão disponível e para ter exemplos de como usa-las. Aqui você encontra o reference map (visual) e aqui o REST API reference com todos os detalhes.
É isso aí, até a próxima!