Skip to main content

rustack_cloudwatch_model/
input.rs

1//! Auto-generated from AWS CloudWatch Smithy model. DO NOT EDIT.
2
3use serde::{Deserialize, Serialize};
4
5use crate::types::{
6    AlarmType, AnomalyDetectorConfiguration, AnomalyDetectorType, ComparisonOperator, Dimension,
7    DimensionFilter, EntityMetricData, HistoryItemType, LabelOptions, ManagedRule,
8    MetricCharacteristics, MetricDataQuery, MetricDatum, MetricMathAnomalyDetector,
9    MetricStreamFilter, MetricStreamOutputFormat, MetricStreamStatisticsConfiguration,
10    RecentlyActive, ScanBy, SingleMetricAnomalyDetector, StandardUnit, StateValue, Statistic, Tag,
11};
12
13/// CloudWatch DeleteAlarmsInput.
14#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15#[serde(rename_all = "PascalCase")]
16pub struct DeleteAlarmsInput {
17    #[serde(default, skip_serializing_if = "Vec::is_empty")]
18    pub alarm_names: Vec<String>,
19}
20
21/// CloudWatch DeleteAnomalyDetectorInput.
22#[derive(Debug, Clone, Default, Serialize, Deserialize)]
23#[serde(rename_all = "PascalCase")]
24pub struct DeleteAnomalyDetectorInput {
25    #[serde(default, skip_serializing_if = "Vec::is_empty")]
26    pub dimensions: Vec<Dimension>,
27    #[serde(skip_serializing_if = "Option::is_none")]
28    pub metric_math_anomaly_detector: Option<MetricMathAnomalyDetector>,
29    #[serde(skip_serializing_if = "Option::is_none")]
30    pub metric_name: Option<String>,
31    #[serde(skip_serializing_if = "Option::is_none")]
32    pub namespace: Option<String>,
33    #[serde(skip_serializing_if = "Option::is_none")]
34    pub single_metric_anomaly_detector: Option<SingleMetricAnomalyDetector>,
35    #[serde(skip_serializing_if = "Option::is_none")]
36    pub stat: Option<String>,
37}
38
39/// CloudWatch DeleteDashboardsInput.
40#[derive(Debug, Clone, Default, Serialize, Deserialize)]
41#[serde(rename_all = "PascalCase")]
42pub struct DeleteDashboardsInput {
43    #[serde(default, skip_serializing_if = "Vec::is_empty")]
44    pub dashboard_names: Vec<String>,
45}
46
47/// CloudWatch DeleteInsightRulesInput.
48#[derive(Debug, Clone, Default, Serialize, Deserialize)]
49#[serde(rename_all = "PascalCase")]
50pub struct DeleteInsightRulesInput {
51    #[serde(default, skip_serializing_if = "Vec::is_empty")]
52    pub rule_names: Vec<String>,
53}
54
55/// CloudWatch DeleteMetricStreamInput.
56#[derive(Debug, Clone, Default, Serialize, Deserialize)]
57#[serde(rename_all = "PascalCase")]
58pub struct DeleteMetricStreamInput {
59    pub name: String,
60}
61
62/// CloudWatch DescribeAlarmHistoryInput.
63#[derive(Debug, Clone, Default, Serialize, Deserialize)]
64#[serde(rename_all = "PascalCase")]
65pub struct DescribeAlarmHistoryInput {
66    #[serde(skip_serializing_if = "Option::is_none")]
67    pub alarm_contributor_id: Option<String>,
68    #[serde(skip_serializing_if = "Option::is_none")]
69    pub alarm_name: Option<String>,
70    #[serde(default, skip_serializing_if = "Vec::is_empty")]
71    pub alarm_types: Vec<AlarmType>,
72    #[serde(skip_serializing_if = "Option::is_none")]
73    pub end_date: Option<chrono::DateTime<chrono::Utc>>,
74    #[serde(skip_serializing_if = "Option::is_none")]
75    pub history_item_type: Option<HistoryItemType>,
76    #[serde(skip_serializing_if = "Option::is_none")]
77    pub max_records: Option<i32>,
78    #[serde(skip_serializing_if = "Option::is_none")]
79    pub next_token: Option<String>,
80    #[serde(skip_serializing_if = "Option::is_none")]
81    pub scan_by: Option<ScanBy>,
82    #[serde(skip_serializing_if = "Option::is_none")]
83    pub start_date: Option<chrono::DateTime<chrono::Utc>>,
84}
85
86/// CloudWatch DescribeAlarmsForMetricInput.
87#[derive(Debug, Clone, Default, Serialize, Deserialize)]
88#[serde(rename_all = "PascalCase")]
89pub struct DescribeAlarmsForMetricInput {
90    #[serde(default, skip_serializing_if = "Vec::is_empty")]
91    pub dimensions: Vec<Dimension>,
92    #[serde(skip_serializing_if = "Option::is_none")]
93    pub extended_statistic: Option<String>,
94    pub metric_name: String,
95    pub namespace: String,
96    #[serde(skip_serializing_if = "Option::is_none")]
97    pub period: Option<i32>,
98    #[serde(skip_serializing_if = "Option::is_none")]
99    pub statistic: Option<Statistic>,
100    #[serde(skip_serializing_if = "Option::is_none")]
101    pub unit: Option<StandardUnit>,
102}
103
104/// CloudWatch DescribeAlarmsInput.
105#[derive(Debug, Clone, Default, Serialize, Deserialize)]
106#[serde(rename_all = "PascalCase")]
107pub struct DescribeAlarmsInput {
108    #[serde(skip_serializing_if = "Option::is_none")]
109    pub action_prefix: Option<String>,
110    #[serde(skip_serializing_if = "Option::is_none")]
111    pub alarm_name_prefix: Option<String>,
112    #[serde(default, skip_serializing_if = "Vec::is_empty")]
113    pub alarm_names: Vec<String>,
114    #[serde(default, skip_serializing_if = "Vec::is_empty")]
115    pub alarm_types: Vec<AlarmType>,
116    #[serde(skip_serializing_if = "Option::is_none")]
117    pub children_of_alarm_name: Option<String>,
118    #[serde(skip_serializing_if = "Option::is_none")]
119    pub max_records: Option<i32>,
120    #[serde(skip_serializing_if = "Option::is_none")]
121    pub next_token: Option<String>,
122    #[serde(skip_serializing_if = "Option::is_none")]
123    pub parents_of_alarm_name: Option<String>,
124    #[serde(skip_serializing_if = "Option::is_none")]
125    pub state_value: Option<StateValue>,
126}
127
128/// CloudWatch DescribeAnomalyDetectorsInput.
129#[derive(Debug, Clone, Default, Serialize, Deserialize)]
130#[serde(rename_all = "PascalCase")]
131pub struct DescribeAnomalyDetectorsInput {
132    #[serde(default, skip_serializing_if = "Vec::is_empty")]
133    pub anomaly_detector_types: Vec<AnomalyDetectorType>,
134    #[serde(default, skip_serializing_if = "Vec::is_empty")]
135    pub dimensions: Vec<Dimension>,
136    #[serde(skip_serializing_if = "Option::is_none")]
137    pub max_results: Option<i32>,
138    #[serde(skip_serializing_if = "Option::is_none")]
139    pub metric_name: Option<String>,
140    #[serde(skip_serializing_if = "Option::is_none")]
141    pub namespace: Option<String>,
142    #[serde(skip_serializing_if = "Option::is_none")]
143    pub next_token: Option<String>,
144}
145
146/// CloudWatch DescribeInsightRulesInput.
147#[derive(Debug, Clone, Default, Serialize, Deserialize)]
148#[serde(rename_all = "PascalCase")]
149pub struct DescribeInsightRulesInput {
150    #[serde(skip_serializing_if = "Option::is_none")]
151    pub max_results: Option<i32>,
152    #[serde(skip_serializing_if = "Option::is_none")]
153    pub next_token: Option<String>,
154}
155
156/// CloudWatch DisableAlarmActionsInput.
157#[derive(Debug, Clone, Default, Serialize, Deserialize)]
158#[serde(rename_all = "PascalCase")]
159pub struct DisableAlarmActionsInput {
160    #[serde(default, skip_serializing_if = "Vec::is_empty")]
161    pub alarm_names: Vec<String>,
162}
163
164/// CloudWatch EnableAlarmActionsInput.
165#[derive(Debug, Clone, Default, Serialize, Deserialize)]
166#[serde(rename_all = "PascalCase")]
167pub struct EnableAlarmActionsInput {
168    #[serde(default, skip_serializing_if = "Vec::is_empty")]
169    pub alarm_names: Vec<String>,
170}
171
172/// CloudWatch GetDashboardInput.
173#[derive(Debug, Clone, Default, Serialize, Deserialize)]
174#[serde(rename_all = "PascalCase")]
175pub struct GetDashboardInput {
176    pub dashboard_name: String,
177}
178
179/// CloudWatch GetMetricDataInput.
180#[derive(Debug, Clone, Default, Serialize, Deserialize)]
181#[serde(rename_all = "PascalCase")]
182pub struct GetMetricDataInput {
183    pub end_time: chrono::DateTime<chrono::Utc>,
184    #[serde(skip_serializing_if = "Option::is_none")]
185    pub label_options: Option<LabelOptions>,
186    #[serde(skip_serializing_if = "Option::is_none")]
187    pub max_datapoints: Option<i32>,
188    #[serde(default, skip_serializing_if = "Vec::is_empty")]
189    pub metric_data_queries: Vec<MetricDataQuery>,
190    #[serde(skip_serializing_if = "Option::is_none")]
191    pub next_token: Option<String>,
192    #[serde(skip_serializing_if = "Option::is_none")]
193    pub scan_by: Option<ScanBy>,
194    pub start_time: chrono::DateTime<chrono::Utc>,
195}
196
197/// CloudWatch GetMetricStatisticsInput.
198#[derive(Debug, Clone, Default, Serialize, Deserialize)]
199#[serde(rename_all = "PascalCase")]
200pub struct GetMetricStatisticsInput {
201    #[serde(default, skip_serializing_if = "Vec::is_empty")]
202    pub dimensions: Vec<Dimension>,
203    pub end_time: chrono::DateTime<chrono::Utc>,
204    #[serde(default, skip_serializing_if = "Vec::is_empty")]
205    pub extended_statistics: Vec<String>,
206    pub metric_name: String,
207    pub namespace: String,
208    pub period: i32,
209    pub start_time: chrono::DateTime<chrono::Utc>,
210    #[serde(default, skip_serializing_if = "Vec::is_empty")]
211    pub statistics: Vec<Statistic>,
212    #[serde(skip_serializing_if = "Option::is_none")]
213    pub unit: Option<StandardUnit>,
214}
215
216/// CloudWatch GetMetricStreamInput.
217#[derive(Debug, Clone, Default, Serialize, Deserialize)]
218#[serde(rename_all = "PascalCase")]
219pub struct GetMetricStreamInput {
220    pub name: String,
221}
222
223/// CloudWatch ListDashboardsInput.
224#[derive(Debug, Clone, Default, Serialize, Deserialize)]
225#[serde(rename_all = "PascalCase")]
226pub struct ListDashboardsInput {
227    #[serde(skip_serializing_if = "Option::is_none")]
228    pub dashboard_name_prefix: Option<String>,
229    #[serde(skip_serializing_if = "Option::is_none")]
230    pub next_token: Option<String>,
231}
232
233/// CloudWatch ListMetricStreamsInput.
234#[derive(Debug, Clone, Default, Serialize, Deserialize)]
235#[serde(rename_all = "PascalCase")]
236pub struct ListMetricStreamsInput {
237    #[serde(skip_serializing_if = "Option::is_none")]
238    pub max_results: Option<i32>,
239    #[serde(skip_serializing_if = "Option::is_none")]
240    pub next_token: Option<String>,
241}
242
243/// CloudWatch ListMetricsInput.
244#[derive(Debug, Clone, Default, Serialize, Deserialize)]
245#[serde(rename_all = "PascalCase")]
246pub struct ListMetricsInput {
247    #[serde(default, skip_serializing_if = "Vec::is_empty")]
248    pub dimensions: Vec<DimensionFilter>,
249    #[serde(skip_serializing_if = "Option::is_none")]
250    pub include_linked_accounts: Option<bool>,
251    #[serde(skip_serializing_if = "Option::is_none")]
252    pub metric_name: Option<String>,
253    #[serde(skip_serializing_if = "Option::is_none")]
254    pub namespace: Option<String>,
255    #[serde(skip_serializing_if = "Option::is_none")]
256    pub next_token: Option<String>,
257    #[serde(skip_serializing_if = "Option::is_none")]
258    pub owning_account: Option<String>,
259    #[serde(skip_serializing_if = "Option::is_none")]
260    pub recently_active: Option<RecentlyActive>,
261}
262
263/// CloudWatch ListTagsForResourceInput.
264#[derive(Debug, Clone, Default, Serialize, Deserialize)]
265#[serde(rename_all = "PascalCase")]
266pub struct ListTagsForResourceInput {
267    #[serde(rename = "ResourceARN")]
268    pub resource_arn: String,
269}
270
271/// CloudWatch PutAnomalyDetectorInput.
272#[derive(Debug, Clone, Default, Serialize, Deserialize)]
273#[serde(rename_all = "PascalCase")]
274pub struct PutAnomalyDetectorInput {
275    #[serde(skip_serializing_if = "Option::is_none")]
276    pub configuration: Option<AnomalyDetectorConfiguration>,
277    #[serde(default, skip_serializing_if = "Vec::is_empty")]
278    pub dimensions: Vec<Dimension>,
279    #[serde(skip_serializing_if = "Option::is_none")]
280    pub metric_characteristics: Option<MetricCharacteristics>,
281    #[serde(skip_serializing_if = "Option::is_none")]
282    pub metric_math_anomaly_detector: Option<MetricMathAnomalyDetector>,
283    #[serde(skip_serializing_if = "Option::is_none")]
284    pub metric_name: Option<String>,
285    #[serde(skip_serializing_if = "Option::is_none")]
286    pub namespace: Option<String>,
287    #[serde(skip_serializing_if = "Option::is_none")]
288    pub single_metric_anomaly_detector: Option<SingleMetricAnomalyDetector>,
289    #[serde(skip_serializing_if = "Option::is_none")]
290    pub stat: Option<String>,
291}
292
293/// CloudWatch PutCompositeAlarmInput.
294#[derive(Debug, Clone, Default, Serialize, Deserialize)]
295#[serde(rename_all = "PascalCase")]
296pub struct PutCompositeAlarmInput {
297    #[serde(skip_serializing_if = "Option::is_none")]
298    pub actions_enabled: Option<bool>,
299    #[serde(skip_serializing_if = "Option::is_none")]
300    pub actions_suppressor: Option<String>,
301    #[serde(skip_serializing_if = "Option::is_none")]
302    pub actions_suppressor_extension_period: Option<i32>,
303    #[serde(skip_serializing_if = "Option::is_none")]
304    pub actions_suppressor_wait_period: Option<i32>,
305    #[serde(default, skip_serializing_if = "Vec::is_empty")]
306    pub alarm_actions: Vec<String>,
307    #[serde(skip_serializing_if = "Option::is_none")]
308    pub alarm_description: Option<String>,
309    pub alarm_name: String,
310    pub alarm_rule: String,
311    #[serde(default, skip_serializing_if = "Vec::is_empty")]
312    pub insufficient_data_actions: Vec<String>,
313    #[serde(rename = "OKActions")]
314    #[serde(default, skip_serializing_if = "Vec::is_empty")]
315    pub ok_actions: Vec<String>,
316    #[serde(default, skip_serializing_if = "Vec::is_empty")]
317    pub tags: Vec<Tag>,
318}
319
320/// CloudWatch PutDashboardInput.
321#[derive(Debug, Clone, Default, Serialize, Deserialize)]
322#[serde(rename_all = "PascalCase")]
323pub struct PutDashboardInput {
324    pub dashboard_body: String,
325    pub dashboard_name: String,
326}
327
328/// CloudWatch PutInsightRuleInput.
329#[derive(Debug, Clone, Default, Serialize, Deserialize)]
330#[serde(rename_all = "PascalCase")]
331pub struct PutInsightRuleInput {
332    #[serde(skip_serializing_if = "Option::is_none")]
333    pub apply_on_transformed_logs: Option<bool>,
334    pub rule_definition: String,
335    pub rule_name: String,
336    #[serde(skip_serializing_if = "Option::is_none")]
337    pub rule_state: Option<String>,
338    #[serde(default, skip_serializing_if = "Vec::is_empty")]
339    pub tags: Vec<Tag>,
340}
341
342/// CloudWatch PutManagedInsightRulesInput.
343#[derive(Debug, Clone, Default, Serialize, Deserialize)]
344#[serde(rename_all = "PascalCase")]
345pub struct PutManagedInsightRulesInput {
346    #[serde(default, skip_serializing_if = "Vec::is_empty")]
347    pub managed_rules: Vec<ManagedRule>,
348}
349
350/// CloudWatch PutMetricAlarmInput.
351#[derive(Debug, Clone, Default, Serialize, Deserialize)]
352#[serde(rename_all = "PascalCase")]
353pub struct PutMetricAlarmInput {
354    #[serde(skip_serializing_if = "Option::is_none")]
355    pub actions_enabled: Option<bool>,
356    #[serde(default, skip_serializing_if = "Vec::is_empty")]
357    pub alarm_actions: Vec<String>,
358    #[serde(skip_serializing_if = "Option::is_none")]
359    pub alarm_description: Option<String>,
360    pub alarm_name: String,
361    pub comparison_operator: ComparisonOperator,
362    #[serde(skip_serializing_if = "Option::is_none")]
363    pub datapoints_to_alarm: Option<i32>,
364    #[serde(default, skip_serializing_if = "Vec::is_empty")]
365    pub dimensions: Vec<Dimension>,
366    #[serde(skip_serializing_if = "Option::is_none")]
367    pub evaluate_low_sample_count_percentile: Option<String>,
368    pub evaluation_periods: i32,
369    #[serde(skip_serializing_if = "Option::is_none")]
370    pub extended_statistic: Option<String>,
371    #[serde(default, skip_serializing_if = "Vec::is_empty")]
372    pub insufficient_data_actions: Vec<String>,
373    #[serde(skip_serializing_if = "Option::is_none")]
374    pub metric_name: Option<String>,
375    #[serde(default, skip_serializing_if = "Vec::is_empty")]
376    pub metrics: Vec<MetricDataQuery>,
377    #[serde(skip_serializing_if = "Option::is_none")]
378    pub namespace: Option<String>,
379    #[serde(rename = "OKActions")]
380    #[serde(default, skip_serializing_if = "Vec::is_empty")]
381    pub ok_actions: Vec<String>,
382    #[serde(skip_serializing_if = "Option::is_none")]
383    pub period: Option<i32>,
384    #[serde(skip_serializing_if = "Option::is_none")]
385    pub statistic: Option<Statistic>,
386    #[serde(default, skip_serializing_if = "Vec::is_empty")]
387    pub tags: Vec<Tag>,
388    #[serde(skip_serializing_if = "Option::is_none")]
389    pub threshold: Option<f64>,
390    #[serde(skip_serializing_if = "Option::is_none")]
391    pub threshold_metric_id: Option<String>,
392    #[serde(skip_serializing_if = "Option::is_none")]
393    pub treat_missing_data: Option<String>,
394    #[serde(skip_serializing_if = "Option::is_none")]
395    pub unit: Option<StandardUnit>,
396}
397
398/// CloudWatch PutMetricDataInput.
399#[derive(Debug, Clone, Default, Serialize, Deserialize)]
400#[serde(rename_all = "PascalCase")]
401pub struct PutMetricDataInput {
402    #[serde(default, skip_serializing_if = "Vec::is_empty")]
403    pub entity_metric_data: Vec<EntityMetricData>,
404    #[serde(default, skip_serializing_if = "Vec::is_empty")]
405    pub metric_data: Vec<MetricDatum>,
406    pub namespace: String,
407    #[serde(skip_serializing_if = "Option::is_none")]
408    pub strict_entity_validation: Option<bool>,
409}
410
411/// CloudWatch PutMetricStreamInput.
412#[derive(Debug, Clone, Default, Serialize, Deserialize)]
413#[serde(rename_all = "PascalCase")]
414pub struct PutMetricStreamInput {
415    #[serde(default, skip_serializing_if = "Vec::is_empty")]
416    pub exclude_filters: Vec<MetricStreamFilter>,
417    pub firehose_arn: String,
418    #[serde(default, skip_serializing_if = "Vec::is_empty")]
419    pub include_filters: Vec<MetricStreamFilter>,
420    #[serde(skip_serializing_if = "Option::is_none")]
421    pub include_linked_accounts_metrics: Option<bool>,
422    pub name: String,
423    pub output_format: MetricStreamOutputFormat,
424    pub role_arn: String,
425    #[serde(default, skip_serializing_if = "Vec::is_empty")]
426    pub statistics_configurations: Vec<MetricStreamStatisticsConfiguration>,
427    #[serde(default, skip_serializing_if = "Vec::is_empty")]
428    pub tags: Vec<Tag>,
429}
430
431/// CloudWatch SetAlarmStateInput.
432#[derive(Debug, Clone, Default, Serialize, Deserialize)]
433#[serde(rename_all = "PascalCase")]
434pub struct SetAlarmStateInput {
435    pub alarm_name: String,
436    pub state_reason: String,
437    #[serde(skip_serializing_if = "Option::is_none")]
438    pub state_reason_data: Option<String>,
439    pub state_value: StateValue,
440}
441
442/// CloudWatch TagResourceInput.
443#[derive(Debug, Clone, Default, Serialize, Deserialize)]
444#[serde(rename_all = "PascalCase")]
445pub struct TagResourceInput {
446    #[serde(rename = "ResourceARN")]
447    pub resource_arn: String,
448    #[serde(default, skip_serializing_if = "Vec::is_empty")]
449    pub tags: Vec<Tag>,
450}
451
452/// CloudWatch UntagResourceInput.
453#[derive(Debug, Clone, Default, Serialize, Deserialize)]
454#[serde(rename_all = "PascalCase")]
455pub struct UntagResourceInput {
456    #[serde(rename = "ResourceARN")]
457    pub resource_arn: String,
458    #[serde(default, skip_serializing_if = "Vec::is_empty")]
459    pub tag_keys: Vec<String>,
460}