Я рассчитываю общее количество зарезервированных экземпляров на основе instance_type
и я храню это в словаре instance_type
как ключ.
Во-первых, я нахожу все зарезервированные экземпляры по get_all_reserved_instances()
, то для каждого возвращаемого этим экземпляра я делаю следующее:
if each.state != 'retired':
key = str(each.instance_type)
res_count[key]+=each.instance_count
Я также подсчитываю общее количество экземпляров на основе instance_type
. Во-первых, я нахожу все свои экземпляры по get_all_instances()
а затем для каждого instance_type
Я сделаю это:
if each.state == 'running':
key = str(each.instance_type)
all_count[key]+=1
Теперь для одного типа экземпляра он возвращает:
all_count = 17
res_count = 19
Как это возможно, что res_count
больше, чем all_count
? res_count
может быть равно all_count
, если нет ondemand
например, но почему это больше, чем all_count
? может ли небытый экземпляр не работать? если это так, то я думаю, что это случай этой разницы.
Есть ли какая-то ошибка в использовании состояния или есть другая причина?
может ли небытый экземпляр не работать?
running
. Согласно последней официальной документации по этой ссылке Жизненный цикл экземпляра, здесь нет retired
состояние, но линия each.state != 'retired'
тем не менее в вашем коде будут извлекаться все зарезервированные экземпляры.Как это возможно, что res_count больше all_count?