feldera_types/
query_params.rs1use serde::{Deserialize, Serialize};
4use utoipa::{IntoParams, ToSchema};
5
6use crate::runtime_status::RuntimeDesiredStatus;
7
8#[derive(Copy, Clone, Debug, PartialEq, Eq, Deserialize, ToSchema)]
12#[serde(rename_all = "snake_case")]
13pub enum MetricsFormat {
14 Prometheus,
15 Json,
16}
17
18fn default_metrics_format() -> MetricsFormat {
20 MetricsFormat::Prometheus
21}
22
23#[derive(Debug, Deserialize, IntoParams, ToSchema)]
25pub struct MetricsParameters {
26 #[serde(default = "default_metrics_format")]
27 pub format: MetricsFormat,
28}
29
30#[derive(Debug, Deserialize, IntoParams, ToSchema)]
31#[serde(default)]
32pub struct ActivateParams {
33 #[serde(with = "crate::runtime_status::snake_case_runtime_desired_status")]
34 pub initial: RuntimeDesiredStatus,
35}
36
37impl Default for ActivateParams {
38 fn default() -> Self {
39 Self {
40 initial: RuntimeDesiredStatus::Running,
41 }
42 }
43}
44
45#[derive(Debug, Deserialize, Serialize, IntoParams, ToSchema)]
46#[serde(default)]
47pub struct SamplyProfileParams {
48 pub ordinal: usize,
50 pub duration_secs: u64,
52}
53
54impl Default for SamplyProfileParams {
56 fn default() -> Self {
57 Self {
58 ordinal: 0,
59 duration_secs: 30,
60 }
61 }
62}
63
64#[derive(Debug, Default, Deserialize, Serialize, IntoParams, ToSchema)]
66#[into_params(parameter_in = Query)]
67#[serde(default)]
68pub struct SamplyProfileGetParams {
69 pub ordinal: usize,
71 pub latest: bool,
74}