in src/actions.py [0:0]
def process_lambda_alarms(function_name, tags, activation_tag, default_alarms, sns_topic_arn, alarm_separator):
activation_tag = tags.get(activation_tag, 'not_found')
if activation_tag == 'not_found':
logger.debug('Activation tag not found for {}, nothing to do'.format(function_name))
return True
else:
logger.debug('Processing function specific alarms for: {}'.format(default_alarms))
for tag_key in tags:
if tag_key.startswith('AutoAlarm'):
default_alarms['AWS/Lambda'].append({'Key': tag_key, 'Value': tags[tag_key]})
# get the default dimensions for AWS/EC2
dimensions = list()
dimensions.append(
{
'Name': 'FunctionName',
'Value': function_name
}
)
for tag in default_alarms['AWS/Lambda']:
alarm_properties = tag['Key'].split(alarm_separator)
Namespace = alarm_properties[1]
MetricName = alarm_properties[2]
ComparisonOperator = alarm_properties[3]
Period = alarm_properties[4]
Statistic = alarm_properties[5]
AlarmName = 'AutoAlarm-{}-{}-{}-{}-{}-{}'.format(function_name, Namespace, MetricName, ComparisonOperator,
Period,
Statistic)
create_alarm(AlarmName, MetricName, ComparisonOperator, Period, tag['Value'], Statistic, Namespace,
dimensions, sns_topic_arn)