use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Usage {
#[serde(rename = "events_current")]
pub events_current: i64,
#[serde(rename = "events_included", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub events_included: Option<Option<i64>>,
#[serde(rename = "events_overage")]
pub events_overage: i64,
#[serde(rename = "overage_cost")]
pub overage_cost: f64,
#[serde(rename = "overage_rate")]
pub overage_rate: f64,
#[serde(rename = "period_end", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub period_end: Option<Option<String>>,
#[serde(rename = "period_start", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub period_start: Option<Option<String>>,
#[serde(rename = "plan")]
pub plan: models::Plan,
}
impl Usage {
pub fn new(events_current: i64, events_overage: i64, overage_cost: f64, overage_rate: f64, plan: models::Plan) -> Usage {
Usage {
events_current,
events_included: None,
events_overage,
overage_cost,
overage_rate,
period_end: None,
period_start: None,
plan,
}
}
}