Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 29 additions & 21 deletions src/spaceone/inventory/connector/aws_elb_connector/connector.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import logging

from moto.efs.urls import response
from spaceone.core.utils import *
from spaceone.inventory.connector.aws_elb_connector.schema.data import (
LoadBalancer,
Expand Down Expand Up @@ -259,26 +258,33 @@ def match_elb_instance(self, target_group, instances):

def get_listener_rules(self, raw_listeners: list):
for raw_listener in raw_listeners:
raw_listener_rules = self.request_rules_by_listeners(raw_listener)

rule_infos = []
for raw_listener_rule in raw_listener_rules:
is_default = raw_listener_rule.get("IsDefault", False)
conditions = self.get_formatted_conditions(raw_listener_rule["Conditions"], is_default)
actions = self.get_formatted_actions(raw_listener_rule["Actions"])
rule_info = {
"Protocol": raw_listener.get("Protocol"),
"Port": raw_listener.get("Port"),
"RuleArn": raw_listener_rule.get("RuleArn"),
"Priority": raw_listener_rule.get("Priority"),
"Conditions": conditions,
"Actions": actions,
"IsDefault": is_default,
}
try:
raw_listener_rules = self.request_rules_by_listeners(raw_listener)

rule_infos = []
for raw_listener_rule in raw_listener_rules:
is_default = raw_listener_rule.get("IsDefault", False)
conditions = self.get_formatted_conditions(raw_listener_rule["Conditions"], is_default)
actions = self.get_formatted_actions(raw_listener_rule["Actions"])
rule_info = {
"Protocol": raw_listener.get("Protocol"),
"Port": raw_listener.get("Port"),
"RuleArn": raw_listener_rule.get("RuleArn"),
"Priority": raw_listener_rule.get("Priority"),
"Conditions": conditions,
"Actions": actions,
"IsDefault": is_default,
}

rule_infos.append(rule_info)
rule_infos.append(rule_info)

return rule_infos
return rule_infos
except Exception as e:
resource_id = raw_listener.get("ListenerArn", "")
error_resource_response = self.generate_error(
None, resource_id, e
)
_LOGGER.error(error_resource_response)

@staticmethod
def get_formatted_conditions(raw_conditions: list, is_default: bool) -> list:
Expand All @@ -290,9 +296,11 @@ def get_formatted_conditions(raw_conditions: list, is_default: bool) -> list:

for condition in raw_conditions:
field = condition.get("Field")
values = ','.join(condition.get("Values", []))
str_value = None
if values := condition.get("Values"):
str_value= ','.join(values)

str_conditions.append(f"{field} : {values}")
str_conditions.append(f"{field} : {str_value}")

return str_conditions

Expand Down
Loading