У меня есть код, который мне нужно вернуть значения, но я думаю, что я не могу правильно разместить инструкцию return
. Мне нужно, чтобы вернуть объединенный список IP-адрес вызывающей функции в питонеНе знаю, как вернуть значение из функции
def call_me():
ACCESS_KEY= "XX"
SECRET_KEY= "XXXX"
regions = ['us-west-2','eu-central-1','ap-southeast-1']
for region in regions:
instance_information = {}
ip_dict = {}
client = boto3.client('ec2',aws_access_key_id=ACCESS_KEY,aws_secret_access_key=SECRET_KEY,region_name=region,)
addresses_dict = client.describe_addresses().get('Addresses')
for address in addresses_dict:
if address.get('InstanceId'):
instance_information[address['InstanceId']] = [address.get('PublicIp')]
# print instance_information
dex_dict = client.describe_tags().get('Tags')
for dex in dex_dict:
if instance_information.get(dex['ResourceId']):
instance_information[dex['ResourceId']].append(dex.get('Value'))
for instance in instance_information:
if len(instance_information[instance]) == 2:
ip_dict[instance_information[instance][0]] = instance_information[instance][1]
else:
ip_dict[instance_information[instance][0]] = ''
# print (json.dumps(instance_information,indent=4))
#print type(instance_information)
ip_list = [i[0] for i in instance_information.values()]
print (ip_list)
Теперь я не уверен, куда поместить return ip_list
заявления, так как, это работает в 3-х регионах
i не возвращает значение первых двух регионов таким образом, возвращаются только последние области ip. – Kittystone
см. Мои обновления. –
проверяет ваш код, не может получить его правильно, имея проблемы с отступом – Kittystone