Merge pull request #2815 from etwillbefine/set-actions-enabled
set value for actions enabled on describe-alarms
This commit is contained in:
commit
4400238c97
@ -67,6 +67,7 @@ class FakeAlarm(BaseModel):
|
|||||||
ok_actions,
|
ok_actions,
|
||||||
insufficient_data_actions,
|
insufficient_data_actions,
|
||||||
unit,
|
unit,
|
||||||
|
actions_enabled,
|
||||||
):
|
):
|
||||||
self.name = name
|
self.name = name
|
||||||
self.namespace = namespace
|
self.namespace = namespace
|
||||||
@ -80,6 +81,7 @@ class FakeAlarm(BaseModel):
|
|||||||
self.dimensions = [
|
self.dimensions = [
|
||||||
Dimension(dimension["name"], dimension["value"]) for dimension in dimensions
|
Dimension(dimension["name"], dimension["value"]) for dimension in dimensions
|
||||||
]
|
]
|
||||||
|
self.actions_enabled = actions_enabled
|
||||||
self.alarm_actions = alarm_actions
|
self.alarm_actions = alarm_actions
|
||||||
self.ok_actions = ok_actions
|
self.ok_actions = ok_actions
|
||||||
self.insufficient_data_actions = insufficient_data_actions
|
self.insufficient_data_actions = insufficient_data_actions
|
||||||
@ -215,6 +217,7 @@ class CloudWatchBackend(BaseBackend):
|
|||||||
ok_actions,
|
ok_actions,
|
||||||
insufficient_data_actions,
|
insufficient_data_actions,
|
||||||
unit,
|
unit,
|
||||||
|
actions_enabled,
|
||||||
):
|
):
|
||||||
alarm = FakeAlarm(
|
alarm = FakeAlarm(
|
||||||
name,
|
name,
|
||||||
@ -231,6 +234,7 @@ class CloudWatchBackend(BaseBackend):
|
|||||||
ok_actions,
|
ok_actions,
|
||||||
insufficient_data_actions,
|
insufficient_data_actions,
|
||||||
unit,
|
unit,
|
||||||
|
actions_enabled,
|
||||||
)
|
)
|
||||||
self.alarms[name] = alarm
|
self.alarms[name] = alarm
|
||||||
return alarm
|
return alarm
|
||||||
|
@ -28,6 +28,7 @@ class CloudWatchResponse(BaseResponse):
|
|||||||
dimensions = self._get_list_prefix("Dimensions.member")
|
dimensions = self._get_list_prefix("Dimensions.member")
|
||||||
alarm_actions = self._get_multi_param("AlarmActions.member")
|
alarm_actions = self._get_multi_param("AlarmActions.member")
|
||||||
ok_actions = self._get_multi_param("OKActions.member")
|
ok_actions = self._get_multi_param("OKActions.member")
|
||||||
|
actions_enabled = self._get_param("ActionsEnabled")
|
||||||
insufficient_data_actions = self._get_multi_param(
|
insufficient_data_actions = self._get_multi_param(
|
||||||
"InsufficientDataActions.member"
|
"InsufficientDataActions.member"
|
||||||
)
|
)
|
||||||
@ -47,6 +48,7 @@ class CloudWatchResponse(BaseResponse):
|
|||||||
ok_actions,
|
ok_actions,
|
||||||
insufficient_data_actions,
|
insufficient_data_actions,
|
||||||
unit,
|
unit,
|
||||||
|
actions_enabled,
|
||||||
)
|
)
|
||||||
template = self.response_template(PUT_METRIC_ALARM_TEMPLATE)
|
template = self.response_template(PUT_METRIC_ALARM_TEMPLATE)
|
||||||
return template.render(alarm=alarm)
|
return template.render(alarm=alarm)
|
||||||
|
@ -102,14 +102,21 @@ def test_describe_alarms():
|
|||||||
conn.create_alarm(alarm_fixture(name="nbarfoo", action="abarfoo"))
|
conn.create_alarm(alarm_fixture(name="nbarfoo", action="abarfoo"))
|
||||||
conn.create_alarm(alarm_fixture(name="nbazfoo", action="abazfoo"))
|
conn.create_alarm(alarm_fixture(name="nbazfoo", action="abazfoo"))
|
||||||
|
|
||||||
|
enabled = alarm_fixture(name="enabled1", action=["abarfoo"])
|
||||||
|
enabled.add_alarm_action("arn:alarm")
|
||||||
|
conn.create_alarm(enabled)
|
||||||
|
|
||||||
alarms = conn.describe_alarms()
|
alarms = conn.describe_alarms()
|
||||||
alarms.should.have.length_of(4)
|
alarms.should.have.length_of(5)
|
||||||
alarms = conn.describe_alarms(alarm_name_prefix="nfoo")
|
alarms = conn.describe_alarms(alarm_name_prefix="nfoo")
|
||||||
alarms.should.have.length_of(2)
|
alarms.should.have.length_of(2)
|
||||||
alarms = conn.describe_alarms(alarm_names=["nfoobar", "nbarfoo", "nbazfoo"])
|
alarms = conn.describe_alarms(alarm_names=["nfoobar", "nbarfoo", "nbazfoo"])
|
||||||
alarms.should.have.length_of(3)
|
alarms.should.have.length_of(3)
|
||||||
alarms = conn.describe_alarms(action_prefix="afoo")
|
alarms = conn.describe_alarms(action_prefix="afoo")
|
||||||
alarms.should.have.length_of(2)
|
alarms.should.have.length_of(2)
|
||||||
|
alarms = conn.describe_alarms(alarm_name_prefix="enabled")
|
||||||
|
alarms.should.have.length_of(1)
|
||||||
|
alarms[0].actions_enabled.should.equal("true")
|
||||||
|
|
||||||
for alarm in conn.describe_alarms():
|
for alarm in conn.describe_alarms():
|
||||||
alarm.delete()
|
alarm.delete()
|
||||||
|
@ -104,6 +104,7 @@ def test_alarm_state():
|
|||||||
Statistic="Average",
|
Statistic="Average",
|
||||||
Threshold=2,
|
Threshold=2,
|
||||||
ComparisonOperator="GreaterThanThreshold",
|
ComparisonOperator="GreaterThanThreshold",
|
||||||
|
ActionsEnabled=True,
|
||||||
)
|
)
|
||||||
client.put_metric_alarm(
|
client.put_metric_alarm(
|
||||||
AlarmName="testalarm2",
|
AlarmName="testalarm2",
|
||||||
@ -128,11 +129,13 @@ def test_alarm_state():
|
|||||||
len(resp["MetricAlarms"]).should.equal(1)
|
len(resp["MetricAlarms"]).should.equal(1)
|
||||||
resp["MetricAlarms"][0]["AlarmName"].should.equal("testalarm1")
|
resp["MetricAlarms"][0]["AlarmName"].should.equal("testalarm1")
|
||||||
resp["MetricAlarms"][0]["StateValue"].should.equal("ALARM")
|
resp["MetricAlarms"][0]["StateValue"].should.equal("ALARM")
|
||||||
|
resp["MetricAlarms"][0]["ActionsEnabled"].should.equal(True)
|
||||||
|
|
||||||
resp = client.describe_alarms(StateValue="OK")
|
resp = client.describe_alarms(StateValue="OK")
|
||||||
len(resp["MetricAlarms"]).should.equal(1)
|
len(resp["MetricAlarms"]).should.equal(1)
|
||||||
resp["MetricAlarms"][0]["AlarmName"].should.equal("testalarm2")
|
resp["MetricAlarms"][0]["AlarmName"].should.equal("testalarm2")
|
||||||
resp["MetricAlarms"][0]["StateValue"].should.equal("OK")
|
resp["MetricAlarms"][0]["StateValue"].should.equal("OK")
|
||||||
|
resp["MetricAlarms"][0]["ActionsEnabled"].should.equal(False)
|
||||||
|
|
||||||
# Just for sanity
|
# Just for sanity
|
||||||
resp = client.describe_alarms()
|
resp = client.describe_alarms()
|
||||||
|
Loading…
Reference in New Issue
Block a user