use std::fmt;
#[allow(clippy::trivially_copy_pass_by_ref)]
fn pretty_on(pretty_print: &bool) -> bool {
*pretty_print
}
#[derive(Serialize)]
#[serde(rename_all = "camelCase")]
pub struct StandardQueryParameters<'a> {
#[serde(skip_serializing_if = "Option::is_none")]
pub fields: Option<&'a str>,
#[serde(skip_serializing_if = "pretty_on")]
pub pretty_print: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub quota_user: Option<&'a str>,
#[serde(skip_serializing_if = "Option::is_none")]
pub user_ip: Option<&'a str>,
}
impl<'a> Default for StandardQueryParameters<'a> {
fn default() -> Self {
Self {
fields: None,
pretty_print: false,
quota_user: None,
user_ip: None,
}
}
}
#[derive(Default, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct Conditionals {
#[serde(skip_serializing_if = "Option::is_none")]
pub if_generation_match: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub if_generation_not_match: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub if_metageneration_match: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub if_metageneration_not_match: Option<i64>,
}
#[derive(Serialize, Deserialize, Debug)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum StorageClass {
MultiRegional,
Regional,
Nearline,
Coldline,
Standard,
DurableReducedAvailability,
}
impl fmt::Display for StorageClass {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{:?}", self)
}
}
#[derive(Serialize)]
#[serde(rename_all = "camelCase")]
pub enum PredefinedAcl {
AuthenticatedRead,
BucketOwnerFullControl,
BucketOwnerRead,
Private,
ProjectPrivate,
PublicRead,
}
#[derive(Serialize)]
#[serde(rename_all = "camelCase")]
pub enum Projection {
Full,
NoAcl,
}
impl Default for Projection {
fn default() -> Self {
Projection::NoAcl
}
}