1use std::collections::HashMap;
6
7use serde::{Deserialize, Serialize};
8use serde_json::Value;
9
10#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
16#[serde(rename_all = "PascalCase")]
17pub struct Tag {
18 pub key: String,
20 pub value: String,
22}
23
24#[derive(Debug, Clone, Serialize, Deserialize)]
30#[serde(rename_all = "PascalCase")]
31pub struct Target {
32 pub id: String,
34
35 pub arn: String,
37
38 #[serde(skip_serializing_if = "Option::is_none")]
40 pub role_arn: Option<String>,
41
42 #[serde(skip_serializing_if = "Option::is_none")]
44 pub input: Option<String>,
45
46 #[serde(skip_serializing_if = "Option::is_none")]
48 pub input_path: Option<String>,
49
50 #[serde(skip_serializing_if = "Option::is_none")]
52 pub input_transformer: Option<InputTransformer>,
53
54 #[serde(skip_serializing_if = "Option::is_none")]
56 pub run_command_parameters: Option<Value>,
57
58 #[serde(skip_serializing_if = "Option::is_none")]
60 pub ecs_parameters: Option<Value>,
61
62 #[serde(skip_serializing_if = "Option::is_none")]
64 pub batch_parameters: Option<Value>,
65
66 #[serde(skip_serializing_if = "Option::is_none")]
68 pub sqs_parameters: Option<Value>,
69
70 #[serde(skip_serializing_if = "Option::is_none")]
72 pub http_parameters: Option<Value>,
73
74 #[serde(skip_serializing_if = "Option::is_none")]
76 pub redshift_data_parameters: Option<Value>,
77
78 #[serde(skip_serializing_if = "Option::is_none")]
80 pub sage_maker_pipeline_parameters: Option<Value>,
81
82 #[serde(skip_serializing_if = "Option::is_none")]
84 pub dead_letter_config: Option<DeadLetterConfig>,
85
86 #[serde(skip_serializing_if = "Option::is_none")]
88 pub retry_policy: Option<RetryPolicy>,
89
90 #[serde(skip_serializing_if = "Option::is_none")]
92 pub app_sync_parameters: Option<Value>,
93}
94
95#[derive(Debug, Clone, Serialize, Deserialize)]
101#[serde(rename_all = "PascalCase")]
102pub struct InputTransformer {
103 #[serde(default, skip_serializing_if = "HashMap::is_empty")]
105 pub input_paths_map: HashMap<String, String>,
106
107 pub input_template: String,
109}
110
111#[derive(Debug, Clone, Serialize, Deserialize)]
117#[serde(rename_all = "PascalCase")]
118pub struct DeadLetterConfig {
119 #[serde(skip_serializing_if = "Option::is_none")]
121 pub arn: Option<String>,
122}
123
124#[derive(Debug, Clone, Serialize, Deserialize)]
130#[serde(rename_all = "PascalCase")]
131pub struct RetryPolicy {
132 #[serde(skip_serializing_if = "Option::is_none")]
134 pub maximum_retry_attempts: Option<i32>,
135
136 #[serde(skip_serializing_if = "Option::is_none")]
138 pub maximum_event_age_in_seconds: Option<i32>,
139}
140
141#[derive(Debug, Clone, Default, Serialize, Deserialize)]
147#[serde(rename_all = "PascalCase")]
148pub struct Rule {
149 #[serde(skip_serializing_if = "Option::is_none")]
151 pub name: Option<String>,
152
153 #[serde(skip_serializing_if = "Option::is_none")]
155 pub arn: Option<String>,
156
157 #[serde(skip_serializing_if = "Option::is_none")]
159 pub event_pattern: Option<String>,
160
161 #[serde(skip_serializing_if = "Option::is_none")]
163 pub schedule_expression: Option<String>,
164
165 #[serde(skip_serializing_if = "Option::is_none")]
167 pub state: Option<String>,
168
169 #[serde(skip_serializing_if = "Option::is_none")]
171 pub description: Option<String>,
172
173 #[serde(skip_serializing_if = "Option::is_none")]
175 pub role_arn: Option<String>,
176
177 #[serde(skip_serializing_if = "Option::is_none")]
179 pub managed_by: Option<String>,
180
181 #[serde(skip_serializing_if = "Option::is_none")]
183 pub event_bus_name: Option<String>,
184}
185
186#[derive(Debug, Clone, Default, Serialize, Deserialize)]
192#[serde(rename_all = "PascalCase")]
193pub struct EventBus {
194 #[serde(skip_serializing_if = "Option::is_none")]
196 pub name: Option<String>,
197
198 #[serde(skip_serializing_if = "Option::is_none")]
200 pub arn: Option<String>,
201
202 #[serde(skip_serializing_if = "Option::is_none")]
204 pub description: Option<String>,
205
206 #[serde(skip_serializing_if = "Option::is_none")]
208 pub policy: Option<String>,
209}
210
211#[derive(Debug, Clone, Default, Serialize, Deserialize)]
217#[serde(rename_all = "PascalCase")]
218pub struct PutEventsResultEntry {
219 #[serde(skip_serializing_if = "Option::is_none")]
221 pub event_id: Option<String>,
222
223 #[serde(skip_serializing_if = "Option::is_none")]
225 pub error_code: Option<String>,
226
227 #[serde(skip_serializing_if = "Option::is_none")]
229 pub error_message: Option<String>,
230}
231
232#[derive(Debug, Clone, Default, Serialize, Deserialize)]
234#[serde(rename_all = "PascalCase")]
235pub struct PutTargetsResultEntry {
236 #[serde(skip_serializing_if = "Option::is_none")]
238 pub target_id: Option<String>,
239
240 #[serde(skip_serializing_if = "Option::is_none")]
242 pub error_code: Option<String>,
243
244 #[serde(skip_serializing_if = "Option::is_none")]
246 pub error_message: Option<String>,
247}
248
249#[derive(Debug, Clone, Default, Serialize, Deserialize)]
251#[serde(rename_all = "PascalCase")]
252pub struct RemoveTargetsResultEntry {
253 #[serde(skip_serializing_if = "Option::is_none")]
255 pub target_id: Option<String>,
256
257 #[serde(skip_serializing_if = "Option::is_none")]
259 pub error_code: Option<String>,
260
261 #[serde(skip_serializing_if = "Option::is_none")]
263 pub error_message: Option<String>,
264}
265
266#[derive(Debug, Clone, Serialize, Deserialize)]
272#[serde(rename_all = "PascalCase")]
273pub struct Condition {
274 #[serde(rename = "Type")]
276 pub condition_type: String,
277
278 pub key: String,
280
281 pub value: String,
283}