#[allow(unused_imports)]
use super::*;
#[allow(unused_imports)]
use crate::enums::*;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DsyncUserUpdatedData {
pub object: String,
pub id: String,
pub directory_id: String,
pub organization_id: String,
pub idp_id: String,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub email: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub first_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub last_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
#[deprecated]
pub emails: Option<Vec<DsyncUserUpdatedDataEmail>>,
#[serde(skip_serializing_if = "Option::is_none", default)]
#[deprecated]
pub job_title: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
#[deprecated]
pub username: Option<String>,
pub state: DsyncUserUpdatedDataState,
#[deprecated]
pub raw_attributes: std::collections::HashMap<String, serde_json::Value>,
pub custom_attributes: std::collections::HashMap<String, serde_json::Value>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub role: Option<SlimRole>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub roles: Option<Vec<SlimRole>>,
pub created_at: String,
pub updated_at: String,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub previous_attributes: Option<std::collections::HashMap<String, serde_json::Value>>,
}