Я создаю коллекцию скриптов в Boto3, и я хотел бы иметь опцию DRY_RUN, в которой при значении True не будут выполняться команды Boto3. Я бы хотел, чтобы этот dry был запущен первым, чтобы я мог сначала просмотреть журналы, прежде чем запускать скрипт.
Я знаю, что у клиента EC2 есть параметр DryRun
, который вы можете передать, но это вызывает ошибка, которую я не хочу. Кроме того, мой сценарий также тесно связан с клиентом Cloudformation, который не имеет опции DryRun
.
Я начал с добавления всех моих команд Boto3 к if not DRY_RUN: ec2_client...
, но это не самое элегантное решение. Я также думал о передаче каждой команды Boto3 в качестве параметра в служебную функцию, которая использует eval()
для выполнения функции, если DRY_RUN имеет значение False, но это также не идеально.
Есть ли параметр конфигурации Boto3, промежуточное программное обеспечение, библиотека макетов / заглушек или какая-то python методика метапрограммирования, которая может здесь помочь?