2013-09-26 81 views
0

以下代碼按預期工作。我知道預訂ID 50b4f837,我可以找到與該預訂相關的實例。如何在列表中找到鍵值對的序列號

>>> reservations = conn.get_all_instances() 
>>> reservations 
[Reservation:r-cded15ae, Reservation:r-50b4f837] 

>>> instances = reservations[1].instances 
>>> instances 
[Instance:i-5ffecc27] 

的問題是,我需要找到實例programmtically不返回全部保留,然後手動調用(在這種情況下1)特定的密鑰。

我會提供保留ID,它應該返回實例ID。

+1

什麼數據結構是保留? – iruvar

+3

如果你解釋了什麼'get_all_instances','Reservation'和'Instance'什麼'__repr__'會更容易回答。返回,如何定義類等,pp,... – Hyperboreus

+1

使用字典結構而不是列表... –

回答

1

如果你知道預約ID,如果您的所有預訂的是單個實例,你可以這樣做:

import boto.ec2 

ec2 = boto.ec2.connect_to_region('us-west-2') 
instance = get_all_instances(filters={'reservation-id': 'r-50b4f837'})[0].instances[0] 

再次,如果您的預訂總是包含單個實例這隻會工作(即你只能叫run_instances要求一個實例

相關問題