sendnotifications package
Submodules
sendnotifications.channels module
- class sendnotifications.channels.NotifyChannels(channel: str)[source]
Bases:
object
Core NotifyMSTeam Class. Usage: from NotifyChannels import webhook Send Messages to webhook url
- webhook = {'aws-sbx-cleanup-alerts-report': {'uri': 'https://prod-01.westus.logic.azure.com:443/workflows/3558daa208964f0188298ef052634210/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=mOdThie9NzcUbr5x9MNx1BTD6V8VuY0mMXVvzXU__Ws'}, 'aws-sbx-cleanup-alerts-stacklet': {'uri': 'https://prod-121.westus.logic.azure.com:443/workflows/b15e81b35d9d49f391d195d7ce5053fd/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=vycH3XKhAy2axmsAM6X7moyNkisHzjN-nwsgjI4Jxvk'}, 'costar-dba-arch-grp': {'uri': 'https://prod-27.westus.logic.azure.com:443/workflows/2acaf56611ad4b36a0ca65c61d3dfc93/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=LVccpRroSXn7lO_9BhsLu4iRykdOlo2AbR39cdW_GCY'}, 'costar-dba-team-general': {'uri': 'https://prod-51.westus.logic.azure.com:443/workflows/1e389306783e4aea9eee10a0b4e750de/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=grrNrULQP7WpPeq4WSK-3ZezN7iQQFf4RATNWCZs-vw'}, 'dba': {'uri': 'https://prod-177.westus.logic.azure.com:443/workflows/7da4b651258a4b4fb23ab21f9b05f172/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=Eka0XTjDPjV0bMBHaVhZFkXKp5gK9_kdShSNpCBi4UQ'}, 'dba-atlas-prd-alerts': {'uri': 'https://prod-142.westus.logic.azure.com:443/workflows/5c43c85648b34c0186d9ae846e82fdc8/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=p1XlEckbiaxpolwxH0MpQ3SyGO1vSv-YZXDG4My3MTo'}, 'dba-cluster-failovers': {'uri': 'https://prod-126.westus.logic.azure.com:443/workflows/bb9a040b42ff4821a42ab9f1e2a3dae1/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=EHKaXH5eEkV4u9sYSvDW5Lda8qH2CcfcK00BGcYRh1o'}, 'dba-ec2-automation-alert': {'uri': 'https://prod-32.westus.logic.azure.com:443/workflows/094704310e8b42108d7d1d3b052e1d1f/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=O5n5VbGzaVvuYrqUneJFPcz1x_fXHp72biZiMJm74Jc'}, 'dba-ec2-cattle-alerts': {'uri': 'https://prod-191.westus.logic.azure.com:443/workflows/c2ce5b1ec8994fb7bdea06ce58f6788e/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=9QLXip00jtllllt8PBDWIHTofSoUDDMUdwhXnxDUans'}, 'dba-general': {'uri': 'https://prod-181.westus.logic.azure.com:443/workflows/592f1b1b1de74b2e9eeb753a87a9a5b7/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=tXhDjRuuxM9bPuut9ii3gYTGllWB9WLUsZXbbzOXwOA'}, 'dba-mapinfo-dev-alert': {'uri': 'https://prod-136.westus.logic.azure.com:443/workflows/bb5f4b19dad947f2b9f09269102ab4d8/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=hKUAa2mb5YF3HIWdvXKLeJi1UUydfkP8vHZrUYdYdh0'}, 'dba-mapinfo-prd-alert': {'uri': 'https://prod-19.westus.logic.azure.com:443/workflows/d38bff2bd5554cf2a954473daafb375b/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=H3RXO-i07QxLaX7iEXj9obFCzZnqpxKnIWq1pcR8QVk'}, 'dba-mapinfo-tst-alert': {'uri': 'https://prod-135.westus.logic.azure.com:443/workflows/1d30e9f07e9d4b589d6a4b038ac44639/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=em_awrqPm2FsgvmixM3KGPU5yHYsmGxQMS8rgtnpNig'}, 'dba-only': {'uri': 'https://prod-49.westus.logic.azure.com:443/workflows/eb0ab4c596fe489d9979ff50757ec328/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=fuVWJIofNne_cL5xc0PBxRium70F1KyjQ98bRHGJsKY'}, 'dba-rds-dev-alerts': {'uri': 'https://prod-113.westus.logic.azure.com:443/workflows/ab87c2d4ecfd4f2bb12a4793dc0617f9/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=omHPPSAehDLcLk2oHQ-1Ba3rMTRM8UNQAeN602Oo2rQ'}, 'dba-rds-prd-alerts': {'uri': 'https://prod-89.westus.logic.azure.com:443/workflows/9b5f6462844f4dc6926adcb4c8cc9a63/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=oH--NPdT1iHck0fhl6XYwhdlTBi5HAVHQEf654k-aOI'}, 'dba-rds-tst-alerts': {'uri': 'https://prod-191.westus.logic.azure.com:443/workflows/8dc98b4d12eb49b180bdf658e5d1dbd6/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=8sdR32nUAcutebhxCiFkiup0h7N_hYcGQkMc7oE0yK4'}, 'dba-research-prd-alerts': {'uri': 'https://prod-117.westus.logic.azure.com:443/workflows/b2be6d3cfbfc48928c67837e11ee2fc4/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=-V5NzL8TjlEJbKkueJmRY0UBYMKbQdLHZ_btSS0sFq8'}, 'dba-snowflake-notifications': {'uri': 'https://prod-156.westus.logic.azure.com:443/workflows/17fe8444f27b41a1a37a361fa0e54078/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=aYGnULglw5SJkKozwznuWZstp5N1ZtBs6tadsJ0oYtE'}, 'dba-snowflake-notifications-dev-tst': {'uri': 'https://prod-89.westus.logic.azure.com:443/workflows/5e2281e9a4e748f18fd5557512b6afdf/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=3MFx03ne7-ky4ivb4Hhx39RNJW7XIrV4lzRv_fZalm0'}, 'dba-test-notifications': {'uri': 'https://prod-157.westus.logic.azure.com:443/workflows/599550925b284cbbaef293a1b230f83e/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=kW5rtNSU5k0QjUarG8U3p3DGTe_0tfil9x4BMJyRjU4'}, 'homes-analytics-alerts': {'uri': 'https://prod-141.westus.logic.azure.com:443/workflows/8321305344d14d32bf41d15d0d57c827/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=MAn0QQhwloouGqJRa_Kr0qE9WAYGGRkEnuPJ9y6oaYI'}}
sendnotifications.sendonemail module
- class sendnotifications.sendonemail.NotifyEmail(title: str, message_body: str, recepient: str)[source]
Bases:
object
Core NotifyEmail Class. Usage:
Import sendnotifications messages = [] messages.append(“Test”) messages.append(“Test1”) notify = NotifyEmail(“Title - Testing card”,messages,”vthelu”)
- Parameters:
title: str - Subject messages:str - Stack of messages recipient: str - Recepient Team Identifier
Send Messages to subscribed email address
- topic_name = 'sendnotification-sharedlib-sns-notify-email-events'
sendnotifications.sendonteams module
- class sendnotifications.sendonteams.NotifyMsTeams(channel: str = 'dba-test-notifications', messages: str = '', header_text: str | None = None, color: str = 'good', messagetype: str = 1)[source]
Bases:
object
Core NotifyMSTeam Class. Usage:
from messages = [] messages.append(“Test”) messages.append(“Test1”) notify = NotifyMsTeams(“homes-analytics-alerts”,messages,”Test Title”,1,”warn”)
- Parameters:
channel: str - Channel name messages:str - Stack of messages header_text: str - Title / Subject messagetype:str - 0 - Direct Mesage , 1 - Adapative Card (default) color:str = “good” - Alert Type , good , warn, attn
- e.g “dba-only”,messages,”Test Title”,1,”warn”
“dba-only”,messages,”Test Title”
Send Messages to webhook url
- channel = 'dba-test-notifications'
- create_adaptive_card(header_text: str, message_body: str, color: str = 'good') dict[str, str | list[dict[str, str | bool]]] [source]
- header_text = ''
- idx = 1
- message = ''
- message_type = 'Preformed Adaptive Card'
- send_adaptive_card_to_ms_teams(webhook: str, adaptive_card: dict[str, str | list[dict[str, str | bool]]]) {<HTTPStatus.CONTINUE: 100>: 'Continue', <HTTPStatus.SWITCHING_PROTOCOLS: 101>: 'Switching Protocols', <HTTPStatus.PROCESSING: 102>: 'Processing', <HTTPStatus.EARLY_HINTS: 103>: 'Early Hints', <HTTPStatus.OK: 200>: 'OK', <HTTPStatus.CREATED: 201>: 'Created', <HTTPStatus.ACCEPTED: 202>: 'Accepted', <HTTPStatus.NON_AUTHORITATIVE_INFORMATION: 203>: 'Non-Authoritative Information', <HTTPStatus.NO_CONTENT: 204>: 'No Content', <HTTPStatus.RESET_CONTENT: 205>: 'Reset Content', <HTTPStatus.PARTIAL_CONTENT: 206>: 'Partial Content', <HTTPStatus.MULTI_STATUS: 207>: 'Multi-Status', <HTTPStatus.ALREADY_REPORTED: 208>: 'Already Reported', <HTTPStatus.IM_USED: 226>: 'IM Used', <HTTPStatus.MULTIPLE_CHOICES: 300>: 'Multiple Choices', <HTTPStatus.MOVED_PERMANENTLY: 301>: 'Moved Permanently', <HTTPStatus.FOUND: 302>: 'Found', <HTTPStatus.SEE_OTHER: 303>: 'See Other', <HTTPStatus.NOT_MODIFIED: 304>: 'Not Modified', <HTTPStatus.USE_PROXY: 305>: 'Use Proxy', <HTTPStatus.TEMPORARY_REDIRECT: 307>: 'Temporary Redirect', <HTTPStatus.PERMANENT_REDIRECT: 308>: 'Permanent Redirect', <HTTPStatus.BAD_REQUEST: 400>: 'Bad Request', <HTTPStatus.UNAUTHORIZED: 401>: 'Unauthorized', <HTTPStatus.PAYMENT_REQUIRED: 402>: 'Payment Required', <HTTPStatus.FORBIDDEN: 403>: 'Forbidden', <HTTPStatus.NOT_FOUND: 404>: 'Not Found', <HTTPStatus.METHOD_NOT_ALLOWED: 405>: 'Method Not Allowed', <HTTPStatus.NOT_ACCEPTABLE: 406>: 'Not Acceptable', <HTTPStatus.PROXY_AUTHENTICATION_REQUIRED: 407>: 'Proxy Authentication Required', <HTTPStatus.REQUEST_TIMEOUT: 408>: 'Request Timeout', <HTTPStatus.CONFLICT: 409>: 'Conflict', <HTTPStatus.GONE: 410>: 'Gone', <HTTPStatus.LENGTH_REQUIRED: 411>: 'Length Required', <HTTPStatus.PRECONDITION_FAILED: 412>: 'Precondition Failed', <HTTPStatus.REQUEST_ENTITY_TOO_LARGE: 413>: 'Request Entity Too Large', <HTTPStatus.REQUEST_URI_TOO_LONG: 414>: 'Request-URI Too Long', <HTTPStatus.UNSUPPORTED_MEDIA_TYPE: 415>: 'Unsupported Media Type', <HTTPStatus.REQUESTED_RANGE_NOT_SATISFIABLE: 416>: 'Requested Range Not Satisfiable', <HTTPStatus.EXPECTATION_FAILED: 417>: 'Expectation Failed', <HTTPStatus.IM_A_TEAPOT: 418>: "I'm a Teapot", <HTTPStatus.MISDIRECTED_REQUEST: 421>: 'Misdirected Request', <HTTPStatus.UNPROCESSABLE_ENTITY: 422>: 'Unprocessable Entity', <HTTPStatus.LOCKED: 423>: 'Locked', <HTTPStatus.FAILED_DEPENDENCY: 424>: 'Failed Dependency', <HTTPStatus.TOO_EARLY: 425>: 'Too Early', <HTTPStatus.UPGRADE_REQUIRED: 426>: 'Upgrade Required', <HTTPStatus.PRECONDITION_REQUIRED: 428>: 'Precondition Required', <HTTPStatus.TOO_MANY_REQUESTS: 429>: 'Too Many Requests', <HTTPStatus.REQUEST_HEADER_FIELDS_TOO_LARGE: 431>: 'Request Header Fields Too Large', <HTTPStatus.UNAVAILABLE_FOR_LEGAL_REASONS: 451>: 'Unavailable For Legal Reasons', <HTTPStatus.INTERNAL_SERVER_ERROR: 500>: 'Internal Server Error', <HTTPStatus.NOT_IMPLEMENTED: 501>: 'Not Implemented', <HTTPStatus.BAD_GATEWAY: 502>: 'Bad Gateway', <HTTPStatus.SERVICE_UNAVAILABLE: 503>: 'Service Unavailable', <HTTPStatus.GATEWAY_TIMEOUT: 504>: 'Gateway Timeout', <HTTPStatus.HTTP_VERSION_NOT_SUPPORTED: 505>: 'HTTP Version Not Supported', <HTTPStatus.VARIANT_ALSO_NEGOTIATES: 506>: 'Variant Also Negotiates', <HTTPStatus.INSUFFICIENT_STORAGE: 507>: 'Insufficient Storage', <HTTPStatus.LOOP_DETECTED: 508>: 'Loop Detected', <HTTPStatus.NOT_EXTENDED: 510>: 'Not Extended', <HTTPStatus.NETWORK_AUTHENTICATION_REQUIRED: 511>: 'Network Authentication Required'} [source]
- send_message_to_ms_teams(webhook, title: str, message_body: str, theme: str = '2DC72D') {<HTTPStatus.CONTINUE: 100>: 'Continue', <HTTPStatus.SWITCHING_PROTOCOLS: 101>: 'Switching Protocols', <HTTPStatus.PROCESSING: 102>: 'Processing', <HTTPStatus.EARLY_HINTS: 103>: 'Early Hints', <HTTPStatus.OK: 200>: 'OK', <HTTPStatus.CREATED: 201>: 'Created', <HTTPStatus.ACCEPTED: 202>: 'Accepted', <HTTPStatus.NON_AUTHORITATIVE_INFORMATION: 203>: 'Non-Authoritative Information', <HTTPStatus.NO_CONTENT: 204>: 'No Content', <HTTPStatus.RESET_CONTENT: 205>: 'Reset Content', <HTTPStatus.PARTIAL_CONTENT: 206>: 'Partial Content', <HTTPStatus.MULTI_STATUS: 207>: 'Multi-Status', <HTTPStatus.ALREADY_REPORTED: 208>: 'Already Reported', <HTTPStatus.IM_USED: 226>: 'IM Used', <HTTPStatus.MULTIPLE_CHOICES: 300>: 'Multiple Choices', <HTTPStatus.MOVED_PERMANENTLY: 301>: 'Moved Permanently', <HTTPStatus.FOUND: 302>: 'Found', <HTTPStatus.SEE_OTHER: 303>: 'See Other', <HTTPStatus.NOT_MODIFIED: 304>: 'Not Modified', <HTTPStatus.USE_PROXY: 305>: 'Use Proxy', <HTTPStatus.TEMPORARY_REDIRECT: 307>: 'Temporary Redirect', <HTTPStatus.PERMANENT_REDIRECT: 308>: 'Permanent Redirect', <HTTPStatus.BAD_REQUEST: 400>: 'Bad Request', <HTTPStatus.UNAUTHORIZED: 401>: 'Unauthorized', <HTTPStatus.PAYMENT_REQUIRED: 402>: 'Payment Required', <HTTPStatus.FORBIDDEN: 403>: 'Forbidden', <HTTPStatus.NOT_FOUND: 404>: 'Not Found', <HTTPStatus.METHOD_NOT_ALLOWED: 405>: 'Method Not Allowed', <HTTPStatus.NOT_ACCEPTABLE: 406>: 'Not Acceptable', <HTTPStatus.PROXY_AUTHENTICATION_REQUIRED: 407>: 'Proxy Authentication Required', <HTTPStatus.REQUEST_TIMEOUT: 408>: 'Request Timeout', <HTTPStatus.CONFLICT: 409>: 'Conflict', <HTTPStatus.GONE: 410>: 'Gone', <HTTPStatus.LENGTH_REQUIRED: 411>: 'Length Required', <HTTPStatus.PRECONDITION_FAILED: 412>: 'Precondition Failed', <HTTPStatus.REQUEST_ENTITY_TOO_LARGE: 413>: 'Request Entity Too Large', <HTTPStatus.REQUEST_URI_TOO_LONG: 414>: 'Request-URI Too Long', <HTTPStatus.UNSUPPORTED_MEDIA_TYPE: 415>: 'Unsupported Media Type', <HTTPStatus.REQUESTED_RANGE_NOT_SATISFIABLE: 416>: 'Requested Range Not Satisfiable', <HTTPStatus.EXPECTATION_FAILED: 417>: 'Expectation Failed', <HTTPStatus.IM_A_TEAPOT: 418>: "I'm a Teapot", <HTTPStatus.MISDIRECTED_REQUEST: 421>: 'Misdirected Request', <HTTPStatus.UNPROCESSABLE_ENTITY: 422>: 'Unprocessable Entity', <HTTPStatus.LOCKED: 423>: 'Locked', <HTTPStatus.FAILED_DEPENDENCY: 424>: 'Failed Dependency', <HTTPStatus.TOO_EARLY: 425>: 'Too Early', <HTTPStatus.UPGRADE_REQUIRED: 426>: 'Upgrade Required', <HTTPStatus.PRECONDITION_REQUIRED: 428>: 'Precondition Required', <HTTPStatus.TOO_MANY_REQUESTS: 429>: 'Too Many Requests', <HTTPStatus.REQUEST_HEADER_FIELDS_TOO_LARGE: 431>: 'Request Header Fields Too Large', <HTTPStatus.UNAVAILABLE_FOR_LEGAL_REASONS: 451>: 'Unavailable For Legal Reasons', <HTTPStatus.INTERNAL_SERVER_ERROR: 500>: 'Internal Server Error', <HTTPStatus.NOT_IMPLEMENTED: 501>: 'Not Implemented', <HTTPStatus.BAD_GATEWAY: 502>: 'Bad Gateway', <HTTPStatus.SERVICE_UNAVAILABLE: 503>: 'Service Unavailable', <HTTPStatus.GATEWAY_TIMEOUT: 504>: 'Gateway Timeout', <HTTPStatus.HTTP_VERSION_NOT_SUPPORTED: 505>: 'HTTP Version Not Supported', <HTTPStatus.VARIANT_ALSO_NEGOTIATES: 506>: 'Variant Also Negotiates', <HTTPStatus.INSUFFICIENT_STORAGE: 507>: 'Insufficient Storage', <HTTPStatus.LOOP_DETECTED: 508>: 'Loop Detected', <HTTPStatus.NOT_EXTENDED: 510>: 'Not Extended', <HTTPStatus.NETWORK_AUTHENTICATION_REQUIRED: 511>: 'Network Authentication Required'} [source]
- webhook = {'uri': 'https://prod-157.westus.logic.azure.com:443/workflows/599550925b284cbbaef293a1b230f83e/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=kW5rtNSU5k0QjUarG8U3p3DGTe_0tfil9x4BMJyRjU4'}
- webhook_mapper = {0: {'message_type': 'Direct Message', 'webhook': {'uri': 'https://prod-157.westus.logic.azure.com:443/workflows/599550925b284cbbaef293a1b230f83e/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=kW5rtNSU5k0QjUarG8U3p3DGTe_0tfil9x4BMJyRjU4'}, 'workflow_name': 'informational direct message workflow'}, 1: {'message_type': 'Preformed Adaptive Card', 'webhook': {'uri': 'https://prod-157.westus.logic.azure.com:443/workflows/599550925b284cbbaef293a1b230f83e/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=kW5rtNSU5k0QjUarG8U3p3DGTe_0tfil9x4BMJyRjU4'}, 'workflow_name': 'informational adaptive card'}}
- workflow_name = 'informational adaptive card'