Skip to content

Commit f340698

Browse files
Merge pull request #150 from jinyoungmoonDEV/master
fix: fix describe listener rule join error & add try exception
2 parents 1c52cb4 + 2bcec82 commit f340698

File tree

1 file changed

+29
-21
lines changed
  • src/spaceone/inventory/connector/aws_elb_connector

1 file changed

+29
-21
lines changed

src/spaceone/inventory/connector/aws_elb_connector/connector.py

Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import logging
22

3-
from moto.efs.urls import response
43
from spaceone.core.utils import *
54
from 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

Comments
 (0)