1
0
Fork 0
mirror of https://github.com/ansible-collections/hetzner.hcloud.git synced 2026-02-04 08:01:49 +00:00
hetzner.hcloud/plugins/module_utils/_vendor/hcloud/metrics/domain.py

51 lines
1.2 KiB
Python

from __future__ import annotations
from datetime import datetime
from typing import Literal
from ..core import BaseDomain
__all__ = [
"TimeSeries",
"Metrics",
]
TimeSeries = dict[str, dict[Literal["values"], list[tuple[float, str]]]]
class Metrics(BaseDomain):
"""Metrics Domain
:param start: Start of period of metrics reported.
:param end: End of period of metrics reported.
:param step: Resolution of results in seconds.
:param time_series: Dict with time series data, using the name of the time series as
key. The metrics timestamps and values are stored in a list of tuples
``[(timestamp, value), ...]``.
"""
start: datetime
end: datetime
step: float
time_series: TimeSeries
__api_properties__ = (
"start",
"end",
"step",
"time_series",
)
__slots__ = __api_properties__
def __init__(
self,
start: str,
end: str,
step: float,
time_series: TimeSeries,
):
self.start = self._parse_datetime(start)
self.end = self._parse_datetime(end)
self.step = step
self.time_series = time_series