Ich habe versucht, ein Python-Skript folgendermaßen auszuführen python script.py -env - Rolle, um Instanzen für angegebene Umgebungs- und Rollenwerte abzurufen. Hier ist mein Skript:Python-Skript zum Auflisten von Instanzen basierend auf benutzerdefinierten Tags Werte, die während der Skriptausführung übergeben wurden
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()
Sein keinen Fehler zu werfen und kein Ergebnis ..
'inst' Liste ist wahrscheinlich leer ... – mvelay
Und Sie haben eine Vertiefung Fehler, so dass die letzte' if' Anweisung wird nicht ausgeführt. –
Fixed Indentation Fehler immer noch nicht funktioniert – Titto