use derive_new::new;
use derive_setters::Setters;
use serde::Serialize;
#[derive(Clone, Default, Debug, PartialEq, Serialize, new, Setters)]
#[setters(prefix = "with_")]
#[setters(into, strip_option)]
#[serde(rename_all = "camelCase")]
pub struct CreateUpdateRequest {
#[serde(skip_serializing)]
#[setters(skip)]
#[new(into)]
pub(crate) config_class: String,
#[serde(skip_serializing)]
#[setters(skip)]
#[new(into)]
pub(crate) object_type: String,
#[serde(skip_serializing)]
#[setters(skip)]
#[new(into)]
pub(crate) id: String,
#[serde(rename = "fields")]
#[new(default)]
config: Option<Vec<ConfigTuple>>,
}
#[derive(Clone, Default, Debug, PartialEq, Serialize, new)]
pub struct ConfigTuple {
#[new(into)]
pub attribute: String,
#[new(into)]
pub value: String,
}