我对我的AWS实例使用自定义标记。我试图在CSV文件中列出所有实例(运行和停止)。作为一名程序员,我搜索并复制/粘贴代码,并附带了一个运行良好的脚本。但是我注意到,如果缺少一个标记,那么脚本就会抛出一个错误并停止在那里。如果标记已创建但为空,则脚本将打印空白,但如果根本没有创建标记,则脚本将停止。例如,如果缺少标记Owner,那么它抛出一个错误keyrerror:'Owner',并在那里停止。我的剧本贴在下面。有人能告诉我需要做些什么更改,这样如果标记不存在,脚本就会打印出N/A而不是停止。在
#!/usr/bin/env python
import boto.ec2
from boto.ec2 import EC2Connection
csv_file = open('/home/sbasnet/Scripts/Instances/instances_east.csv','w+')
def process_instance_list(connection):
map(build_instance_list,connection.get_all_instances())
def build_instance_list(reservation):
map(write_instances,reservation.instances)
def write_instances(instance):
if (instance.platform == 'windows'):
platform = 'Windows'
else:
platform = 'Linux'
csv_file.write("%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s\n"%(instance.id,instance.private_ip_address,instance.tags['Classification'],instance.tags['FQDN'],instance.tags['Owner'],instance.tags['RunType'],instance.instance_type,instance.subnet_id,instance.key_name,platform,instance.placement))
csv_file.flush()
if __name__=="__main__":
connection = EC2Connection(aws_access_key_id='ACCESS',aws_secret_access_key='SECRET')
process_instance_list(connection)
csv_file.close()
TIA公司 sbasnet公司
也许这样的事情就可以了?在
警告:未测试
相关问题 更多 >
编程相关推荐