1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
6#[serde(rename_all = "camelCase")]
7pub struct HealthResponse {
8 pub status: String,
9 pub version: String,
10 pub services: Vec<String>,
11}
12
13#[derive(Debug, Clone, Serialize, Deserialize)]
16#[serde(rename_all = "camelCase")]
17pub struct ResetResponse {
18 pub status: String,
19}
20
21#[derive(Debug, Clone, Serialize, Deserialize)]
22#[serde(rename_all = "camelCase")]
23pub struct ResetServiceResponse {
24 pub reset: String,
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize)]
30#[serde(rename_all = "camelCase")]
31pub struct RdsTag {
32 pub key: String,
33 pub value: String,
34}
35
36#[derive(Debug, Clone, Serialize, Deserialize)]
37#[serde(rename_all = "camelCase")]
38pub struct RdsInstance {
39 pub db_instance_identifier: String,
40 pub db_instance_arn: String,
41 pub db_instance_class: String,
42 pub engine: String,
43 pub engine_version: String,
44 pub db_instance_status: String,
45 pub master_username: String,
46 pub db_name: Option<String>,
47 pub endpoint_address: String,
48 pub port: i32,
49 pub allocated_storage: i32,
50 pub publicly_accessible: bool,
51 pub deletion_protection: bool,
52 pub created_at: String,
53 pub dbi_resource_id: String,
54 pub container_id: String,
55 pub host_port: u16,
56 pub tags: Vec<RdsTag>,
57}
58
59#[derive(Debug, Clone, Serialize, Deserialize)]
60#[serde(rename_all = "camelCase")]
61pub struct RdsInstancesResponse {
62 pub instances: Vec<RdsInstance>,
63}
64
65#[derive(Debug, Clone, Serialize, Deserialize)]
68#[serde(rename_all = "camelCase")]
69pub struct LambdaInvocation {
70 pub function_arn: String,
71 pub payload: String,
72 pub source: String,
73 pub timestamp: String,
74}
75
76#[derive(Debug, Clone, Serialize, Deserialize)]
77#[serde(rename_all = "camelCase")]
78pub struct LambdaInvocationsResponse {
79 pub invocations: Vec<LambdaInvocation>,
80}
81
82#[derive(Debug, Clone, Serialize, Deserialize)]
83#[serde(rename_all = "camelCase")]
84pub struct WarmContainer {
85 pub function_name: String,
86 pub runtime: String,
87 pub container_id: String,
88 pub last_used_secs_ago: u64,
89}
90
91#[derive(Debug, Clone, Serialize, Deserialize)]
92#[serde(rename_all = "camelCase")]
93pub struct WarmContainersResponse {
94 pub containers: Vec<WarmContainer>,
95}
96
97#[derive(Debug, Clone, Serialize, Deserialize)]
98#[serde(rename_all = "camelCase")]
99pub struct EvictContainerResponse {
100 pub evicted: bool,
101}
102
103#[derive(Debug, Clone, Serialize, Deserialize)]
106#[serde(rename_all = "camelCase")]
107pub struct SentEmail {
108 pub message_id: String,
109 pub from: String,
110 pub to: Vec<String>,
111 #[serde(default)]
112 pub cc: Vec<String>,
113 #[serde(default)]
114 pub bcc: Vec<String>,
115 pub subject: Option<String>,
116 pub html_body: Option<String>,
117 pub text_body: Option<String>,
118 pub raw_data: Option<String>,
119 pub template_name: Option<String>,
120 pub template_data: Option<String>,
121 pub timestamp: String,
122}
123
124#[derive(Debug, Clone, Serialize, Deserialize)]
125#[serde(rename_all = "camelCase")]
126pub struct SesEmailsResponse {
127 pub emails: Vec<SentEmail>,
128}
129
130#[derive(Debug, Clone, Serialize, Deserialize)]
131#[serde(rename_all = "camelCase")]
132pub struct InboundEmailRequest {
133 pub from: String,
134 pub to: Vec<String>,
135 pub subject: String,
136 pub body: String,
137}
138
139#[derive(Debug, Clone, Serialize, Deserialize)]
140#[serde(rename_all = "camelCase")]
141pub struct InboundActionExecuted {
142 pub rule: String,
143 pub action_type: String,
144}
145
146#[derive(Debug, Clone, Serialize, Deserialize)]
147#[serde(rename_all = "camelCase")]
148pub struct InboundEmailResponse {
149 pub message_id: String,
150 pub matched_rules: Vec<String>,
151 pub actions_executed: Vec<InboundActionExecuted>,
152}
153
154#[derive(Debug, Clone, Serialize, Deserialize)]
157#[serde(rename_all = "camelCase")]
158pub struct SnsMessage {
159 pub message_id: String,
160 pub topic_arn: String,
161 pub message: String,
162 pub subject: Option<String>,
163 pub timestamp: String,
164}
165
166#[derive(Debug, Clone, Serialize, Deserialize)]
167#[serde(rename_all = "camelCase")]
168pub struct SnsMessagesResponse {
169 pub messages: Vec<SnsMessage>,
170}
171
172#[derive(Debug, Clone, Serialize, Deserialize)]
173#[serde(rename_all = "camelCase")]
174pub struct SnsSmsMessage {
175 pub phone_number: String,
176 pub message: String,
177}
178
179#[derive(Debug, Clone, Serialize, Deserialize)]
180#[serde(rename_all = "camelCase")]
181pub struct SnsSmsResponse {
182 pub messages: Vec<SnsSmsMessage>,
183}
184
185#[derive(Debug, Clone, Serialize, Deserialize)]
186#[serde(rename_all = "camelCase")]
187pub struct PendingConfirmation {
188 pub subscription_arn: String,
189 pub topic_arn: String,
190 pub protocol: String,
191 pub endpoint: String,
192 pub token: Option<String>,
193}
194
195#[derive(Debug, Clone, Serialize, Deserialize)]
196#[serde(rename_all = "camelCase")]
197pub struct PendingConfirmationsResponse {
198 pub pending_confirmations: Vec<PendingConfirmation>,
199}
200
201#[derive(Debug, Clone, Serialize, Deserialize)]
202#[serde(rename_all = "camelCase")]
203pub struct ConfirmSubscriptionRequest {
204 pub subscription_arn: String,
205}
206
207#[derive(Debug, Clone, Serialize, Deserialize)]
208#[serde(rename_all = "camelCase")]
209pub struct ConfirmSubscriptionResponse {
210 pub confirmed: bool,
211}
212
213#[derive(Debug, Clone, Serialize, Deserialize)]
216#[serde(rename_all = "camelCase")]
217pub struct SqsMessageInfo {
218 pub message_id: String,
219 pub body: String,
220 pub receive_count: u64,
221 pub in_flight: bool,
222 pub created_at: String,
223}
224
225#[derive(Debug, Clone, Serialize, Deserialize)]
226#[serde(rename_all = "camelCase")]
227pub struct SqsQueueMessages {
228 pub queue_url: String,
229 pub queue_name: String,
230 pub messages: Vec<SqsMessageInfo>,
231}
232
233#[derive(Debug, Clone, Serialize, Deserialize)]
234#[serde(rename_all = "camelCase")]
235pub struct SqsMessagesResponse {
236 pub queues: Vec<SqsQueueMessages>,
237}
238
239#[derive(Debug, Clone, Serialize, Deserialize)]
240#[serde(rename_all = "camelCase")]
241pub struct ExpirationTickResponse {
242 pub expired_messages: u64,
243}
244
245#[derive(Debug, Clone, Serialize, Deserialize)]
246#[serde(rename_all = "camelCase")]
247pub struct ForceDlqResponse {
248 pub moved_messages: u64,
249}
250
251#[derive(Debug, Clone, Serialize, Deserialize)]
254#[serde(rename_all = "camelCase")]
255pub struct EventBridgeEvent {
256 pub event_id: String,
257 pub source: String,
258 pub detail_type: String,
259 pub detail: String,
260 pub bus_name: String,
261 pub timestamp: String,
262}
263
264#[derive(Debug, Clone, Serialize, Deserialize)]
265#[serde(rename_all = "camelCase")]
266pub struct EventBridgeLambdaDelivery {
267 pub function_arn: String,
268 pub payload: String,
269 pub timestamp: String,
270}
271
272#[derive(Debug, Clone, Serialize, Deserialize)]
273#[serde(rename_all = "camelCase")]
274pub struct EventBridgeLogDelivery {
275 pub log_group_arn: String,
276 pub payload: String,
277 pub timestamp: String,
278}
279
280#[derive(Debug, Clone, Serialize, Deserialize)]
281#[serde(rename_all = "camelCase")]
282pub struct EventBridgeDeliveries {
283 pub lambda: Vec<EventBridgeLambdaDelivery>,
284 pub logs: Vec<EventBridgeLogDelivery>,
285}
286
287#[derive(Debug, Clone, Serialize, Deserialize)]
288#[serde(rename_all = "camelCase")]
289pub struct EventHistoryResponse {
290 pub events: Vec<EventBridgeEvent>,
291 pub deliveries: EventBridgeDeliveries,
292}
293
294#[derive(Debug, Clone, Serialize, Deserialize)]
295#[serde(rename_all = "camelCase")]
296pub struct FireRuleRequest {
297 pub bus_name: Option<String>,
298 pub rule_name: String,
299}
300
301#[derive(Debug, Clone, Serialize, Deserialize)]
302#[serde(rename_all = "camelCase")]
303pub struct FireRuleTarget {
304 #[serde(rename = "type")]
305 pub target_type: String,
306 pub arn: String,
307}
308
309#[derive(Debug, Clone, Serialize, Deserialize)]
310#[serde(rename_all = "camelCase")]
311pub struct FireRuleResponse {
312 pub targets: Vec<FireRuleTarget>,
313}
314
315#[derive(Debug, Clone, Serialize, Deserialize)]
318#[serde(rename_all = "camelCase")]
319pub struct SchedulerSchedule {
320 pub account_id: String,
321 pub group_name: String,
322 pub name: String,
323 pub arn: String,
324 pub state: String,
325 pub schedule_expression: String,
326 pub target_arn: String,
327 pub last_fired: Option<String>,
328}
329
330#[derive(Debug, Clone, Serialize, Deserialize)]
331#[serde(rename_all = "camelCase")]
332pub struct SchedulerSchedulesResponse {
333 pub schedules: Vec<SchedulerSchedule>,
334}
335
336#[derive(Debug, Clone, Serialize, Deserialize)]
337#[serde(rename_all = "camelCase")]
338pub struct FireScheduleResponse {
339 pub schedule_arn: String,
340 pub target_arn: String,
341}
342
343#[derive(Debug, Clone, Serialize, Deserialize)]
346#[serde(rename_all = "camelCase")]
347pub struct S3Notification {
348 pub bucket: String,
349 pub key: String,
350 pub event_type: String,
351 pub timestamp: String,
352}
353
354#[derive(Debug, Clone, Serialize, Deserialize)]
355#[serde(rename_all = "camelCase")]
356pub struct S3NotificationsResponse {
357 pub notifications: Vec<S3Notification>,
358}
359
360#[derive(Debug, Clone, Serialize, Deserialize)]
361#[serde(rename_all = "camelCase")]
362pub struct LifecycleTickResponse {
363 pub processed_buckets: u64,
364 pub expired_objects: u64,
365 pub transitioned_objects: u64,
366}
367
368#[derive(Debug, Clone, Serialize, Deserialize)]
371#[serde(rename_all = "camelCase")]
372pub struct TtlTickResponse {
373 pub expired_items: u64,
374}
375
376#[derive(Debug, Clone, Serialize, Deserialize)]
379#[serde(rename_all = "camelCase")]
380pub struct RotationTickResponse {
381 pub rotated_secrets: Vec<String>,
382}
383
384#[derive(Debug, Clone, Serialize, Deserialize)]
387#[serde(rename_all = "camelCase")]
388pub struct ElastiCacheCluster {
389 pub cache_cluster_id: String,
390 pub cache_cluster_status: String,
391 pub engine: String,
392 pub engine_version: String,
393 pub cache_node_type: String,
394 pub num_cache_nodes: i32,
395 pub replication_group_id: Option<String>,
396 pub port: Option<i32>,
397 pub host_port: Option<u16>,
398 pub container_id: Option<String>,
399}
400
401#[derive(Debug, Clone, Serialize, Deserialize)]
402#[serde(rename_all = "camelCase")]
403pub struct ElastiCacheClustersResponse {
404 pub clusters: Vec<ElastiCacheCluster>,
405}
406
407#[derive(Debug, Clone, Serialize, Deserialize)]
408#[serde(rename_all = "camelCase")]
409pub struct ElastiCacheReplicationGroupIntrospection {
410 pub replication_group_id: String,
411 pub status: String,
412 pub description: String,
413 pub member_clusters: Vec<String>,
414 pub automatic_failover: bool,
415 pub multi_az: bool,
416 pub engine: String,
417 pub engine_version: String,
418 pub cache_node_type: String,
419 pub num_cache_clusters: i32,
420}
421
422#[derive(Debug, Clone, Serialize, Deserialize)]
423#[serde(rename_all = "camelCase")]
424pub struct ElastiCacheReplicationGroupsResponse {
425 pub replication_groups: Vec<ElastiCacheReplicationGroupIntrospection>,
426}
427
428#[derive(Debug, Clone, Serialize, Deserialize)]
429#[serde(rename_all = "camelCase")]
430pub struct ElastiCacheServerlessCacheIntrospection {
431 pub serverless_cache_name: String,
432 pub status: String,
433 pub engine: String,
434 pub engine_version: String,
435 pub cache_node_type: Option<String>,
436}
437
438#[derive(Debug, Clone, Serialize, Deserialize)]
439#[serde(rename_all = "camelCase")]
440pub struct ElastiCacheServerlessCachesResponse {
441 pub serverless_caches: Vec<ElastiCacheServerlessCacheIntrospection>,
442}
443
444#[derive(Debug, Clone, Serialize, Deserialize)]
447#[serde(rename_all = "camelCase")]
448pub struct StepFunctionsExecution {
449 pub execution_arn: String,
450 pub state_machine_arn: String,
451 pub name: String,
452 pub status: String,
453 #[serde(skip_serializing_if = "Option::is_none")]
454 pub input: Option<String>,
455 #[serde(skip_serializing_if = "Option::is_none")]
456 pub output: Option<String>,
457 pub start_date: String,
458 #[serde(skip_serializing_if = "Option::is_none")]
459 pub stop_date: Option<String>,
460}
461
462#[derive(Debug, Clone, Serialize, Deserialize)]
463#[serde(rename_all = "camelCase")]
464pub struct StepFunctionsExecutionsResponse {
465 pub executions: Vec<StepFunctionsExecution>,
466}
467
468#[derive(Debug, Clone, Serialize, Deserialize, Default)]
469#[serde(rename_all = "camelCase")]
470pub struct SfnEnqueueActivityTaskRequest {
471 pub activity_arn: String,
472 #[serde(skip_serializing_if = "Option::is_none")]
473 pub input: Option<String>,
474 #[serde(skip_serializing_if = "Option::is_none")]
475 pub heartbeat_seconds: Option<i64>,
476 #[serde(skip_serializing_if = "Option::is_none")]
477 pub timeout_seconds: Option<i64>,
478}
479
480#[derive(Debug, Clone, Serialize, Deserialize)]
481#[serde(rename_all = "camelCase")]
482pub struct SfnEnqueueActivityTaskResponse {
483 pub task_token: String,
484}
485
486#[derive(Debug, Clone, Serialize, Deserialize)]
489#[serde(rename_all = "camelCase")]
490pub struct UserConfirmationCodes {
491 pub confirmation_code: Option<String>,
492 pub attribute_verification_codes: serde_json::Value,
493}
494
495#[derive(Debug, Clone, Serialize, Deserialize)]
496#[serde(rename_all = "camelCase")]
497pub struct ConfirmationCode {
498 pub pool_id: String,
499 pub username: String,
500 pub code: String,
501 #[serde(rename = "type")]
502 pub code_type: String,
503 #[serde(skip_serializing_if = "Option::is_none")]
504 pub attribute: Option<String>,
505}
506
507#[derive(Debug, Clone, Serialize, Deserialize)]
508#[serde(rename_all = "camelCase")]
509pub struct ConfirmationCodesResponse {
510 pub codes: Vec<ConfirmationCode>,
511}
512
513#[derive(Debug, Clone, Serialize, Deserialize)]
514#[serde(rename_all = "camelCase")]
515pub struct ConfirmUserRequest {
516 pub user_pool_id: String,
517 pub username: String,
518}
519
520#[derive(Debug, Clone, Serialize, Deserialize)]
521#[serde(rename_all = "camelCase")]
522pub struct ConfirmUserResponse {
523 pub confirmed: bool,
524 #[serde(skip_serializing_if = "Option::is_none")]
525 pub error: Option<String>,
526}
527
528#[derive(Debug, Clone, Serialize, Deserialize)]
529#[serde(rename_all = "camelCase")]
530pub struct TokenInfo {
531 #[serde(rename = "type")]
532 pub token_type: String,
533 pub username: String,
534 pub pool_id: String,
535 pub client_id: String,
536 pub issued_at: f64,
537}
538
539#[derive(Debug, Clone, Serialize, Deserialize)]
540#[serde(rename_all = "camelCase")]
541pub struct TokensResponse {
542 pub tokens: Vec<TokenInfo>,
543}
544
545#[derive(Debug, Clone, Serialize, Deserialize)]
546#[serde(rename_all = "camelCase")]
547pub struct ExpireTokensRequest {
548 #[serde(skip_serializing_if = "Option::is_none")]
549 pub user_pool_id: Option<String>,
550 #[serde(skip_serializing_if = "Option::is_none")]
551 pub username: Option<String>,
552}
553
554#[derive(Debug, Clone, Serialize, Deserialize)]
555#[serde(rename_all = "camelCase")]
556pub struct ExpireTokensResponse {
557 pub expired_tokens: u64,
558}
559
560#[derive(Debug, Clone, Serialize, Deserialize)]
561#[serde(rename_all = "camelCase")]
562pub struct AuthEvent {
563 pub event_type: String,
564 pub username: String,
565 pub user_pool_id: String,
566 pub client_id: Option<String>,
567 pub timestamp: f64,
568 pub success: bool,
569}
570
571#[derive(Debug, Clone, Serialize, Deserialize)]
572#[serde(rename_all = "camelCase")]
573pub struct AuthEventsResponse {
574 pub events: Vec<AuthEvent>,
575}
576
577#[derive(Debug, Clone, Serialize, Deserialize)]
580#[serde(rename_all = "camelCase")]
581pub struct ApiGatewayV2Request {
582 pub request_id: String,
583 pub api_id: String,
584 pub stage: String,
585 pub method: String,
586 pub path: String,
587 pub headers: std::collections::HashMap<String, String>,
588 pub query_params: std::collections::HashMap<String, String>,
589 #[serde(skip_serializing_if = "Option::is_none")]
590 pub body: Option<String>,
591 pub timestamp: String,
592 pub status_code: u16,
593}
594
595#[derive(Debug, Clone, Serialize, Deserialize)]
596#[serde(rename_all = "camelCase")]
597pub struct ApiGatewayV2RequestsResponse {
598 pub requests: Vec<ApiGatewayV2Request>,
599}
600
601#[derive(Debug, Clone, Serialize, Deserialize)]
604#[serde(rename_all = "camelCase")]
605pub struct BedrockInvocation {
606 pub model_id: String,
607 pub input: String,
608 pub output: String,
609 pub timestamp: String,
610 #[serde(default)]
612 pub error: Option<String>,
613}
614
615#[derive(Debug, Clone, Serialize, Deserialize)]
616#[serde(rename_all = "camelCase")]
617pub struct BedrockInvocationsResponse {
618 pub invocations: Vec<BedrockInvocation>,
619}
620
621#[derive(Debug, Clone, Serialize, Deserialize)]
622#[serde(rename_all = "camelCase")]
623pub struct BedrockModelResponseConfig {
624 pub status: String,
625 pub model_id: String,
626}
627
628#[derive(Debug, Clone, Serialize, Deserialize)]
633#[serde(rename_all = "camelCase")]
634pub struct BedrockResponseRule {
635 #[serde(default, skip_serializing_if = "Option::is_none")]
636 pub prompt_contains: Option<String>,
637 pub response: String,
638}
639
640#[derive(Debug, Clone, Serialize, Deserialize, Default)]
642#[serde(rename_all = "camelCase")]
643pub struct BedrockFaultRule {
644 pub error_type: String,
645 #[serde(default, skip_serializing_if = "Option::is_none")]
646 pub message: Option<String>,
647 #[serde(default, skip_serializing_if = "Option::is_none")]
648 pub http_status: Option<u16>,
649 #[serde(default, skip_serializing_if = "Option::is_none")]
650 pub count: Option<u32>,
651 #[serde(default, skip_serializing_if = "Option::is_none")]
652 pub model_id: Option<String>,
653 #[serde(default, skip_serializing_if = "Option::is_none")]
654 pub operation: Option<String>,
655}
656
657#[derive(Debug, Clone, Serialize, Deserialize)]
659#[serde(rename_all = "camelCase")]
660pub struct BedrockFaultRuleState {
661 pub error_type: String,
662 pub message: String,
663 pub http_status: u16,
664 pub remaining: u32,
665 #[serde(default)]
666 pub model_id: Option<String>,
667 #[serde(default)]
668 pub operation: Option<String>,
669}
670
671#[derive(Debug, Clone, Serialize, Deserialize)]
672#[serde(rename_all = "camelCase")]
673pub struct BedrockFaultsResponse {
674 pub faults: Vec<BedrockFaultRuleState>,
675}
676
677#[derive(Debug, Clone, Serialize, Deserialize)]
678#[serde(rename_all = "camelCase")]
679pub struct BedrockStatusResponse {
680 pub status: String,
681}
682
683#[derive(Debug, Clone, Serialize, Deserialize)]
684#[serde(rename_all = "camelCase")]
685pub struct EcrRepository {
686 pub repository_name: String,
687 pub repository_arn: String,
688 pub registry_id: String,
689 pub repository_uri: String,
690 pub image_tag_mutability: String,
691 pub scan_on_push: bool,
692 pub created_at: String,
693 pub tags: Vec<EcrTag>,
694 pub has_policy: bool,
695 pub has_lifecycle_policy: bool,
696 pub image_count: u64,
697 pub layer_count: u64,
698}
699
700#[derive(Debug, Clone, Serialize, Deserialize)]
701#[serde(rename_all = "camelCase")]
702pub struct EcrImage {
703 pub repository_name: String,
704 pub image_digest: String,
705 pub image_tags: Vec<String>,
706 pub image_size_in_bytes: u64,
707 pub image_manifest_media_type: String,
708 pub image_pushed_at: String,
709}
710
711#[derive(Debug, Clone, Serialize, Deserialize)]
712#[serde(rename_all = "camelCase")]
713pub struct EcrImagesResponse {
714 pub images: Vec<EcrImage>,
715}
716
717#[derive(Debug, Clone, Serialize, Deserialize)]
718#[serde(rename_all = "camelCase")]
719pub struct EcrPullThroughRule {
720 pub ecr_repository_prefix: String,
721 pub upstream_registry_url: String,
722 pub upstream_registry: Option<String>,
723 pub credential_arn: Option<String>,
724 pub custom_role_arn: Option<String>,
725 pub created_at: String,
726 pub updated_at: String,
727}
728
729#[derive(Debug, Clone, Serialize, Deserialize)]
730#[serde(rename_all = "camelCase")]
731pub struct EcrPullThroughRulesResponse {
732 pub rules: Vec<EcrPullThroughRule>,
733}
734
735#[derive(Debug, Clone, Serialize, Deserialize)]
736#[serde(rename_all = "camelCase")]
737pub struct EcrTag {
738 pub key: String,
739 pub value: String,
740}
741
742#[derive(Debug, Clone, Serialize, Deserialize)]
743#[serde(rename_all = "camelCase")]
744pub struct EcrRepositoriesResponse {
745 pub repositories: Vec<EcrRepository>,
746}
747
748#[derive(Debug, Clone, Serialize, Deserialize)]
749#[serde(rename_all = "camelCase")]
750pub struct EcsCluster {
751 pub cluster_name: String,
752 pub cluster_arn: String,
753 pub status: String,
754 pub running_tasks_count: i32,
755 pub pending_tasks_count: i32,
756 pub active_services_count: i32,
757 pub registered_container_instances_count: i32,
758 pub capacity_providers: Vec<String>,
759 pub tags: Vec<EcsTag>,
760 pub created_at: String,
761}
762
763#[derive(Debug, Clone, Serialize, Deserialize)]
764#[serde(rename_all = "camelCase")]
765pub struct EcsTag {
766 pub key: String,
767 pub value: String,
768}
769
770#[derive(Debug, Clone, Serialize, Deserialize)]
771#[serde(rename_all = "camelCase")]
772pub struct EcsClustersResponse {
773 pub clusters: Vec<EcsCluster>,
774}
775
776#[derive(Debug, Clone, Serialize, Deserialize)]
777#[serde(rename_all = "camelCase")]
778pub struct EcsTaskContainer {
779 pub name: String,
780 pub image: String,
781 pub last_status: String,
782 pub exit_code: Option<i64>,
783 pub runtime_id: Option<String>,
784 pub essential: bool,
785}
786
787#[derive(Debug, Clone, Serialize, Deserialize)]
788#[serde(rename_all = "camelCase")]
789pub struct EcsTask {
790 pub task_arn: String,
791 pub task_id: String,
792 pub cluster_arn: String,
793 pub cluster_name: String,
794 pub task_definition_arn: String,
795 pub family: String,
796 pub revision: i32,
797 pub last_status: String,
798 pub desired_status: String,
799 pub launch_type: String,
800 pub created_at: String,
801 pub started_at: Option<String>,
802 pub stopping_at: Option<String>,
803 pub stopped_at: Option<String>,
804 pub stop_code: Option<String>,
805 pub stopped_reason: Option<String>,
806 pub containers: Vec<EcsTaskContainer>,
807 pub captured_log_bytes: usize,
808}
809
810#[derive(Debug, Clone, Serialize, Deserialize)]
811#[serde(rename_all = "camelCase")]
812pub struct EcsTasksResponse {
813 pub tasks: Vec<EcsTask>,
814}
815
816#[derive(Debug, Clone, Serialize, Deserialize)]
817#[serde(rename_all = "camelCase")]
818pub struct EcsTaskLogsResponse {
819 pub task_arn: String,
820 pub logs: String,
821 pub last_status: String,
822 pub exit_code: Option<i64>,
823}
824
825#[derive(Debug, Clone, Serialize, Deserialize, Default)]
826#[serde(rename_all = "camelCase")]
827pub struct EcsMarkFailedRequest {
828 pub exit_code: Option<i64>,
829 pub reason: Option<String>,
830}
831
832#[derive(Debug, Clone, Serialize, Deserialize)]
833#[serde(rename_all = "camelCase")]
834pub struct EcsLifecycleEvent {
835 pub at: String,
836 pub event_type: String,
837 pub task_arn: Option<String>,
838 pub cluster_arn: Option<String>,
839 pub last_status: Option<String>,
840 pub detail: serde_json::Value,
841}
842
843#[derive(Debug, Clone, Serialize, Deserialize)]
844#[serde(rename_all = "camelCase")]
845pub struct EcsEventsResponse {
846 pub events: Vec<EcsLifecycleEvent>,
847}
848
849#[derive(Debug, Clone, Serialize, Deserialize)]
852#[serde(rename_all = "camelCase")]
853pub struct Elbv2LoadBalancer {
854 pub arn: String,
855 pub name: String,
856 pub dns_name: String,
857 pub scheme: String,
858 pub vpc_id: String,
859 pub state_code: String,
860 pub state_reason: Option<String>,
861 pub lb_type: String,
862 pub ip_address_type: String,
863 pub availability_zones: Vec<Elbv2AvailabilityZone>,
864 pub security_groups: Vec<String>,
865 pub created_time: String,
866 pub tags: Vec<Elbv2Tag>,
867 #[serde(skip_serializing_if = "Option::is_none")]
871 pub bound_port: Option<u16>,
872}
873
874#[derive(Debug, Clone, Serialize, Deserialize)]
875#[serde(rename_all = "camelCase")]
876pub struct Elbv2AvailabilityZone {
877 pub zone_name: String,
878 pub subnet_id: String,
879}
880
881#[derive(Debug, Clone, Serialize, Deserialize)]
882#[serde(rename_all = "camelCase")]
883pub struct Elbv2Tag {
884 pub key: String,
885 pub value: String,
886}
887
888#[derive(Debug, Clone, Serialize, Deserialize)]
889#[serde(rename_all = "camelCase")]
890pub struct Elbv2LoadBalancersResponse {
891 pub load_balancers: Vec<Elbv2LoadBalancer>,
892}
893
894#[derive(Debug, Clone, Serialize, Deserialize)]
895#[serde(rename_all = "camelCase")]
896pub struct Elbv2TargetGroup {
897 pub arn: String,
898 pub name: String,
899 pub protocol: Option<String>,
900 pub port: Option<i32>,
901 pub vpc_id: Option<String>,
902 pub target_type: String,
903 pub load_balancer_arns: Vec<String>,
904 pub targets: Vec<Elbv2Target>,
905 pub health_check_protocol: Option<String>,
906 pub health_check_port: Option<String>,
907 pub health_check_path: Option<String>,
908 pub healthy_threshold_count: i32,
909 pub unhealthy_threshold_count: i32,
910 pub created_time: String,
911 pub tags: Vec<Elbv2Tag>,
912}
913
914#[derive(Debug, Clone, Serialize, Deserialize)]
915#[serde(rename_all = "camelCase")]
916pub struct Elbv2Target {
917 pub id: String,
918 pub port: Option<i32>,
919 pub availability_zone: Option<String>,
920 pub health_state: String,
921 pub health_reason: Option<String>,
922 pub health_description: Option<String>,
923}
924
925#[derive(Debug, Clone, Serialize, Deserialize)]
926#[serde(rename_all = "camelCase")]
927pub struct Elbv2TargetGroupsResponse {
928 pub target_groups: Vec<Elbv2TargetGroup>,
929}
930
931#[derive(Debug, Clone, Serialize, Deserialize)]
932#[serde(rename_all = "camelCase")]
933pub struct Elbv2Listener {
934 pub arn: String,
935 pub load_balancer_arn: String,
936 pub port: Option<i32>,
937 pub protocol: Option<String>,
938 pub ssl_policy: Option<String>,
939 pub certificate_arns: Vec<String>,
940 pub default_action_type: Option<String>,
941 pub default_target_group_arn: Option<String>,
942}
943
944#[derive(Debug, Clone, Serialize, Deserialize)]
945#[serde(rename_all = "camelCase")]
946pub struct Elbv2ListenersResponse {
947 pub listeners: Vec<Elbv2Listener>,
948}
949
950#[derive(Debug, Clone, Serialize, Deserialize)]
951#[serde(rename_all = "camelCase")]
952pub struct Elbv2Rule {
953 pub arn: String,
954 pub listener_arn: String,
955 pub priority: String,
956 pub is_default: bool,
957 pub condition_fields: Vec<String>,
958 pub action_type: Option<String>,
959}
960
961#[derive(Debug, Clone, Serialize, Deserialize)]
962#[serde(rename_all = "camelCase")]
963pub struct Elbv2RulesResponse {
964 pub rules: Vec<Elbv2Rule>,
965}
966
967#[derive(Debug, Clone, Serialize, Deserialize)]
972#[serde(rename_all = "camelCase")]
973pub struct CreateAdminRequest {
974 pub account_id: String,
975 pub user_name: String,
976}
977
978#[derive(Debug, Clone, Serialize, Deserialize)]
979#[serde(rename_all = "camelCase")]
980pub struct CreateAdminResponse {
981 pub access_key_id: String,
982 pub secret_access_key: String,
983 pub account_id: String,
984 pub arn: String,
985}