deb-heat/etc/heat/templates/AWS_CloudWatch_Alarm.yaml
Peter Razumovsky 1343598890 Add Dimensions Default in AWS_CloudWatch_Alarm.yaml
Relying on [1], property Dimensions isn't required, but
this template has no Default value for Dimensions
(thereby making it required). This patch fix that omission.
Besides that, parameters have wrong parsing, because if
parameter with type 'CommaDelimitedList' has default
value '', parameter's parsing result would be [u''] instead
of []. this is wrong, so this patch fix it.

[1] http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html

Change-Id: I259249659c8b5dc846432f8e08985b148b30d682
Closes-bug: #1386824
2014-11-20 17:05:17 +03:00

88 lines
2.5 KiB
YAML

HeatTemplateFormatVersion: '2012-12-12'
Description: AWS::CloudWatch::Alarm using Ceilometer.
Parameters:
AlarmDescription:
Type: String
Default: An alarm
EvaluationPeriods:
Type: String
MetricName:
Type: String
Namespace:
Type: String
Default: system/linux
Period:
Type: String
ComparisonOperator:
Type: String
AllowedValues: [GreaterThanOrEqualToThreshold, GreaterThanThreshold,
LessThanThreshold, LessThanOrEqualToThreshold]
Statistic:
Type: String
AllowedValues: [SampleCount, Average, Sum, Minimum, Maximum]
Threshold:
Type: String
Units:
Type: String
AllowedValues: [Seconds, Microseconds, Milliseconds, Bytes, Kilobytes,
Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits,
Gigabits, Terabits, Percent, Count, Bytes/Second,
Kilobytes/Second, Megabytes/Second, Gigabytes/Second,
Terabytes/Second, Bits/Second, Kilobits/Second,
Megabits/Second, Gigabits/Second, Terabits/Second,
Count/Second, None]
Default: None
AlarmActions:
Type: CommaDelimitedList
Default: ''
OKActions:
Type: CommaDelimitedList
Default: ''
InsufficientDataActions:
Type: CommaDelimitedList
Default: ''
Dimensions:
Type: CommaDelimitedList
Default: ''
Mappings:
ComparisonOperatorMap:
LessThanOrEqualToThreshold: {Ceilometer: le}
LessThanThreshold: {Ceilometer: lt}
GreaterThanThreshold: {Ceilometer: gt}
GreaterThanOrEqualToThreshold: {Ceilometer: ge}
StatisticMap:
SampleCount: {Ceilometer: count}
Average: {Ceilometer: avg}
Sum: {Ceilometer: sum}
Minimum: {Ceilometer: min}
Maximum: {Ceilometer: max}
Resources:
__alarm__:
Type: OS::Ceilometer::Alarm
Properties:
description:
Ref: AlarmDescription
meter_name:
Ref: MetricName
period:
Ref: Period
evaluation_periods:
Ref: EvaluationPeriods
repeat_actions: true
threshold:
Ref: Threshold
alarm_actions:
Ref: AlarmActions
ok_actions:
Ref: OKActions
insufficient_data_actions:
Ref: InsufficientDataActions
statistic:
"Fn::FindInMap": [StatisticMap, {Ref: Statistic}, Ceilometer]
comparison_operator:
"Fn::FindInMap": [ComparisonOperatorMap, {Ref: ComparisonOperator}, Ceilometer]
matching_metadata:
"Fn::MemberListToMap": [Name, Value, {Ref: Dimensions}]