55 lines
1.4 KiB
Python
55 lines
1.4 KiB
Python
# Code generated by Lark OpenAPI.
|
|
|
|
from typing import Any, Optional, Union, Dict, List, Set, IO, Callable, Type
|
|
from lark_oapi.core.construct import init
|
|
|
|
|
|
class Metric(object):
|
|
_types = {
|
|
"name": str,
|
|
"type": str,
|
|
"value": float,
|
|
"attributes": str,
|
|
"timestamp": int,
|
|
}
|
|
|
|
def __init__(self, d=None):
|
|
self.name: Optional[str] = None
|
|
self.type: Optional[str] = None
|
|
self.value: Optional[float] = None
|
|
self.attributes: Optional[str] = None
|
|
self.timestamp: Optional[int] = None
|
|
init(self, d, self._types)
|
|
|
|
@staticmethod
|
|
def builder() -> "MetricBuilder":
|
|
return MetricBuilder()
|
|
|
|
|
|
class MetricBuilder(object):
|
|
def __init__(self) -> None:
|
|
self._metric = Metric()
|
|
|
|
def name(self, name: str) -> "MetricBuilder":
|
|
self._metric.name = name
|
|
return self
|
|
|
|
def type(self, type: str) -> "MetricBuilder":
|
|
self._metric.type = type
|
|
return self
|
|
|
|
def value(self, value: float) -> "MetricBuilder":
|
|
self._metric.value = value
|
|
return self
|
|
|
|
def attributes(self, attributes: str) -> "MetricBuilder":
|
|
self._metric.attributes = attributes
|
|
return self
|
|
|
|
def timestamp(self, timestamp: int) -> "MetricBuilder":
|
|
self._metric.timestamp = timestamp
|
|
return self
|
|
|
|
def build(self) -> "Metric":
|
|
return self._metric
|