use derive_builder::Builder;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
pub struct ProjectRateLimit {
pub object: String,
pub id: String,
pub model: String,
pub max_requests_per_1_minute: u32,
pub max_tokens_per_1_minute: u32,
pub max_images_per_1_minute: Option<u32>,
pub max_audio_megabytes_per_1_minute: Option<u32>,
pub max_requests_per_1_day: Option<u32>,
pub batch_1_day_max_input_tokens: Option<u32>,
}
#[derive(Serialize, Deserialize, Debug, Default, Builder, Clone, PartialEq)]
#[builder(name = "ModifyProjectRateLimitParametersBuilder")]
#[builder(setter(into, strip_option), default)]
pub struct ModifyProjectRateLimitParameters {
#[serde(skip_serializing_if = "Option::is_none")]
pub max_requests_per_1_minute: Option<u32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_tokens_per_1_minute: Option<u32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_images_per_1_minute: Option<u32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_audio_megabytes_per_1_minute: Option<u32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_requests_per_1_day: Option<u32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub batch_1_day_max_input_tokens: Option<u32>,
}