11import logging
22
3- from moto .efs .urls import response
43from spaceone .core .utils import *
54from spaceone .inventory .connector .aws_elb_connector .schema .data import (
65 LoadBalancer ,
@@ -259,26 +258,33 @@ def match_elb_instance(self, target_group, instances):
259258
260259 def get_listener_rules (self , raw_listeners : list ):
261260 for raw_listener in raw_listeners :
262- raw_listener_rules = self .request_rules_by_listeners (raw_listener )
263-
264- rule_infos = []
265- for raw_listener_rule in raw_listener_rules :
266- is_default = raw_listener_rule .get ("IsDefault" , False )
267- conditions = self .get_formatted_conditions (raw_listener_rule ["Conditions" ], is_default )
268- actions = self .get_formatted_actions (raw_listener_rule ["Actions" ])
269- rule_info = {
270- "Protocol" : raw_listener .get ("Protocol" ),
271- "Port" : raw_listener .get ("Port" ),
272- "RuleArn" : raw_listener_rule .get ("RuleArn" ),
273- "Priority" : raw_listener_rule .get ("Priority" ),
274- "Conditions" : conditions ,
275- "Actions" : actions ,
276- "IsDefault" : is_default ,
277- }
261+ try :
262+ raw_listener_rules = self .request_rules_by_listeners (raw_listener )
263+
264+ rule_infos = []
265+ for raw_listener_rule in raw_listener_rules :
266+ is_default = raw_listener_rule .get ("IsDefault" , False )
267+ conditions = self .get_formatted_conditions (raw_listener_rule ["Conditions" ], is_default )
268+ actions = self .get_formatted_actions (raw_listener_rule ["Actions" ])
269+ rule_info = {
270+ "Protocol" : raw_listener .get ("Protocol" ),
271+ "Port" : raw_listener .get ("Port" ),
272+ "RuleArn" : raw_listener_rule .get ("RuleArn" ),
273+ "Priority" : raw_listener_rule .get ("Priority" ),
274+ "Conditions" : conditions ,
275+ "Actions" : actions ,
276+ "IsDefault" : is_default ,
277+ }
278278
279- rule_infos .append (rule_info )
279+ rule_infos .append (rule_info )
280280
281- return rule_infos
281+ return rule_infos
282+ except Exception as e :
283+ resource_id = raw_listener .get ("ListenerArn" , "" )
284+ error_resource_response = self .generate_error (
285+ None , resource_id , e
286+ )
287+ _LOGGER .error (error_resource_response )
282288
283289 @staticmethod
284290 def get_formatted_conditions (raw_conditions : list , is_default : bool ) -> list :
@@ -290,9 +296,11 @@ def get_formatted_conditions(raw_conditions: list, is_default: bool) -> list:
290296
291297 for condition in raw_conditions :
292298 field = condition .get ("Field" )
293- values = ',' .join (condition .get ("Values" , []))
299+ str_value = None
300+ if values := condition .get ("Values" ):
301+ str_value = ',' .join (values )
294302
295- str_conditions .append (f"{ field } : { values } " )
303+ str_conditions .append (f"{ field } : { str_value } " )
296304
297305 return str_conditions
298306
0 commit comments