Регион eu-west-2 недоступен для модуля aws boto.последняя версия ec2

#amazon-ec2 #ansible #boto #elastic-ip

#amazon-ec2 #ansible #boto #эластичный-ip

Вопрос:

Я запускаю boto с python3 и использую ansible playbook для настройки некоторых экземпляров ec2. Все в порядке, создаются экземпляры, группы безопасности, пары ключей, все eu-west-2 включено. При выполнении задачи для эластичных IP-адресов происходит сбой с этим сообщением: Region eu-west-2 does not seem to be available for aws module boto.ec2. If the region definitely exists, you may need to upgrade boto or extend with endpoints_path

Я использую ansible -e ansible_python_interpreter="/usr/bin/python3" . У меня установлена последняя версия boto.

 > python3 -m pip freeze | grep boto
 boto==2.44.0
 boto3==1.4.2
 botocore==1.16.19
> python3
 >>> import boto.ec2
 >>> for i in boto.ec2.regions():
 ...   print(i)
 ... 
 RegionInfo:ap-northeast-1
 RegionInfo:ap-northeast-2
 RegionInfo:ap-south-1
 RegionInfo:ap-southeast-1
 RegionInfo:ap-southeast-2
 RegionInfo:ca-central-1
 RegionInfo:cn-north-1
 RegionInfo:eu-central-1
 RegionInfo:eu-west-1
 RegionInfo:sa-east-1
 RegionInfo:us-east-1
 RegionInfo:us-east-2
 RegionInfo:us-gov-west-1
 RegionInfo:us-west-1
 RegionInfo:us-west-2
 

Вы видите, что в нем отсутствует eu-west-2 регион? Он должен быть там. Есть идеи?

Модуль ansible, который я использую, — ec2_eip. Если это ограничение boto, как мне принудительно использовать boto3 для этого модуля?

Комментарии:

1. boto — это старый AWS SDK, вы должны импортировать boto3 — последний выпуск boto был в июле 2018 года — тогда регион еще не существовал. pypi.org/project/boto/#history

Ответ №1:

Я прибегнул к использованию модуля сообщества для эластичного ip. Поэтому community.aws.ec2_eip вместо ec2_eip .