# coding: utf-8
"""Waylay Broker models.

This code was generated from the OpenAPI documentation of 'Waylay Broker'

Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.

"""

from __future__ import annotations

from pydantic import (
    ConfigDict,
    Field,
    StrictFloat,
    StrictInt,
)
from waylay.sdk.api._models import BaseModel as WaylayBaseModel

from ..models.timeseries_filter_operator_operator import (
    TimeseriesFilterOperatorOperator,
)
from ..models.timeseries_filter_value_exact_value import TimeseriesFilterValueExactValue


class TimeseriesFilter(WaylayBaseModel):
    """Filter that will be applied to datapoints *before* aggregation is performed.."""

    operator: TimeseriesFilterOperatorOperator
    value: TimeseriesFilterValueExactValue
    lower_bound: StrictFloat | StrictInt = Field(alias="lowerBound")
    upper_bound: StrictFloat | StrictInt = Field(alias="upperBound")

    model_config = ConfigDict(
        populate_by_name=True,
        validate_assignment=True,
        protected_namespaces=(),
        extra="ignore",
    )
