-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexporter.py
31 lines (26 loc) · 1.15 KB
/
exporter.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import boto3
import csv
s3 = boto3.resource('s3','eu-west-1')
def create_csv():
regions = [ 'eu-west-1', 'eu-central-1', 'us-east-1', 'ap-southeast-1' ]
with open('instances.csv', 'wb') as csvfile:
instancewriter = csv.writer(csvfile, delimiter=',',
quotechar=' ', quoting=csv.QUOTE_MINIMAL)
instancewriter.writerow(['InstanceName', 'InstanceId', 'Platform', 'InstanceType', 'Region'])
for region in regions:
ec2 = boto3.client('ec2',region)
data = ec2.describe_instances()
for instance in data['Reservations']:
instanceid = instance['Instances'][0]['InstanceId']
instancetype = instance['Instances'][0]['InstanceType']
tags = instance['Instances'][0]['Tags']
for tag in tags:
if 'Name' in tag['Key']:
instancename = tag['Value']
instancewriter.writerow([instancename, instanceid, instancetype, region])
upload = s3.meta.client.upload_file(
'instances.csv',
'lumesse-ie-config',
'instance_export.csv'
)
create_csv()