Skip to content

Commit 2d4fac6

Browse files
Merge pull request #130 from jinyoungmoonDEV/master
fix state field & make search limit
2 parents 02d8f0a + e2a7bb1 commit 2d4fac6

File tree

6 files changed

+20
-8
lines changed

6 files changed

+20
-8
lines changed

src/spaceone/inventory/connector/aws_cloud_watch_connector/connector.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import logging
22
from typing import Generator, List
33

4+
from dateutil.relativedelta import relativedelta
45
from spaceone.core.utils import *
56

67
from spaceone.inventory.connector.aws_cloud_watch_connector.schema.data import Alarms
@@ -113,8 +114,7 @@ def _set_alarm_conditions(self, raw_alarm: Alarms) -> None:
113114

114115
raw_alarm["conditions"] = f"{metric_name} {operator} {threshold} for {evaluation_periods} datapoionts within {period_minutes} minutes"
115116

116-
@staticmethod
117-
def _set_alarm_actions(raw_alarm: Alarms) -> None:
117+
def _set_alarm_actions(self, raw_alarm: Alarms) -> None:
118118
raw_alarm["actions"] = []
119119
actions = raw_alarm["actions"]
120120
alarm_actions = raw_alarm.get("AlarmActions", [])
@@ -129,7 +129,8 @@ def _set_alarm_actions(raw_alarm: Alarms) -> None:
129129

130130
if "sns" in action.lower():
131131
action_type = "Notification"
132-
action_description = action.split(":")[-1]
132+
arn = action.split(":")[-1]
133+
action_description = f"When in alarm, send message to topic \"{arn}\""
133134
action_config = ""
134135
elif "lambda" in action.lower():
135136
# lambda_client = boto3.client("lambda", region_name=self.region_name, verify=BOTO3_HTTPS_VERIFIED)
@@ -146,10 +147,13 @@ def _set_alarm_actions(raw_alarm: Alarms) -> None:
146147

147148
def get_alarm_history(self, alarm_name: str) -> Generator[dict, None, None]:
148149
paginator = self.client.get_paginator("describe_alarm_history")
150+
151+
end_date = datetime.datetime.now() - relativedelta(months=1)
149152
response_iterator = paginator.paginate(
150153
PaginationConfig={
151154
"AlarmName": alarm_name,
152155
"MaxItems": 100,
156+
"EndDate": end_date,
153157
"ScanBy": "TimestampDescending",
154158
}
155159
)

src/spaceone/inventory/connector/aws_cloud_watch_connector/schema/service_type.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,15 @@
2121

2222
cst_alarms._metadata = CloudServiceTypeMeta.set_meta(
2323
fields=[
24-
EnumDyField.data_source("State", "data.state_value", default_badge={
25-
'gray.500': ['INSUFFICIENT_DATA'], 'green.500': ['OK'], 'red.500': ['ALARM']
26-
}),
24+
EnumDyField.data_source(
25+
"State",
26+
"data.state_value",
27+
default_state={
28+
"safe": ["OK"],
29+
"disable": ["INSUFFICIENT_DATA"],
30+
"alert": ["ALARM"],
31+
},
32+
),
2733
DateTimeDyField.data_source("Last State Update", "data.state_updated_timestamp"),
2834
TextDyField.data_source("Conditions", "data.conditions"),
2935
EnumDyField.data_source("Actions", "data.actions_enabled", default_badge={

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ def request_target_group_data(self, region_name):
9292
match_tags = self.search_tags(all_tags, raw_tg.get("TargetGroupArn"))
9393
raw_tg.update(
9494
{
95+
"port_display": str(raw_tg.get("Port")),
9596
"region_name": region_name,
9697
"cloudtrail": self.set_cloudtrail(
9798
region_name,

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ class TargetGroup(AWSCloudService):
201201
choices=("HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP"),
202202
)
203203
port = IntType(deserialize_from="Port")
204+
port_display = StringType(deserialize_from="port_display")
204205
vpc_id = StringType(deserialize_from="VpcId")
205206
health_check_protocol = StringType(
206207
deserialize_from="HealthCheckProtocol",

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@
208208
"Target Health", "data.targets_health",
209209
fields=[
210210
TextDyField.data_source("ID", "target.id"),
211-
TextDyField.data_source("Port", "target.port"),
211+
TextDyField.data_source("Port", "target.port_display"),
212212
TextDyField.data_source("AvailabilityZone", "target.availability_zone"),
213213
TextDyField.data_source("HealthCheckPort", "health_check_port"),
214214
EnumDyField.data_source(

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@
242242

243243
cst_tg._metadata = CloudServiceTypeMeta.set_meta(
244244
fields=[
245-
TextDyField.data_source("Port", "data.port"),
245+
TextDyField.data_source("Port", "data.port_display"),
246246
TextDyField.data_source("Protocol", "data.protocol"),
247247
TextDyField.data_source("Target Type", "instance_type"),
248248
ListDyField.data_source(

0 commit comments

Comments
 (0)