Я работаю над автоматическим удалением ресурсов Azure на основе тегов, прикрепленных к этим ресурсам.
Я использую Azure SDK для Python (https://github.com/Azure/azure-sdk-for-python) - я нашел, как получить список своих ресурсов и как их удалить с помощью ResourceManagementClient с resources.delete_by_id метод.
Однако этот метод требует 2 аргумента - идентификатор ресурса (который у меня есть из ресурсов, перечисленных в ResourceManagementClient ) и версия API (которая отличается для каждого типа ресурса.
Как определить, какую версию API следует передать методу?
Я пытался найти что-то в документации и коде SDK, но не смог найти правильное решение.
Версия API может быть даже жестко задана, но она должна работать для всех типов ресурсов.
При использовании некоторых версий API (например, 2018-05-01) я получаю сообщение об ошибке для некоторых типов ресурсов:
Azure Error: NoRegisteredProviderFound
Message: No registered resource provider found for location 'westeurope' and API version '['2018-05-01']' for type 'virtualMachines'. The supported api-versions are '2015-05-01-preview, 2015-06-15, 2016-03-30, 2016-04-30-preview, 2016-08-30, 2017-03-30, 2017-12-01, 2018-04-01, 2018-06-01, 2018-10-01, 2019-03-01'. The supported locations are 'eastus, eastus2, westus, centralus, northcentralus, southcentralus, northeurope, westeurope, eastasia, southeastasia, japaneast, japanwest, australiaeast, australiasoutheast, brazilsouth, southindia, centralindia, westindia, canadacentral, canadaeast, westus2, westcentralus, uksouth, ukwest, koreacentral, koreasouth, francecentral, southafricanorth'.
ERROR: 'CloudError' object has no attribute '__traceback__'