Использование python для запроса виртуальных машин Aure по тегам - PullRequest
0 голосов
/ 12 сентября 2018

Я не слишком разбираюсь в использовании Azure с python.Я искал в Интернете, но не могу найти какой-либо ресурс для запроса виртуальных машин, используя теги или используя имя, RG или ID виртуальной машины для запуска / освобождения виртуальных машин в цикле.Я работаю с более чем 700 виртуальными машинами.

Пример фрагмента

try:
    vmlist = open("vmlist.txt","r")
 
    for vm in vmlist.readlines():
        values = vm.split()
        if OPTION in ['stop', 'deallocate']:   
            # Stop the VM
            print('\nDeallocating the VM')
            async_vm_deallocate = compute_client.virtual_machines.deallocate(GROUP_NAME, VM_NAME)
            async_vm_deallocate.wait()
  
        elif OPTION in ['start']:
            # Start the VM
            print('\nStart VM')
            async_vm_start = compute_client.virtual_machines.start(GROUP_NAME, VM_NAME)
            async_vm_start.wait()
 
        else:
            print('\nDoing nothing. Select either start or stop")
            exit()
            
finally:
    vmlist.close()

1 Ответ

0 голосов
/ 12 сентября 2018

Проверка существования ВМ по его имени, будет просто сделать "get" и поймать любое исключение, так как означает "не существует".Если вы хотите быть пуленепробиваемым, вы можете проверить, что исключение действительно 404.

По тегу, вы должны использовать клиент «azure-mgmt-resource», используя список ресурсов ARM с фильтром:https://docs.microsoft.com/en-us/python/api/azure-mgmt-resource/azure.mgmt.resource.resources.v2018_05_01.operations.resourcesoperations?view=azure-python#list

фильтр должен выглядеть (не проверено, может потребоваться корректировка опечаток): tagname eq 'mytag' and resourceType eq 'Microsoft.Compute/virtualMachines'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...