8
8
from cloudformation import delete_stacks
9
9
from ec2 import get_all_instances , reformat_instance_data , \
10
10
get_all_eips , reformat_eips_data , get_all_unused_volumes , \
11
- delete_volume , delete_eip , terminate_instance
11
+ delete_volume , delete_eip , terminate_instance , EC2_KEYS
12
12
from elbs import get_all_elbs , reformat_elbs_data , delete_classic_elb
13
13
from emailer import Emailer
14
14
from s3 import get_all_buckets , reformat_buckets_data
@@ -32,6 +32,19 @@ def prepare_old_instances_data(all_instances_sheet, old_instances_sheet, tdelta=
32
32
instance ['Saved' ] = existing_old_instances .get (instance ['InstanceId' ], {}).get ('Saved' , '' )
33
33
instance ['Notes' ] = existing_old_instances .get (instance ['InstanceId' ], {}).get ('Notes' , '' )
34
34
old_instances .append (instance )
35
+ if not old_instances :
36
+ dummy_old_instance = {}
37
+ for key in EC2_KEYS :
38
+ split_keys = key .split ('.' )
39
+ if len (split_keys ) == 1 :
40
+ dummy_old_instance [key ] = ''
41
+ else :
42
+ dummy_old_instance [split_keys [- 1 ]] = ''
43
+ dummy_old_instance ['TotalBill' ] = ''
44
+ dummy_old_instance ['Cost Per Day' ] = ''
45
+ dummy_old_instance ['Saved' ] = ''
46
+ dummy_old_instance ['Notes' ] = ''
47
+ return [dummy_old_instance ]
35
48
return old_instances
36
49
37
50
def prepare_old_s3_buckets_data (all_s3_buckets_sheet , old_s3_buckets_sheet ):
@@ -53,7 +66,7 @@ def terminate_instances(old_instances_sheet, all_instances_sheet):
53
66
for inst in old_instances :
54
67
if 'save' not in inst ['Saved' ].lower ():
55
68
instance_id = inst ['InstanceId' ]
56
- instance_region = re .sub (r'(\w+)-(\w+)-(\d)\w+' , "\g<1>-\g<2>-\g<3>" , inst ["AvailabilityZone" ])
69
+ instance_region = re .sub (r'(\w+)-(\w+)-(\d)\w+' , r "\g<1>-\g<2>-\g<3>" , inst ["AvailabilityZone" ])
57
70
instance_ids .append ([instance_id , instance_region ])
58
71
for inst in instance_ids :
59
72
response = terminate_instance (inst [0 ], inst [1 ])
@@ -262,3 +275,4 @@ def start(argument):
262
275
263
276
if not skip_summary :
264
277
summarySheet .append_data_to_sheet ([summaryRow ])
278
+
0 commit comments