class CrudMonitoring(Construct):

    def __init__(
        self,
        scope: Construct,
        id_: str,
        crud_api: aws_apigateway.RestApi,
        db: dynamodb.Table,
        idempotency_table: dynamodb.Table,
        functions: list[_lambda.Function],
    ) -> None:
        super().__init__(scope, id_)
        self.id_ = id_
        self.notification_topic = self._build_topic()
        self._build_high_level_dashboard(crud_api, self.notification_topic)
        self._build_low_level_dashboard(db, idempotency_table, functions, self.notification_topic)