"""Datadog Connector.""" from contextlib import contextmanager from typing import Optional from datadog import api, initialize from collaborator import config @contextmanager def datadog_connection(api_key: Optional[str] = None, app_key: Optional[str] = None): """Context manager for datadog connection objects. Args: api_key (str): API key to connect to your datadog account. app_key (str): The application key from your datadog account. Yields: datadog.api: connection to datadog api """ if not api_key: api_key = config.DATADOG_API_KEY if not app_key: app_key = config.DATADOG_APP_KEY initialize(api_key=api_key, app_key=app_key) yield api def call_datadog_with_event(title: str, text: str, tags: list): """Wrap the DataDog Event call. Args: title (str): custom event name to send to DataDog. text (str): custom event text to send to DataDog. tags (list): custom event tags to send to DataDog. """ with datadog_connection() as datadog: datadog.Event.create(title=title, text=text, tags=tags)