def create(self,
               name,
               query,
               scope_count,
               scope_unit,
               increase_positive,
               percentage_change,
               trigger_config,
               logs,
               alert_reports):
        """
        Create an anomaly alert. This call makes 2 requests, one to create a
        "scheduled_query", and another to create the alert.

        :param name: The name for the alert
        :type name: str

        :param query: The `LEQL`_ query to use for detecting anomalies. Must
            result in a numerical value, so it should look something like
            ``where(...) calculate(COUNT)``
        :type query: str

        :param scope_count: How many ``scope_unit`` s to inspect for detecting
            an anomaly
        :type scope_count: int

        :param scope_unit: How far to look back in detecting an anomaly. Must
            be one of "hour", "day", or "week"
        :type scope_unit: str

        :param increase_positive: Detect a positive increase for the anomaly. A
            value of ``False`` results in detecting a decrease for the anomaly.
        :type increase_positive: bool

        :param percentage_change: The percentage of change to detect. Must be a
            number between 0 and 100 (inclusive).
        :type percentage_change: int

        :param trigger_config: A AlertTriggerConfig describing how far back to
            look back to compare to the anomaly scope.
        :type trigger_config: :class:`AlertTriggerConfig<logentries_api.special_alerts.AlertTriggerConfig>`

        :param logs: A list of log UUID's. (The 'key' key of a log)
        :type logs: list of str

        :param alert_reports: A list of AlertReportConfig to send alerts to
        :type alert_reports: list of
            :class:`AlertReportConfig<logentries_api.special_alerts.AlertReportConfig>`

        :return: The API response of the alert creation
        :rtype: dict

        :raises: This will raise a
            :class:`ServerException <logentries_api.exceptions.ServerException>`
            if there is an error from Logentries

        .. _Leql: https://blog.logentries.com/2015/06/introducing-leql/

        """
        change = '{pos}{change}'.format(
            pos='+' if increase_positive else '-',
            change=str(percentage_change)
        )

        query_response = self._create_scheduled_query(
            query=query,
            change=change,
            scope_unit=scope_unit,
            scope_count=scope_count,
        )

        scheduled_query_id = query_response.get('scheduled_query', {}).get('id')

        tag_data = {
            'tag': {
                'actions': [
                    alert_report.to_dict()
                    for alert_report
                    in alert_reports
                ],
                'name': name,
                'scheduled_query_id': scheduled_query_id,
                'sources': [
                    {'id': log}
                    for log
                    in logs
                ],
                'sub_type': 'AnomalyAlert',
                'type': 'AlertNotify'
            }
        }
        tag_data['tag'].update(trigger_config.to_dict())

        tag_url = 'https://logentries.com/rest/{account_id}/api/tags'.format(
            account_id=self.account_id
        )

        return self._api_post(
            url=tag_url,
            data=json.dumps(tag_data, sort_keys=True),
        )
Create an anomaly alert. This call makes 2 requests, one to create a
        "scheduled_query", and another to create the alert.

        :param name: The name for the alert
        :type name: str

        :param query: The `LEQL`_ query to use for detecting anomalies. Must
            result in a numerical value, so it should look something like
            ``where(...) calculate(COUNT)``
        :type query: str

        :param scope_count: How many ``scope_unit`` s to inspect for detecting
            an anomaly
        :type scope_count: int

        :param scope_unit: How far to look back in detecting an anomaly. Must
            be one of "hour", "day", or "week"
        :type scope_unit: str

        :param increase_positive: Detect a positive increase for the anomaly. A
            value of ``False`` results in detecting a decrease for the anomaly.
        :type increase_positive: bool

        :param percentage_change: The percentage of change to detect. Must be a
            number between 0 and 100 (inclusive).
        :type percentage_change: int

        :param trigger_config: A AlertTriggerConfig describing how far back to
            look back to compare to the anomaly scope.
        :type trigger_config: :class:`AlertTriggerConfig<logentries_api.special_alerts.AlertTriggerConfig>`

        :param logs: A list of log UUID's. (The 'key' key of a log)
        :type logs: list of str

        :param alert_reports: A list of AlertReportConfig to send alerts to
        :type alert_reports: list of
            :class:`AlertReportConfig<logentries_api.special_alerts.AlertReportConfig>`

        :return: The API response of the alert creation
        :rtype: dict

        :raises: This will raise a
            :class:`ServerException <logentries_api.exceptions.ServerException>`
            if there is an error from Logentries

        .. _Leql: https://blog.logentries.com/2015/06/introducing-leql/