2016-01-12 16 views
12

Nie jestem pewien, jak wyświetlić nazwę mojego przykład w AWS EC2 przy użyciu boto3Wyświetlanie nazwy EC2 przykład przy użyciu Boto 3

Jest to niektóre kodu mam:

import boto3 

ec2 = boto3.resource('ec2', region_name='us-west-2') 
vpc = ec2.Vpc("vpc-21c15555") 
for i in vpc.instances.all(): 
    print(i) 

Co ja dostać w zamian jest

... 
... 
... 
ec2.Instance(id='i-d77ed20c') 

enter image description here

mogę ch Ange i być i.id lub i.instance_type ale gdy próbuję name uzyskać:

AttributeError: 'ec2.Instance' object has no attribute 'name'

Co to jest poprawny sposób uzyskać nazwę instancji?

Odpowiedz

12

Mogą być też inne sposoby. Ale z punktu widzenia twojego kodu, powinny działać poniższe.

>>> for i in vpc.instances.all(): 
... for tag in i.tags: 
...  if tag['Key'] == 'Name': 
...  print tag['Value'] 

One liner jeśli chcesz używać Pythona potężny listowych:

inst_names = [tag['Value'] for i in vpc.instances.all() for tag in i.tags if tag['Key'] == 'Name'] 
print inst_names 
Powiązane problemy