1use serde::{Deserialize, Serialize};
4
5use crate::types::{
6 AlarmHistoryItem, AnomalyDetector, CompositeAlarm, DashboardEntry, DashboardValidationMessage,
7 Datapoint, InsightRule, MessageData, Metric, MetricAlarm, MetricDataResult, MetricStreamEntry,
8 MetricStreamFilter, MetricStreamOutputFormat, MetricStreamStatisticsConfiguration,
9 PartialFailure, Tag,
10};
11
12#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14#[serde(rename_all = "PascalCase")]
15pub struct DeleteAnomalyDetectorOutput {}
16
17#[derive(Debug, Clone, Default, Serialize, Deserialize)]
19#[serde(rename_all = "PascalCase")]
20pub struct DeleteDashboardsOutput {}
21
22#[derive(Debug, Clone, Default, Serialize, Deserialize)]
24#[serde(rename_all = "PascalCase")]
25pub struct DeleteInsightRulesOutput {
26 #[serde(default, skip_serializing_if = "Vec::is_empty")]
27 pub failures: Vec<PartialFailure>,
28}
29
30#[derive(Debug, Clone, Default, Serialize, Deserialize)]
32#[serde(rename_all = "PascalCase")]
33pub struct DeleteMetricStreamOutput {}
34
35#[derive(Debug, Clone, Default, Serialize, Deserialize)]
37#[serde(rename_all = "PascalCase")]
38pub struct DescribeAlarmHistoryOutput {
39 #[serde(default, skip_serializing_if = "Vec::is_empty")]
40 pub alarm_history_items: Vec<AlarmHistoryItem>,
41 #[serde(skip_serializing_if = "Option::is_none")]
42 pub next_token: Option<String>,
43}
44
45#[derive(Debug, Clone, Default, Serialize, Deserialize)]
47#[serde(rename_all = "PascalCase")]
48pub struct DescribeAlarmsForMetricOutput {
49 #[serde(default, skip_serializing_if = "Vec::is_empty")]
50 pub metric_alarms: Vec<MetricAlarm>,
51}
52
53#[derive(Debug, Clone, Default, Serialize, Deserialize)]
55#[serde(rename_all = "PascalCase")]
56pub struct DescribeAlarmsOutput {
57 #[serde(default, skip_serializing_if = "Vec::is_empty")]
58 pub composite_alarms: Vec<CompositeAlarm>,
59 #[serde(default, skip_serializing_if = "Vec::is_empty")]
60 pub metric_alarms: Vec<MetricAlarm>,
61 #[serde(skip_serializing_if = "Option::is_none")]
62 pub next_token: Option<String>,
63}
64
65#[derive(Debug, Clone, Default, Serialize, Deserialize)]
67#[serde(rename_all = "PascalCase")]
68pub struct DescribeAnomalyDetectorsOutput {
69 #[serde(default, skip_serializing_if = "Vec::is_empty")]
70 pub anomaly_detectors: Vec<AnomalyDetector>,
71 #[serde(skip_serializing_if = "Option::is_none")]
72 pub next_token: Option<String>,
73}
74
75#[derive(Debug, Clone, Default, Serialize, Deserialize)]
77#[serde(rename_all = "PascalCase")]
78pub struct DescribeInsightRulesOutput {
79 #[serde(default, skip_serializing_if = "Vec::is_empty")]
80 pub insight_rules: Vec<InsightRule>,
81 #[serde(skip_serializing_if = "Option::is_none")]
82 pub next_token: Option<String>,
83}
84
85#[derive(Debug, Clone, Default, Serialize, Deserialize)]
87#[serde(rename_all = "PascalCase")]
88pub struct GetDashboardOutput {
89 #[serde(skip_serializing_if = "Option::is_none")]
90 pub dashboard_arn: Option<String>,
91 #[serde(skip_serializing_if = "Option::is_none")]
92 pub dashboard_body: Option<String>,
93 #[serde(skip_serializing_if = "Option::is_none")]
94 pub dashboard_name: Option<String>,
95}
96
97#[derive(Debug, Clone, Default, Serialize, Deserialize)]
99#[serde(rename_all = "PascalCase")]
100pub struct GetMetricDataOutput {
101 #[serde(default, skip_serializing_if = "Vec::is_empty")]
102 pub messages: Vec<MessageData>,
103 #[serde(default, skip_serializing_if = "Vec::is_empty")]
104 pub metric_data_results: Vec<MetricDataResult>,
105 #[serde(skip_serializing_if = "Option::is_none")]
106 pub next_token: Option<String>,
107}
108
109#[derive(Debug, Clone, Default, Serialize, Deserialize)]
111#[serde(rename_all = "PascalCase")]
112pub struct GetMetricStatisticsOutput {
113 #[serde(default, skip_serializing_if = "Vec::is_empty")]
114 pub datapoints: Vec<Datapoint>,
115 #[serde(skip_serializing_if = "Option::is_none")]
116 pub label: Option<String>,
117}
118
119#[derive(Debug, Clone, Default, Serialize, Deserialize)]
121#[serde(rename_all = "PascalCase")]
122pub struct GetMetricStreamOutput {
123 #[serde(skip_serializing_if = "Option::is_none")]
124 pub arn: Option<String>,
125 #[serde(skip_serializing_if = "Option::is_none")]
126 pub creation_date: Option<chrono::DateTime<chrono::Utc>>,
127 #[serde(default, skip_serializing_if = "Vec::is_empty")]
128 pub exclude_filters: Vec<MetricStreamFilter>,
129 #[serde(skip_serializing_if = "Option::is_none")]
130 pub firehose_arn: Option<String>,
131 #[serde(default, skip_serializing_if = "Vec::is_empty")]
132 pub include_filters: Vec<MetricStreamFilter>,
133 #[serde(skip_serializing_if = "Option::is_none")]
134 pub include_linked_accounts_metrics: Option<bool>,
135 #[serde(skip_serializing_if = "Option::is_none")]
136 pub last_update_date: Option<chrono::DateTime<chrono::Utc>>,
137 #[serde(skip_serializing_if = "Option::is_none")]
138 pub name: Option<String>,
139 #[serde(skip_serializing_if = "Option::is_none")]
140 pub output_format: Option<MetricStreamOutputFormat>,
141 #[serde(skip_serializing_if = "Option::is_none")]
142 pub role_arn: Option<String>,
143 #[serde(skip_serializing_if = "Option::is_none")]
144 pub state: Option<String>,
145 #[serde(default, skip_serializing_if = "Vec::is_empty")]
146 pub statistics_configurations: Vec<MetricStreamStatisticsConfiguration>,
147}
148
149#[derive(Debug, Clone, Default, Serialize, Deserialize)]
151#[serde(rename_all = "PascalCase")]
152pub struct ListDashboardsOutput {
153 #[serde(default, skip_serializing_if = "Vec::is_empty")]
154 pub dashboard_entries: Vec<DashboardEntry>,
155 #[serde(skip_serializing_if = "Option::is_none")]
156 pub next_token: Option<String>,
157}
158
159#[derive(Debug, Clone, Default, Serialize, Deserialize)]
161#[serde(rename_all = "PascalCase")]
162pub struct ListMetricStreamsOutput {
163 #[serde(default, skip_serializing_if = "Vec::is_empty")]
164 pub entries: Vec<MetricStreamEntry>,
165 #[serde(skip_serializing_if = "Option::is_none")]
166 pub next_token: Option<String>,
167}
168
169#[derive(Debug, Clone, Default, Serialize, Deserialize)]
171#[serde(rename_all = "PascalCase")]
172pub struct ListMetricsOutput {
173 #[serde(default, skip_serializing_if = "Vec::is_empty")]
174 pub metrics: Vec<Metric>,
175 #[serde(skip_serializing_if = "Option::is_none")]
176 pub next_token: Option<String>,
177 #[serde(default, skip_serializing_if = "Vec::is_empty")]
178 pub owning_accounts: Vec<String>,
179}
180
181#[derive(Debug, Clone, Default, Serialize, Deserialize)]
183#[serde(rename_all = "PascalCase")]
184pub struct ListTagsForResourceOutput {
185 #[serde(default, skip_serializing_if = "Vec::is_empty")]
186 pub tags: Vec<Tag>,
187}
188
189#[derive(Debug, Clone, Default, Serialize, Deserialize)]
191#[serde(rename_all = "PascalCase")]
192pub struct PutAnomalyDetectorOutput {}
193
194#[derive(Debug, Clone, Default, Serialize, Deserialize)]
196#[serde(rename_all = "PascalCase")]
197pub struct PutDashboardOutput {
198 #[serde(default, skip_serializing_if = "Vec::is_empty")]
199 pub dashboard_validation_messages: Vec<DashboardValidationMessage>,
200}
201
202#[derive(Debug, Clone, Default, Serialize, Deserialize)]
204#[serde(rename_all = "PascalCase")]
205pub struct PutInsightRuleOutput {}
206
207#[derive(Debug, Clone, Default, Serialize, Deserialize)]
209#[serde(rename_all = "PascalCase")]
210pub struct PutManagedInsightRulesOutput {
211 #[serde(default, skip_serializing_if = "Vec::is_empty")]
212 pub failures: Vec<PartialFailure>,
213}
214
215#[derive(Debug, Clone, Default, Serialize, Deserialize)]
217#[serde(rename_all = "PascalCase")]
218pub struct PutMetricStreamOutput {
219 #[serde(skip_serializing_if = "Option::is_none")]
220 pub arn: Option<String>,
221}
222
223#[derive(Debug, Clone, Default, Serialize, Deserialize)]
225#[serde(rename_all = "PascalCase")]
226pub struct TagResourceOutput {}
227
228#[derive(Debug, Clone, Default, Serialize, Deserialize)]
230#[serde(rename_all = "PascalCase")]
231pub struct UntagResourceOutput {}