use serde::{Deserialize, Serialize};
use serde_json::{Map, Value};
use super::{OdataId, ResourceStatus};
#[derive(Debug, Clone, Deserialize)]
pub struct EventService {
#[serde(rename = "@odata.id", default)]
pub odata_id: Option<String>,
#[serde(rename = "@odata.type", default)]
pub odata_type: Option<String>,
#[serde(rename = "Id", default)]
pub id: Option<String>,
#[serde(rename = "Name", default)]
pub name: Option<String>,
#[serde(rename = "Description", default)]
pub description: Option<String>,
#[serde(rename = "ServiceEnabled", default)]
pub service_enabled: Option<bool>,
#[serde(rename = "DeliveryRetryAttempts", default)]
pub delivery_retry_attempts: Option<u32>,
#[serde(rename = "DeliveryRetryIntervalSeconds", default)]
pub delivery_retry_interval_seconds: Option<u32>,
#[serde(rename = "EventTypesForSubscription", default)]
pub event_types_for_subscription: Vec<String>,
#[serde(rename = "RegistryPrefixes", default)]
pub registry_prefixes: Vec<String>,
#[serde(rename = "ResourceTypes", default)]
pub resource_types: Vec<String>,
#[serde(rename = "Subscriptions", default)]
pub subscriptions: Option<OdataId>,
#[serde(rename = "Status", default)]
pub status: Option<ResourceStatus>,
#[serde(flatten)]
pub extra: Map<String, Value>,
}
#[derive(Debug, Clone, Serialize, Default)]
pub struct SubmitTestEventRequest {
#[serde(rename = "EventId", skip_serializing_if = "Option::is_none")]
pub event_id: Option<String>,
#[serde(rename = "EventTimestamp", skip_serializing_if = "Option::is_none")]
pub event_timestamp: Option<String>,
#[serde(rename = "EventType", skip_serializing_if = "Option::is_none")]
pub event_type: Option<String>,
#[serde(rename = "Message", skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(rename = "MessageId", skip_serializing_if = "Option::is_none")]
pub message_id: Option<String>,
#[serde(rename = "OriginOfCondition", skip_serializing_if = "Option::is_none")]
pub origin_of_condition: Option<Value>,
#[serde(rename = "Severity", skip_serializing_if = "Option::is_none")]
pub severity: Option<String>,
}