from typing import Any, Tuple from ops_bot.common import urgency_color def handle_subscribe_confirm(payload: Any) -> Tuple[str, str]: message = payload.get("Message") url = payload.get("SubscribeURL") plain = f"{message}\n\n{url}" return plain, plain def handle_notification(payload: Any) -> Tuple[str, str]: message = payload.get("Message") subject = payload.get("Subject") plain = f"{subject}\n{message}" color = urgency_color("high") formatted = ( f"{subject}\n
{message}
" ) return plain, formatted def parse_sns_event(payload: Any) -> Tuple[str, str]: if payload.get("Type") == "SubscriptionConfirmation": return handle_subscribe_confirm(payload) elif payload.get("Type") == "UnsubscribeConfirmation": return handle_subscribe_confirm(payload) elif payload.get("Type") == "Notification": return handle_notification(payload) raise Exception("Unnown SNS payload type")