Esta é uma solução de trabalho, mas não muito limpa:
if [ "$(az vm list -d -o table --query "[?name=='VM_NAME']")" == "$(az vm list -d -o table --query "[?name=='ABSURD_NAME_THAT_CERTAINLY_DOES_NOT_EXIST']")" ];
then
printf "VM DOES NOT EXIST YET"
else
printf "VM ALREADY EXISTS"
fi
Não consegui descobrir o que
"$(az vm list -d -o table --query "[?name=='ABSURD_NAME_THAT_CERTAINLY_DOES_NOT_EXIST']")"
retorna e é por isso que não consegui encurtar essa solução.
Certamente não sou especialista em scripts Bash e não sei como converter o resultado em valores hexadecimais ou semelhantes para torná-lo visível.
Portanto, estou procurando uma versão curta dessa solução ou outra abordagem mais limpa. Infelizmente não encontrei nada parecido az vm exists
.
Você pode usar o Azure Graph para fazer isso.
Você pode ver alguns exemplos aqui .
Encontrei a solução a pouco tempo. A saída do comando az vm list se nenhum vm estiver disponível é aparentemente a string vazia. Mas você tem que usar um sinal de igual em vez de dois para a comparação.