1#[cfg(feature = "builders")]
2use bon::Builder;
3use serde::{Deserialize, Serialize};
4#[cfg(feature = "catch-all-fields")]
5use serde_json::Value;
6use std::collections::HashMap;
7
8#[non_exhaustive]
9#[cfg_attr(feature = "builders", derive(Builder))]
10#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
11#[serde(rename_all = "camelCase")]
12pub struct EC2AutomationStepStatusChange {
13 #[serde(rename = "ExecutionId")]
14 pub execution_id: String,
15 #[serde(rename = "Definition")]
16 pub definition: String,
17 #[serde(rename = "DefinitionVersion")]
18 pub definition_version: f64,
19 #[serde(rename = "Status")]
20 pub status: String,
21 #[serde(rename = "EndTime")]
22 pub end_time: String,
23 #[serde(rename = "StartTime")]
24 pub start_time: String,
25 #[serde(rename = "Time")]
26 pub time: f64,
27 #[serde(rename = "StepName")]
28 pub step_name: String,
29 #[serde(rename = "Action")]
30 pub action: String,
31 #[cfg(feature = "catch-all-fields")]
35 #[cfg_attr(docsrs, doc(cfg(feature = "catch-all-fields")))]
36 #[serde(flatten)]
37 #[cfg_attr(feature = "builders", builder(default))]
38 pub other: serde_json::Map<String, Value>,
39}
40
41#[non_exhaustive]
42#[cfg_attr(feature = "builders", derive(Builder))]
43#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
44#[serde(rename_all = "camelCase")]
45pub struct EC2AutomationExecutionStatusChange {
46 #[serde(rename = "ExecutionId")]
47 pub execution_id: String,
48 #[serde(rename = "Definition")]
49 pub definition: String,
50 #[serde(rename = "DefinitionVersion")]
51 pub definition_version: f64,
52 #[serde(rename = "Status")]
53 pub status: String,
54 #[serde(rename = "StartTime")]
55 pub start_time: String,
56 #[serde(rename = "EndTime")]
57 pub end_time: String,
58 #[serde(rename = "Time")]
59 pub time: f64,
60 #[serde(rename = "ExecutedBy")]
61 pub executed_by: String,
62 #[cfg(feature = "catch-all-fields")]
66 #[cfg_attr(docsrs, doc(cfg(feature = "catch-all-fields")))]
67 #[serde(flatten)]
68 #[cfg_attr(feature = "builders", builder(default))]
69 pub other: serde_json::Map<String, Value>,
70}
71
72#[non_exhaustive]
73#[cfg_attr(feature = "builders", derive(Builder))]
74#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
75#[serde(rename_all = "camelCase")]
76pub struct StateChange {
77 pub state: String,
78 pub at_time: String,
79 pub next_transition_time: String,
80 #[cfg(feature = "catch-all-fields")]
84 #[cfg_attr(docsrs, doc(cfg(feature = "catch-all-fields")))]
85 #[serde(flatten)]
86 #[cfg_attr(feature = "builders", builder(default))]
87 pub other: serde_json::Map<String, Value>,
88}
89
90#[non_exhaustive]
91#[cfg_attr(feature = "builders", derive(Builder))]
92#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
93#[serde(rename_all = "camelCase")]
94pub struct ConfigurationComplianceStateChange {
95 #[serde(rename = "last-runtime")]
96 pub last_runtime: Option<String>,
97 #[serde(rename = "compliance-status")]
98 pub compliance_status: String,
99 #[serde(rename = "resource-type")]
100 pub resource_type: String,
101 #[serde(rename = "resource-id")]
102 pub resource_id: String,
103 #[serde(rename = "compliance-type")]
104 pub compliance_type: String,
105 #[serde(rename = "patch-baseline-id")]
106 pub patch_baseline_id: Option<String>,
107 pub serverity: Option<String>,
108 #[cfg(feature = "catch-all-fields")]
112 #[cfg_attr(docsrs, doc(cfg(feature = "catch-all-fields")))]
113 #[serde(flatten)]
114 #[cfg_attr(feature = "builders", builder(default))]
115 pub other: serde_json::Map<String, Value>,
116}
117
118#[non_exhaustive]
119#[cfg_attr(feature = "builders", derive(Builder))]
120#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
121#[serde(rename_all = "camelCase")]
122pub struct MaintenanceWindowTargetRegistration {
123 #[serde(rename = "window-target-id")]
124 pub window_target_id: String,
125 #[serde(rename = "window-id")]
126 pub window_id: String,
127 pub status: String,
128 #[cfg(feature = "catch-all-fields")]
132 #[cfg_attr(docsrs, doc(cfg(feature = "catch-all-fields")))]
133 #[serde(flatten)]
134 #[cfg_attr(feature = "builders", builder(default))]
135 pub other: serde_json::Map<String, Value>,
136}
137
138#[non_exhaustive]
139#[cfg_attr(feature = "builders", derive(Builder))]
140#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
141#[serde(rename_all = "camelCase")]
142pub struct MaintenanceWindowExecutionStateChange {
143 #[serde(rename = "start-time")]
144 pub start_time: String,
145 #[serde(rename = "end-time")]
146 pub end_time: String,
147 #[serde(rename = "window-id")]
148 pub window_id: String,
149 #[serde(rename = "window-execution-id")]
150 pub window_execution_id: String,
151 pub status: String,
152 #[cfg(feature = "catch-all-fields")]
156 #[cfg_attr(docsrs, doc(cfg(feature = "catch-all-fields")))]
157 #[serde(flatten)]
158 #[cfg_attr(feature = "builders", builder(default))]
159 pub other: serde_json::Map<String, Value>,
160}
161
162#[non_exhaustive]
163#[cfg_attr(feature = "builders", derive(Builder))]
164#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
165#[serde(rename_all = "camelCase")]
166pub struct MaintenanceWindowTaskExecutionStateChange {
167 #[serde(rename = "start-time")]
168 pub start_time: String,
169 #[serde(rename = "task-execution-id")]
170 pub task_execution_id: String,
171 #[serde(rename = "end-time")]
172 pub end_time: String,
173 #[serde(rename = "window-id")]
174 pub window_id: String,
175 #[serde(rename = "window-execution-id")]
176 pub window_execution_id: String,
177 pub status: String,
178 #[cfg(feature = "catch-all-fields")]
182 #[cfg_attr(docsrs, doc(cfg(feature = "catch-all-fields")))]
183 #[serde(flatten)]
184 #[cfg_attr(feature = "builders", builder(default))]
185 pub other: serde_json::Map<String, Value>,
186}
187
188#[non_exhaustive]
189#[cfg_attr(feature = "builders", derive(Builder))]
190#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
191#[serde(rename_all = "camelCase")]
192pub struct MaintenanceWindowTaskTargetInvocationStateChange {
193 #[serde(rename = "start-time")]
194 pub start_time: String,
195 #[serde(rename = "end-time")]
196 pub end_time: String,
197 #[serde(rename = "window-id")]
198 pub window_id: String,
199 #[serde(rename = "window-execution-id")]
200 pub window_execution_id: String,
201 #[serde(rename = "task-execution-id")]
202 pub task_execution_id: String,
203 #[serde(rename = "window-target-id")]
204 pub window_target_id: String,
205 pub status: String,
206 #[serde(rename = "owner-information")]
207 pub owner_information: String,
208 #[cfg(feature = "catch-all-fields")]
212 #[cfg_attr(docsrs, doc(cfg(feature = "catch-all-fields")))]
213 #[serde(flatten)]
214 #[cfg_attr(feature = "builders", builder(default))]
215 pub other: serde_json::Map<String, Value>,
216}
217
218#[non_exhaustive]
219#[cfg_attr(feature = "builders", derive(Builder))]
220#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
221#[serde(rename_all = "camelCase")]
222pub struct MaintenanceWindowStateChange {
223 #[serde(rename = "window-id")]
224 pub window_id: String,
225 pub status: String,
226 #[cfg(feature = "catch-all-fields")]
230 #[cfg_attr(docsrs, doc(cfg(feature = "catch-all-fields")))]
231 #[serde(flatten)]
232 #[cfg_attr(feature = "builders", builder(default))]
233 pub other: serde_json::Map<String, Value>,
234}
235
236#[non_exhaustive]
237#[cfg_attr(feature = "builders", derive(Builder))]
238#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
239#[serde(rename_all = "camelCase")]
240pub struct ParameterStoreStateChange {
241 pub operation: String,
242 pub name: String,
243 pub r#type: String,
244 pub description: String,
245 #[cfg(feature = "catch-all-fields")]
249 #[cfg_attr(docsrs, doc(cfg(feature = "catch-all-fields")))]
250 #[serde(flatten)]
251 #[cfg_attr(feature = "builders", builder(default))]
252 pub other: serde_json::Map<String, Value>,
253}
254
255#[non_exhaustive]
256#[cfg_attr(feature = "builders", derive(Builder))]
257#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
258#[serde(rename_all = "camelCase")]
259pub struct EC2CommandStatusChange {
260 #[serde(rename = "command-id")]
261 pub command_id: String,
262 #[serde(rename = "document-name")]
263 pub document_name: String,
264 #[serde(rename = "expire-after")]
265 pub expire_after: String,
266 pub parameters: HashMap<String, String>,
267 #[serde(rename = "requested-date-time")]
268 pub requested_date_time: String,
269 pub status: String,
270 #[cfg(feature = "catch-all-fields")]
274 #[cfg_attr(docsrs, doc(cfg(feature = "catch-all-fields")))]
275 #[serde(flatten)]
276 #[cfg_attr(feature = "builders", builder(default))]
277 pub other: serde_json::Map<String, Value>,
278}
279
280#[non_exhaustive]
281#[cfg_attr(feature = "builders", derive(Builder))]
282#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
283#[serde(rename_all = "camelCase")]
284pub struct EC2CommandInvocationStatusChange {
285 #[serde(rename = "command-id")]
286 pub command_id: String,
287 #[serde(rename = "document-name")]
288 pub document_name: String,
289 #[serde(rename = "instance-id")]
290 pub instance_id: String,
291 #[serde(rename = "requested-date-time")]
292 pub requested_date_time: String,
293 pub status: String,
294 #[cfg(feature = "catch-all-fields")]
298 #[cfg_attr(docsrs, doc(cfg(feature = "catch-all-fields")))]
299 #[serde(flatten)]
300 #[cfg_attr(feature = "builders", builder(default))]
301 pub other: serde_json::Map<String, Value>,
302}
303
304#[non_exhaustive]
305#[cfg_attr(feature = "builders", derive(Builder))]
306#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
307#[serde(rename_all = "camelCase")]
308pub struct EC2StateManagerAssociationStateChange {
309 #[serde(rename = "association-id")]
310 pub association_id: String,
311 #[serde(rename = "document-name")]
312 pub document_name: String,
313 #[serde(rename = "association-version")]
314 pub association_version: String,
315 #[serde(rename = "document-version")]
316 pub document_version: String,
317 pub targets: String,
318 #[serde(rename = "creation-date")]
319 pub creation_date: String,
320 #[serde(rename = "last-successful-execution-date")]
321 pub last_successful_execution_date: String,
322 #[serde(rename = "last-execution-date")]
323 pub last_execution_date: String,
324 #[serde(rename = "last-updated-date")]
325 pub last_updated_date: String,
326 pub status: String,
327 #[serde(rename = "association-status-aggregated-count")]
328 pub association_status_aggregated_count: String,
329 #[serde(rename = "schedule-expression")]
330 pub schedule_expression: String,
331 #[serde(rename = "association-cwe-version")]
332 pub association_cwe_version: String,
333 #[cfg(feature = "catch-all-fields")]
337 #[cfg_attr(docsrs, doc(cfg(feature = "catch-all-fields")))]
338 #[serde(flatten)]
339 #[cfg_attr(feature = "builders", builder(default))]
340 pub other: serde_json::Map<String, Value>,
341}
342
343#[non_exhaustive]
344#[cfg_attr(feature = "builders", derive(Builder))]
345#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
346#[serde(rename_all = "camelCase")]
347pub struct EC2StateManagerInstanceAssociationStateChange {
348 #[serde(rename = "association-id")]
349 pub association_id: String,
350 #[serde(rename = "instance-id")]
351 pub instance_id: String,
352 #[serde(rename = "document-name")]
353 pub document_name: String,
354 #[serde(rename = "document-version")]
355 pub document_version: String,
356 pub targets: String,
357 #[serde(rename = "creation-date")]
358 pub creation_date: String,
359 #[serde(rename = "last-successful-execution-date")]
360 pub last_successful_execution_date: String,
361 #[serde(rename = "last-execution-date")]
362 pub last_execution_date: String,
363 pub status: String,
364 #[serde(rename = "detailed-status")]
365 pub detailed_status: String,
366 #[serde(rename = "error-code")]
367 pub error_code: String,
368 #[serde(rename = "execution-summary")]
369 pub execution_summary: String,
370 #[serde(rename = "output-url")]
371 pub output_url: String,
372 #[serde(rename = "instance-association-cwe-version")]
373 pub instance_association_cwe_version: String,
374 #[cfg(feature = "catch-all-fields")]
378 #[cfg_attr(docsrs, doc(cfg(feature = "catch-all-fields")))]
379 #[serde(flatten)]
380 #[cfg_attr(feature = "builders", builder(default))]
381 pub other: serde_json::Map<String, Value>,
382}