Uso de Boto para determinar si una AMI de AWS está disponible

Estoy usando Boto para crear una AMI de una de mis cajas EC2, y luego me gustaría activar más cajas con esa AMI, pero el run_instances El comando ladra que mi AMI aún no está disponible.

¿Cómo puedo usar boto para consultar aws para saber cuándo mi ami está lista?

La conexión EC2 admite un método para obtener la imagen

Pero el Imagen no tiene ningún tipo de atributo de estado

preguntado el 03 de mayo de 12 a las 19:05

4 Respuestas

un rápido dir de Imagen me llevó a Image.state con valores como "pending" y "available"

contestado el 03 de mayo de 12 a las 19:05

Además de "pendiente" y "disponible", también existe el estado "fallido". Este es el conjunto completo de estados AMI disponibles.

Respondido 26 Jul 12, 19:07

Puedo escribir una función simple usando boto3

def check_ami_exists(ami_id, region): 
  client = boto3.client('ec2', region_name = region)
  response = client.describe_images()
  for image in response['Images']:
    if ami_id == image['ImageId']:
      return True
  return False

respondido 24 nov., 18:06

Utilicé el método anterior, pero me tomó un poco de tiempo descubrirlo. No soy una persona pitón, pero esto es lo que hice. Espero que ayude a alguien.

#EC2 Connection
conn = boto.ec2.connect()

image_status = conn.get_all_images(image_ids='ami-XXX')[0]
image_state = image_status.state
print image_state

respondido 26 nov., 14:23

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.