redfish_codegen/models/event_destination/v1_13_1/
event_destination.rs

1// Generated by redfish-codegen. Do not modify.
2
3use crate::models;
4
5/// The EventDestination schema defines the target of an event subscription, including the event types and context to provide to the target in the event payload.
6#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
7#[derive(derivative::Derivative)]
8#[derivative(Default)]
9pub struct EventDestination {
10    #[serde(rename = "@odata.context")]
11    #[serde(skip_deserializing)]
12    #[serde(default, skip_serializing_if = "Option::is_none")]
13    pub odata_context: Option<models::odata_v4::Context>,
14    #[serde(rename = "@odata.etag")]
15    #[serde(skip_deserializing)]
16    #[serde(default, skip_serializing_if = "Option::is_none")]
17    pub odata_etag: Option<models::odata_v4::Etag>,
18    #[serde(rename = "@odata.id")]
19    #[serde(skip_deserializing)]
20    pub odata_id: models::odata_v4::Id,
21    #[serde(rename = "@odata.type")]
22    #[serde(skip_deserializing)]
23    #[derivative(Default(value = "models::odata_v4::Type(\"#EventDestination.v1_13_1.EventDestination\".to_string())"))]
24    pub odata_type: models::odata_v4::Type,
25    #[serde(rename = "Actions")]
26    #[serde(default, skip_serializing_if = "Option::is_none")]
27    pub actions: Option<models::event_destination::v1_13_1::Actions>,
28    #[serde(rename = "Certificates")]
29    #[serde(default, skip_serializing_if = "Option::is_none")]
30    pub certificates: Option<models::odata_v4::IdRef>,
31    #[serde(rename = "ClientCertificates")]
32    #[serde(default, skip_serializing_if = "Option::is_none")]
33    pub client_certificates: Option<models::odata_v4::IdRef>,
34    /// A client-supplied string that is stored with the event destination subscription.
35    #[serde(rename = "Context")]
36    pub context: String,
37    #[serde(rename = "DeliveryRetryPolicy")]
38    #[serde(default, skip_serializing_if = "Option::is_none")]
39    pub delivery_retry_policy: Option<models::event_destination::v1_13_1::DeliveryRetryPolicy>,
40    #[serde(rename = "Description")]
41    #[serde(default, skip_serializing_if = "Option::is_none")]
42    pub description: Option<models::resource::Description>,
43    /// The URI of the destination event receiver.
44    #[serde(rename = "Destination")]
45    #[serde(default, skip_serializing_if = "Option::is_none")]
46    pub destination: Option<String>,
47    #[serde(rename = "EventFormatType")]
48    #[serde(default, skip_serializing_if = "Option::is_none")]
49    pub event_format_type: Option<models::event_destination::EventFormatType>,
50    /// The types of events that are sent to the destination.
51    #[serde(rename = "EventTypes")]
52    #[serde(default, skip_serializing_if = "Option::is_none")]
53    pub event_types: Option<Vec<models::event::EventType>>,
54    /// The list of MessageIds that are not sent to this event destination.
55    #[serde(rename = "ExcludeMessageIds")]
56    #[serde(default, skip_serializing_if = "Option::is_none")]
57    pub exclude_message_ids: Option<Vec<String>>,
58    /// The list of prefixes for the message registries that contain the MessageIds that are not sent to this event destination.
59    #[serde(rename = "ExcludeRegistryPrefixes")]
60    #[serde(default, skip_serializing_if = "Option::is_none")]
61    pub exclude_registry_prefixes: Option<Vec<String>>,
62    /// Interval for sending heartbeat events to the destination in minutes.
63    #[serde(rename = "HeartbeatIntervalMinutes")]
64    #[serde(default, skip_serializing_if = "Option::is_none")]
65    pub heartbeat_interval_minutes: Option<i64>,
66    /// An array of settings for HTTP headers, such as authorization information.  This array is null or an empty array in responses.  An empty array is the preferred return value on read operations.
67    #[serde(rename = "HttpHeaders")]
68    #[serde(default, skip_serializing_if = "Option::is_none")]
69    pub http_headers: Option<Vec<models::event_destination::v1_13_1::HttpHeaderProperty>>,
70    #[serde(rename = "Id")]
71    #[serde(skip_deserializing)]
72    pub id: models::resource::Id,
73    /// An indication of whether the events subscribed to will also include the entire resource or object referenced the OriginOfCondition property in the event payload.
74    #[serde(rename = "IncludeOriginOfCondition")]
75    #[serde(default, skip_serializing_if = "Option::is_none")]
76    pub include_origin_of_condition: Option<bool>,
77    /// The list of MessageIds that are sent to this event destination.
78    #[serde(rename = "MessageIds")]
79    #[serde(default, skip_serializing_if = "Option::is_none")]
80    pub message_ids: Option<Vec<String>>,
81    /// A list of metric report definitions for which the service only sends related metric reports.  If this property is absent or the array is empty, metric reports that originate from any metric report definition are sent to the subscriber.
82    #[serde(rename = "MetricReportDefinitions")]
83    #[serde(default, skip_serializing_if = "Option::is_none")]
84    pub metric_report_definitions: Option<Vec<models::odata_v4::IdRef>>,
85    #[serde(rename = "MetricReportDefinitions@odata.count")]
86    #[serde(default, skip_serializing_if = "Option::is_none")]
87    pub metric_report_definitions_odata_count: Option<models::odata_v4::Count>,
88    #[serde(rename = "Name")]
89    #[serde(skip_deserializing)]
90    pub name: models::resource::Name,
91    /// The OEM-defined protocol type of the event connection.
92    #[serde(rename = "OEMProtocol")]
93    #[serde(default, skip_serializing_if = "Option::is_none")]
94    pub oem_protocol: Option<String>,
95    /// The OEM-defined subscription type for events.
96    #[serde(rename = "OEMSubscriptionType")]
97    #[serde(default, skip_serializing_if = "Option::is_none")]
98    pub oem_subscription_type: Option<String>,
99    #[serde(rename = "Oem")]
100    #[serde(default, skip_serializing_if = "Option::is_none")]
101    pub oem: Option<models::resource::Oem>,
102    /// The array of resources for which the service sends only related events.
103    #[serde(rename = "OriginResources")]
104    #[serde(default, skip_serializing_if = "Option::is_none")]
105    pub origin_resources: Option<Vec<models::odata_v4::IdRef>>,
106    #[serde(rename = "OriginResources@odata.count")]
107    #[serde(default, skip_serializing_if = "Option::is_none")]
108    pub origin_resources_odata_count: Option<models::odata_v4::Count>,
109    #[serde(rename = "Protocol")]
110    #[serde(default, skip_serializing_if = "Option::is_none")]
111    pub protocol: Option<models::event_destination::v1_13_1::EventDestinationProtocol>,
112    /// The list of prefixes for the message registries that contain the MessageIds that are sent to this event destination.
113    #[serde(rename = "RegistryPrefixes")]
114    #[serde(default, skip_serializing_if = "Option::is_none")]
115    pub registry_prefixes: Option<Vec<String>>,
116    /// The list of resource type values (schema names) that correspond to the OriginOfCondition.  The version and full namespace should not be specified.
117    #[serde(rename = "ResourceTypes")]
118    #[serde(default, skip_serializing_if = "Option::is_none")]
119    pub resource_types: Option<Vec<String>>,
120    #[serde(rename = "SNMP")]
121    #[serde(default, skip_serializing_if = "Option::is_none")]
122    pub snmp: Option<models::event_destination::v1_13_1::SNMPSettings>,
123    /// Send a heartbeat event periodically to the destination.
124    #[serde(rename = "SendHeartbeat")]
125    #[serde(default, skip_serializing_if = "Option::is_none")]
126    pub send_heartbeat: Option<bool>,
127    /// The list of severities that are sent to this event destination.
128    #[serde(rename = "Severities")]
129    #[serde(default, skip_serializing_if = "Option::is_none")]
130    pub severities: Option<Vec<models::resource::Health>>,
131    #[serde(rename = "Status")]
132    #[serde(default, skip_serializing_if = "Option::is_none")]
133    pub status: Option<models::resource::Status>,
134    /// An indication of whether the subscription is for events in the OriginResources array and its subordinate resources.  If `true` and the OriginResources array is specified, the subscription is for events in the OriginResources array and its subordinate resources.  Note that resources associated through the Links section are not considered subordinate.  If `false` and the OriginResources array is specified, the subscription shall be for events in the OriginResources array only.  If the OriginResources array is not present, this property shall have no relevance.
135    #[serde(rename = "SubordinateResources")]
136    #[serde(default, skip_serializing_if = "Option::is_none")]
137    pub subordinate_resources: Option<bool>,
138    #[serde(rename = "SubscriptionType")]
139    pub subscription_type: models::event_destination::v1_13_1::SubscriptionType,
140    /// A list of filters applied to syslog messages before sending to a remote syslog server.  An empty list indicates all syslog messages are sent.
141    #[serde(rename = "SyslogFilters")]
142    #[serde(default, skip_serializing_if = "Option::is_none")]
143    pub syslog_filters: Option<Vec<models::event_destination::v1_13_1::SyslogFilter>>,
144    /// An indication of whether the service will verify the certificate of the server referenced by the Destination property prior to sending the event.
145    #[serde(rename = "VerifyCertificate")]
146    #[serde(default, skip_serializing_if = "Option::is_none")]
147    pub verify_certificate: Option<bool>,
148}
149
150impl crate::Metadata<'static> for EventDestination {
151    const JSON_SCHEMA: &'static str = "EventDestination.v1_13_1.json";
152}