@@ -268,8 +268,9 @@ def populate_permissive_ingress_security_group_rules(
268
268
269
269
270
270
class ExtractEventsFromConfigDiffs :
271
- @staticmethod
271
+ @classmethod
272
272
def generate_events_from_aws_config (
273
+ cls ,
273
274
resource_type : models .ResourceType ,
274
275
resource_id : str ,
275
276
config_item : models .AwsConfigItem ,
@@ -280,7 +281,7 @@ def generate_events_from_aws_config(
280
281
281
282
diff_as_dict = asdict (config_item .diff_to_prior )
282
283
if resource_type == models .ResourceType .EC2_Instance :
283
- ExtractEventsFromConfigDiffs .process_ec2_instance (
284
+ cls .process_ec2_instance (
284
285
config_item .config_capture_time ,
285
286
diff_as_dict ,
286
287
events ,
@@ -289,42 +290,45 @@ def generate_events_from_aws_config(
289
290
)
290
291
return events
291
292
292
- @staticmethod
293
+ @classmethod
293
294
def process_ec2_instance (
294
- config_capture_time , diff_as_dict , events , resource_id , resource_type
295
+ cls , config_capture_time , diff_as_dict , events , resource_id , resource_type
295
296
):
296
297
changes = diff_as_dict ["changed" ]
297
298
for key , value in changes .items ():
298
299
event_type = None
299
300
message = None
300
301
301
- if key == "state" :
302
- event_type = models .TimelineEventType .COMPUTE_INSTANCE_STATE_CHANGE
303
- message = ExtractEventsFromConfigDiffs ._format_ec2_state_change_message (
304
- "changed" , value
305
- )
306
- elif key == "security_groups" :
307
- event_type = models .TimelineEventType .SECURITY_GROUP_ASSOCIATION_CHANGE
308
- message = ExtractEventsFromConfigDiffs ._format_ec2_sg_change_message (
309
- value
310
- )
311
- elif key == "launch_time" :
312
- event_type = (
313
- models .TimelineEventType .COMPUTE_INSTANCE_LAUNCH_TIME_UPDATED
314
- )
315
- message = ExtractEventsFromConfigDiffs ._format_ec2_string_field_change_message (
316
- "Launch time" , value
317
- )
318
- elif key == "public_dns_name" :
319
- event_type = models .TimelineEventType .COMPUTE_INSTANCE_NETWORKING_CHANGE
320
- message = ExtractEventsFromConfigDiffs ._format_ec2_string_field_change_message (
321
- "Public DNS name" , value
322
- )
323
- elif key == "public_ip_address" :
324
- event_type = models .TimelineEventType .COMPUTE_INSTANCE_NETWORKING_CHANGE
325
- message = ExtractEventsFromConfigDiffs ._format_ec2_string_field_change_message (
326
- "Public IP address" , value
327
- )
302
+ match key :
303
+ case "state" :
304
+ event_type = models .TimelineEventType .COMPUTE_INSTANCE_STATE_CHANGE
305
+ message = cls ._format_ec2_state_change_message ("changed" , value )
306
+ case "security_groups" :
307
+ event_type = (
308
+ models .TimelineEventType .SECURITY_GROUP_ASSOCIATION_CHANGE
309
+ )
310
+ message = cls ._format_ec2_sg_change_message (value )
311
+ case "launch_time" :
312
+ event_type = (
313
+ models .TimelineEventType .COMPUTE_INSTANCE_LAUNCH_TIME_UPDATED
314
+ )
315
+ message = cls ._format_ec2_string_field_change_message (
316
+ "Launch time" , value
317
+ )
318
+ case "public_dns_name" :
319
+ event_type = (
320
+ models .TimelineEventType .COMPUTE_INSTANCE_NETWORKING_CHANGE
321
+ )
322
+ message = cls ._format_ec2_string_field_change_message (
323
+ "Public DNS name" , value
324
+ )
325
+ case "public_ip_address" :
326
+ event_type = (
327
+ models .TimelineEventType .COMPUTE_INSTANCE_NETWORKING_CHANGE
328
+ )
329
+ message = cls ._format_ec2_string_field_change_message (
330
+ "Public IP address" , value
331
+ )
328
332
329
333
if event_type and message :
330
334
events .append (
0 commit comments