azure_svc_monitor 0.9.0

generated REST API bindings
Documentation
#![allow(non_camel_case_types)]
#![allow(unused_imports)]
use serde::de::{value, Deserializer, IntoDeserializer};
use serde::{Deserialize, Serialize, Serializer};
use std::str::FromStr;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ApiError {
    #[doc = "Gets or sets the azure metrics error code"]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub code: Option<String>,
    #[doc = "Gets or sets the azure metrics error message"]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub message: Option<String>,
}
impl ApiError {
    pub fn new() -> Self {
        Self::default()
    }
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ApiFailureResponse {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub error: Option<ApiError>,
}
impl ApiFailureResponse {
    pub fn new() -> Self {
        Self::default()
    }
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureMetricsBaseData {
    #[doc = "Gets or sets the Metric name"]
    pub metric: String,
    #[doc = "Gets or sets the Metric namespace"]
    pub namespace: String,
    #[doc = "Gets or sets the list of dimension names (optional)"]
    #[serde(
        rename = "dimNames",
        default,
        deserialize_with = "azure_core::util::deserialize_null_as_default",
        skip_serializing_if = "Vec::is_empty"
    )]
    pub dim_names: Vec<String>,
    #[doc = "Gets or sets the list of time series data for the metric (one per unique dimension combination)"]
    pub series: Vec<AzureTimeSeriesData>,
}
impl AzureMetricsBaseData {
    pub fn new(metric: String, namespace: String, series: Vec<AzureTimeSeriesData>) -> Self {
        Self {
            metric,
            namespace,
            dim_names: Vec::new(),
            series,
        }
    }
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureMetricsData {
    #[serde(rename = "baseData")]
    pub base_data: AzureMetricsBaseData,
}
impl AzureMetricsData {
    pub fn new(base_data: AzureMetricsBaseData) -> Self {
        Self { base_data }
    }
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureMetricsDocument {
    #[doc = "Gets or sets Time property (in ISO 8601 format)"]
    pub time: String,
    pub data: AzureMetricsData,
}
impl AzureMetricsDocument {
    pub fn new(time: String, data: AzureMetricsData) -> Self {
        Self { time, data }
    }
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureMetricsResult {
    #[doc = "Http status code response "]
    #[serde(rename = "statusCode", default, skip_serializing_if = "Option::is_none")]
    pub status_code: Option<i32>,
    #[serde(rename = "apiFailureResponse", default, skip_serializing_if = "Option::is_none")]
    pub api_failure_response: Option<ApiFailureResponse>,
}
impl AzureMetricsResult {
    pub fn new() -> Self {
        Self::default()
    }
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureTimeSeriesData {
    #[doc = "Gets or sets dimension values"]
    #[serde(
        rename = "dimValues",
        default,
        deserialize_with = "azure_core::util::deserialize_null_as_default",
        skip_serializing_if = "Vec::is_empty"
    )]
    pub dim_values: Vec<String>,
    #[doc = "Gets or sets Min value"]
    pub min: f64,
    #[doc = "Gets or sets Max value"]
    pub max: f64,
    #[doc = "Gets or sets Sum value"]
    pub sum: f64,
    #[doc = "Gets or sets Count value"]
    pub count: i32,
}
impl AzureTimeSeriesData {
    pub fn new(min: f64, max: f64, sum: f64, count: i32) -> Self {
        Self {
            dim_values: Vec::new(),
            min,
            max,
            sum,
            count,
        }
    }
}