Itérer thru ec2 décrire instance boto3

J'ai juste commencé à travailler avec boto3 et essayer d'obtenir des valeurs spécifiques pour décrire l'instance d'appel. Ainsi, par exemple, si je veux obtenir le "Hyperviseur" de la valeur ou de l'Ebs a 'DeleteOnTermintation valeur de la sortie. Ci-dessous est le code actuel, je suis en train d'utiliser pour faire l'appel et itérer à travers le dictionnaire de sortie.

import boto3
import pprint
from datetime import datetime
import json

client = boto3.client('ec2')

filters = [{  
'Name': 'tag:Name',
'Values': ['*']
}]


class DatetimeEncoder(json.JSONEncoder):
  def default(self, obj):
    if isinstance(obj, datetime):
        return obj.strftime('%Y-%m-%dT%H:%M:%SZ')
    elif isinstance(obj, date):
        return obj.strftime('%Y-%m-%d')
    # Let the base class default method raise the TypeError
    return json.JSONEncoder.default(self, obj)    


output = json.dumps((client.describe_instances(Filters=filters)), cls=DatetimeEncoder)  

pprint.pprint(output)

for v in output:
  print v['Hypervisor']

Obtenir cette erreur:

TypeError: string indices doivent être des entiers, pas de str

À l'aide de la pprint pour voir toutes les valeurs disponibles à partir de la sortie.

Merci..

OriginalL'auteur user2040074 | 2016-06-30