J'essayais d'exécuter un script python de la manière suivante: python script.py -env - role pour récupérer des instances sur des valeurs d'environnement et de rôle spécifiées. Voici mon script:Script Python pour répertorier les instances en fonction des valeurs de balises personnalisées transmises lors de l'exécution du script
import argparse
import boto.ec2
AWS_ACCESS_KEY_ID = '<xxxxxx>'
AWS_SECRET_ACCESS_KEY = '<xxxxx>'
ec2conn = boto.ec2.connection.EC2Connection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
env = ''
role = ''
def get_ec2_instances():
regions = ['us-east-1','us-west-1','us-west-2','eu-west-1','sa-east-1',
'ap-southeast-1','ap-southeast-2','ap-northeast-1']
parser = argparse.ArgumentParser()
parser.add_argument('env', help='tag:environment');
parser.add_argument('role', help='tag:role');
args = parser.parse_args()
global env
global role
env = args.env
role = args.role
reservations = ec2conn.get_all_instances(filters={"tag:environment" : "env","tag:role" : "role"})
#reservations = ec2conn.get_all_instances()
inst = [i for r in reservations for i in r.instances]
for i in inst:
print "%s" % (i.tags['Name'])
if __name__ =='__get_ec2_instances__':get_ec2_instances()
Son jeter aucune erreur et aucun résultat ..
'liste inst' est probablement vide ... – mvelay
Et vous avez une erreur d'indentation, de sorte que la dernière déclaration' if' n'a pas été exécuté. –
Correction d'une erreur d'indentation qui ne fonctionne toujours pas – Titto