# contentapimq -> ContentAPI
if any(tag.startswith('cluster:contentapimq') for tag in alert['tags']):
    alert['service'] = [ 'ContentAPI' ]
# discussion-app -> Discussion
elif any(tag.startswith('cluster:discussion') for tag in alert['tags']):
    alert['service'] = [ 'Discussion' ]
# mobile-aggregator -> Mobile
elif any(tag.startswith('cluster:mobile') for tag in alert['tags']):
    alert['service'] = [ 'Mobile' ]
# content-authorisation -> Mobile
elif any(tag.startswith('cluster:content-authorisation') for tag in alert['tags']):
    alert['service'] = [ 'Mobile' ]
# ios-purchases -> Mobile
elif any(tag.startswith('cluster:ios-purchases') for tag in alert['tags']):
    alert['service'] = [ 'Mobile' ]
# ipad-ad-preview -> Mobile
elif any(tag.startswith('cluster:ipad-ad-preview') for tag in alert['tags']):
    alert['service'] = [ 'Mobile' ]
# mongo-cluster -> SharedSvcs
elif any(tag.startswith('cluster:mongo-cluster') for tag in alert['tags']):
    alert['service'] = [ 'SharedSvcs' ]
# outboundproxy -> SharedSvcs
elif any(tag.startswith('cluster:outboundproxy') for tag in alert['tags']):
    alert['service'] = [ 'SharedSvcs' ]
# arts-books -> Mutualisation
# arts-music -> Mutualisation
elif any(tag.startswith('cluster:arts') for tag in alert['tags']):
    alert['service'] = [ 'Mutualisation' ]
# lists-service -> Mutualisation
elif any(tag.startswith('cluster:lists-service') for tag in alert['tags']):
    alert['service'] = [ 'Mutualisation' ]
# cutswatch-db -> Other
# cutswatch-frontend -> Other
elif any(tag.startswith('cluster:cutswatch') for tag in alert['tags']):
    alert['service'] = [ 'Other' ]
# gov-spending -> Other
elif any(tag.startswith('cluster:gov-spending') for tag in alert['tags']):
    alert['service'] = [ 'Other' ]
# interactive-traffic-stats -> Other
elif any(tag.startswith('cluster:interactive') for tag in alert['tags']):
    alert['service'] = [ 'Other' ]
else:
    alert['service'] = [ 'Unknown' ]

@@ -141,80 +141,632 @@
 %5D%0A# 
-discussion-app -%3E Discussion%0Aelif any(tag.startswith('cluster:discussion
+frontend-* -%3E Frontend%0Aelif any(tag.startswith('cluster:frontend') for tag in alert%5B'tags'%5D):%0A    alert%5B'service'%5D = %5B 'Frontend' %5D%0A# soulmates-* -%3E Soulmates%0A# geolocation -%3E Soulmates%0Aelif any(tag.startswith('cluster:soulmates') for tag in alert%5B'tags'%5D):%0A    alert%5B'service'%5D = %5B 'Soulmates' %5D%0Aelif any(tag.startswith('cluster:geolocation-api') for tag in alert%5B'tags'%5D):%0A    alert%5B'service'%5D = %5B 'Soulmates' %5D%0A# discussion-app -%3E Discussion%0A# renderer -%3E Discussion%0Aelif any(tag.startswith('cluster:discussion') for tag in alert%5B'tags'%5D):%0A    alert%5B'service'%5D = %5B 'Discussion' %5D%0Aelif any(tag.startswith('cluster:renderer
 ') f
@@ -1182,17 +1182,17 @@
 ster:ios
--
+_
 purchase
@@ -1319,28 +1319,28 @@
 cluster:ipad
--ad-
+_ad_
 preview') fo
@@ -1396,24 +1396,160 @@
  'Mobile' %5D%0A
+# pushy_galore -%3E Mobile%0Aelif any(tag.startswith('cluster:pushy_galore') for tag in alert%5B'tags'%5D):%0A    alert%5B'service'%5D = %5B 'Mobile' %5D%0A
 # mongo-clus
@@ -2591,16 +2591,420 @@
 ther' %5D%0A
+# ganglia-* -%3E SharedSvcs%0A# puppet-* -%3E SharedSvcs%0A# zabbix-* -%3E SharedSvcs%0Aelif any(tag.startswith('cluster:ganglia') for tag in alert%5B'tags'%5D):%0A    alert%5B'service'%5D = %5B 'SharedSvcs' %5D%0Aelif any(tag.startswith('cluster:puppet') for tag in alert%5B'tags'%5D):%0A    alert%5B'service'%5D = %5B 'SharedSvcs' %5D%0Aelif any(tag.startswith('cluster:zabbix') for tag in alert%5B'tags'%5D):%0A    alert%5B'service'%5D = %5B 'SharedSvcs' %5D%0A
 else:%0A  

Update Ec2ServiceLookup transformer