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)]
308#[serde(rename_all = "snake_case")]
309pub struct RdsLambdaInvokeRequest {
310 pub function_name: String,
311 pub payload: Option<serde_json::Value>,
312 pub invocation_type: Option<String>,
313 pub region: Option<String>,
314}
315
316#[derive(Debug, Clone, Serialize, Deserialize)]
319#[serde(rename_all = "snake_case")]
320pub struct RdsLambdaInvokeResponse {
321 pub status_code: i32,
322 pub payload: Option<serde_json::Value>,
323 pub executed_version: Option<String>,
324 pub log_result: Option<String>,
325}
326
327#[derive(Debug, Clone, Serialize, Deserialize)]
328#[serde(rename_all = "camelCase")]
329pub struct FireRuleTarget {
330 #[serde(rename = "type")]
331 pub target_type: String,
332 pub arn: String,
333}
334
335#[derive(Debug, Clone, Serialize, Deserialize)]
336#[serde(rename_all = "camelCase")]
337pub struct FireRuleResponse {
338 pub targets: Vec<FireRuleTarget>,
339}
340
341#[derive(Debug, Clone, Serialize, Deserialize)]
344#[serde(rename_all = "camelCase")]
345pub struct SchedulerSchedule {
346 pub account_id: String,
347 pub group_name: String,
348 pub name: String,
349 pub arn: String,
350 pub state: String,
351 pub schedule_expression: String,
352 pub target_arn: String,
353 pub last_fired: Option<String>,
354}
355
356#[derive(Debug, Clone, Serialize, Deserialize)]
357#[serde(rename_all = "camelCase")]
358pub struct SchedulerSchedulesResponse {
359 pub schedules: Vec<SchedulerSchedule>,
360}
361
362#[derive(Debug, Clone, Serialize, Deserialize)]
363#[serde(rename_all = "camelCase")]
364pub struct FireScheduleResponse {
365 pub schedule_arn: String,
366 pub target_arn: String,
367}
368
369#[derive(Debug, Clone, Serialize, Deserialize)]
372#[serde(rename_all = "camelCase")]
373pub struct S3Notification {
374 pub bucket: String,
375 pub key: String,
376 pub event_type: String,
377 pub timestamp: String,
378}
379
380#[derive(Debug, Clone, Serialize, Deserialize)]
381#[serde(rename_all = "camelCase")]
382pub struct S3NotificationsResponse {
383 pub notifications: Vec<S3Notification>,
384}
385
386#[derive(Debug, Clone, Serialize, Deserialize)]
387#[serde(rename_all = "camelCase")]
388pub struct LifecycleTickResponse {
389 pub processed_buckets: u64,
390 pub expired_objects: u64,
391 pub transitioned_objects: u64,
392}
393
394#[derive(Debug, Clone, Serialize, Deserialize)]
397#[serde(rename_all = "camelCase")]
398pub struct TtlTickResponse {
399 pub expired_items: u64,
400}
401
402#[derive(Debug, Clone, Serialize, Deserialize)]
405#[serde(rename_all = "camelCase")]
406pub struct RotationTickResponse {
407 pub rotated_secrets: Vec<String>,
408}
409
410#[derive(Debug, Clone, Serialize, Deserialize)]
413#[serde(rename_all = "camelCase")]
414pub struct ElastiCacheCluster {
415 pub cache_cluster_id: String,
416 pub cache_cluster_status: String,
417 pub engine: String,
418 pub engine_version: String,
419 pub cache_node_type: String,
420 pub num_cache_nodes: i32,
421 pub replication_group_id: Option<String>,
422 pub port: Option<i32>,
423 pub host_port: Option<u16>,
424 pub container_id: Option<String>,
425}
426
427#[derive(Debug, Clone, Serialize, Deserialize)]
428#[serde(rename_all = "camelCase")]
429pub struct ElastiCacheClustersResponse {
430 pub clusters: Vec<ElastiCacheCluster>,
431}
432
433#[derive(Debug, Clone, Serialize, Deserialize)]
434#[serde(rename_all = "camelCase")]
435pub struct ElastiCacheReplicationGroupIntrospection {
436 pub replication_group_id: String,
437 pub status: String,
438 pub description: String,
439 pub member_clusters: Vec<String>,
440 pub automatic_failover: bool,
441 pub multi_az: bool,
442 pub engine: String,
443 pub engine_version: String,
444 pub cache_node_type: String,
445 pub num_cache_clusters: i32,
446}
447
448#[derive(Debug, Clone, Serialize, Deserialize)]
449#[serde(rename_all = "camelCase")]
450pub struct ElastiCacheReplicationGroupsResponse {
451 pub replication_groups: Vec<ElastiCacheReplicationGroupIntrospection>,
452}
453
454#[derive(Debug, Clone, Serialize, Deserialize)]
455#[serde(rename_all = "camelCase")]
456pub struct ElastiCacheServerlessCacheIntrospection {
457 pub serverless_cache_name: String,
458 pub status: String,
459 pub engine: String,
460 pub engine_version: String,
461 pub cache_node_type: Option<String>,
462}
463
464#[derive(Debug, Clone, Serialize, Deserialize)]
465#[serde(rename_all = "camelCase")]
466pub struct ElastiCacheServerlessCachesResponse {
467 pub serverless_caches: Vec<ElastiCacheServerlessCacheIntrospection>,
468}
469
470#[derive(Debug, Clone, Serialize, Deserialize)]
473#[serde(rename_all = "camelCase")]
474pub struct StepFunctionsExecution {
475 pub execution_arn: String,
476 pub state_machine_arn: String,
477 pub name: String,
478 pub status: String,
479 #[serde(skip_serializing_if = "Option::is_none")]
480 pub input: Option<String>,
481 #[serde(skip_serializing_if = "Option::is_none")]
482 pub output: Option<String>,
483 pub start_date: String,
484 #[serde(skip_serializing_if = "Option::is_none")]
485 pub stop_date: Option<String>,
486}
487
488#[derive(Debug, Clone, Serialize, Deserialize)]
489#[serde(rename_all = "camelCase")]
490pub struct StepFunctionsExecutionsResponse {
491 pub executions: Vec<StepFunctionsExecution>,
492}
493
494#[derive(Debug, Clone, Serialize, Deserialize, Default)]
495#[serde(rename_all = "camelCase")]
496pub struct SfnEnqueueActivityTaskRequest {
497 pub activity_arn: String,
498 #[serde(skip_serializing_if = "Option::is_none")]
499 pub input: Option<String>,
500 #[serde(skip_serializing_if = "Option::is_none")]
501 pub heartbeat_seconds: Option<i64>,
502 #[serde(skip_serializing_if = "Option::is_none")]
503 pub timeout_seconds: Option<i64>,
504}
505
506#[derive(Debug, Clone, Serialize, Deserialize)]
507#[serde(rename_all = "camelCase")]
508pub struct SfnEnqueueActivityTaskResponse {
509 pub task_token: String,
510}
511
512#[derive(Debug, Clone, Serialize, Deserialize)]
515#[serde(rename_all = "camelCase")]
516pub struct UserConfirmationCodes {
517 pub confirmation_code: Option<String>,
518 pub attribute_verification_codes: serde_json::Value,
519}
520
521#[derive(Debug, Clone, Serialize, Deserialize)]
522#[serde(rename_all = "camelCase")]
523pub struct ConfirmationCode {
524 pub pool_id: String,
525 pub username: String,
526 pub code: String,
527 #[serde(rename = "type")]
528 pub code_type: String,
529 #[serde(skip_serializing_if = "Option::is_none")]
530 pub attribute: Option<String>,
531}
532
533#[derive(Debug, Clone, Serialize, Deserialize)]
534#[serde(rename_all = "camelCase")]
535pub struct ConfirmationCodesResponse {
536 pub codes: Vec<ConfirmationCode>,
537}
538
539#[derive(Debug, Clone, Serialize, Deserialize)]
540#[serde(rename_all = "camelCase")]
541pub struct ConfirmUserRequest {
542 pub user_pool_id: String,
543 pub username: String,
544}
545
546#[derive(Debug, Clone, Serialize, Deserialize)]
547#[serde(rename_all = "camelCase")]
548pub struct ConfirmUserResponse {
549 pub confirmed: bool,
550 #[serde(skip_serializing_if = "Option::is_none")]
551 pub error: Option<String>,
552}
553
554#[derive(Debug, Clone, Serialize, Deserialize)]
555#[serde(rename_all = "camelCase")]
556pub struct TokenInfo {
557 #[serde(rename = "type")]
558 pub token_type: String,
559 pub username: String,
560 pub pool_id: String,
561 pub client_id: String,
562 pub issued_at: f64,
563}
564
565#[derive(Debug, Clone, Serialize, Deserialize)]
566#[serde(rename_all = "camelCase")]
567pub struct TokensResponse {
568 pub tokens: Vec<TokenInfo>,
569}
570
571#[derive(Debug, Clone, Serialize, Deserialize)]
572#[serde(rename_all = "camelCase")]
573pub struct ExpireTokensRequest {
574 #[serde(skip_serializing_if = "Option::is_none")]
575 pub user_pool_id: Option<String>,
576 #[serde(skip_serializing_if = "Option::is_none")]
577 pub username: Option<String>,
578}
579
580#[derive(Debug, Clone, Serialize, Deserialize)]
581#[serde(rename_all = "camelCase")]
582pub struct ExpireTokensResponse {
583 pub expired_tokens: u64,
584}
585
586#[derive(Debug, Clone, Serialize, Deserialize)]
587#[serde(rename_all = "camelCase")]
588pub struct AuthEvent {
589 pub event_type: String,
590 pub username: String,
591 pub user_pool_id: String,
592 pub client_id: Option<String>,
593 pub timestamp: f64,
594 pub success: bool,
595}
596
597#[derive(Debug, Clone, Serialize, Deserialize)]
598#[serde(rename_all = "camelCase")]
599pub struct AuthEventsResponse {
600 pub events: Vec<AuthEvent>,
601}
602
603#[derive(Debug, Clone, Serialize, Deserialize)]
606#[serde(rename_all = "camelCase")]
607pub struct ApiGatewayV2Request {
608 pub request_id: String,
609 pub api_id: String,
610 pub stage: String,
611 pub method: String,
612 pub path: String,
613 pub headers: std::collections::HashMap<String, String>,
614 pub query_params: std::collections::HashMap<String, String>,
615 #[serde(skip_serializing_if = "Option::is_none")]
616 pub body: Option<String>,
617 pub timestamp: String,
618 pub status_code: u16,
619}
620
621#[derive(Debug, Clone, Serialize, Deserialize)]
622#[serde(rename_all = "camelCase")]
623pub struct ApiGatewayV2RequestsResponse {
624 pub requests: Vec<ApiGatewayV2Request>,
625}
626
627#[derive(Debug, Clone, Serialize, Deserialize)]
630#[serde(rename_all = "camelCase")]
631pub struct BedrockInvocation {
632 pub model_id: String,
633 pub input: String,
634 pub output: String,
635 pub timestamp: String,
636 #[serde(default)]
638 pub error: Option<String>,
639}
640
641#[derive(Debug, Clone, Serialize, Deserialize)]
642#[serde(rename_all = "camelCase")]
643pub struct BedrockInvocationsResponse {
644 pub invocations: Vec<BedrockInvocation>,
645}
646
647#[derive(Debug, Clone, Serialize, Deserialize)]
648#[serde(rename_all = "camelCase")]
649pub struct BedrockModelResponseConfig {
650 pub status: String,
651 pub model_id: String,
652}
653
654#[derive(Debug, Clone, Serialize, Deserialize)]
659#[serde(rename_all = "camelCase")]
660pub struct BedrockResponseRule {
661 #[serde(default, skip_serializing_if = "Option::is_none")]
662 pub prompt_contains: Option<String>,
663 pub response: String,
664}
665
666#[derive(Debug, Clone, Serialize, Deserialize, Default)]
668#[serde(rename_all = "camelCase")]
669pub struct BedrockFaultRule {
670 pub error_type: String,
671 #[serde(default, skip_serializing_if = "Option::is_none")]
672 pub message: Option<String>,
673 #[serde(default, skip_serializing_if = "Option::is_none")]
674 pub http_status: Option<u16>,
675 #[serde(default, skip_serializing_if = "Option::is_none")]
676 pub count: Option<u32>,
677 #[serde(default, skip_serializing_if = "Option::is_none")]
678 pub model_id: Option<String>,
679 #[serde(default, skip_serializing_if = "Option::is_none")]
680 pub operation: Option<String>,
681}
682
683#[derive(Debug, Clone, Serialize, Deserialize)]
685#[serde(rename_all = "camelCase")]
686pub struct BedrockFaultRuleState {
687 pub error_type: String,
688 pub message: String,
689 pub http_status: u16,
690 pub remaining: u32,
691 #[serde(default)]
692 pub model_id: Option<String>,
693 #[serde(default)]
694 pub operation: Option<String>,
695}
696
697#[derive(Debug, Clone, Serialize, Deserialize)]
698#[serde(rename_all = "camelCase")]
699pub struct BedrockFaultsResponse {
700 pub faults: Vec<BedrockFaultRuleState>,
701}
702
703#[derive(Debug, Clone, Serialize, Deserialize)]
704#[serde(rename_all = "camelCase")]
705pub struct BedrockStatusResponse {
706 pub status: String,
707}
708
709#[derive(Debug, Clone, Serialize, Deserialize)]
710#[serde(rename_all = "camelCase")]
711pub struct EcrRepository {
712 pub repository_name: String,
713 pub repository_arn: String,
714 pub registry_id: String,
715 pub repository_uri: String,
716 pub image_tag_mutability: String,
717 pub scan_on_push: bool,
718 pub created_at: String,
719 pub tags: Vec<EcrTag>,
720 pub has_policy: bool,
721 pub has_lifecycle_policy: bool,
722 pub image_count: u64,
723 pub layer_count: u64,
724}
725
726#[derive(Debug, Clone, Serialize, Deserialize)]
727#[serde(rename_all = "camelCase")]
728pub struct EcrImage {
729 pub repository_name: String,
730 pub image_digest: String,
731 pub image_tags: Vec<String>,
732 pub image_size_in_bytes: u64,
733 pub image_manifest_media_type: String,
734 pub image_pushed_at: String,
735}
736
737#[derive(Debug, Clone, Serialize, Deserialize)]
738#[serde(rename_all = "camelCase")]
739pub struct EcrImagesResponse {
740 pub images: Vec<EcrImage>,
741}
742
743#[derive(Debug, Clone, Serialize, Deserialize)]
744#[serde(rename_all = "camelCase")]
745pub struct EcrPullThroughRule {
746 pub ecr_repository_prefix: String,
747 pub upstream_registry_url: String,
748 pub upstream_registry: Option<String>,
749 pub credential_arn: Option<String>,
750 pub custom_role_arn: Option<String>,
751 pub created_at: String,
752 pub updated_at: String,
753}
754
755#[derive(Debug, Clone, Serialize, Deserialize)]
756#[serde(rename_all = "camelCase")]
757pub struct EcrPullThroughRulesResponse {
758 pub rules: Vec<EcrPullThroughRule>,
759}
760
761#[derive(Debug, Clone, Serialize, Deserialize)]
762#[serde(rename_all = "camelCase")]
763pub struct EcrTag {
764 pub key: String,
765 pub value: String,
766}
767
768#[derive(Debug, Clone, Serialize, Deserialize)]
769#[serde(rename_all = "camelCase")]
770pub struct EcrRepositoriesResponse {
771 pub repositories: Vec<EcrRepository>,
772}
773
774#[derive(Debug, Clone, Serialize, Deserialize)]
775#[serde(rename_all = "camelCase")]
776pub struct EcsCluster {
777 pub cluster_name: String,
778 pub cluster_arn: String,
779 pub status: String,
780 pub running_tasks_count: i32,
781 pub pending_tasks_count: i32,
782 pub active_services_count: i32,
783 pub registered_container_instances_count: i32,
784 pub capacity_providers: Vec<String>,
785 pub tags: Vec<EcsTag>,
786 pub created_at: String,
787}
788
789#[derive(Debug, Clone, Serialize, Deserialize)]
790#[serde(rename_all = "camelCase")]
791pub struct EcsTag {
792 pub key: String,
793 pub value: String,
794}
795
796#[derive(Debug, Clone, Serialize, Deserialize)]
797#[serde(rename_all = "camelCase")]
798pub struct EcsClustersResponse {
799 pub clusters: Vec<EcsCluster>,
800}
801
802#[derive(Debug, Clone, Serialize, Deserialize)]
803#[serde(rename_all = "camelCase")]
804pub struct EcsTaskContainer {
805 pub name: String,
806 pub image: String,
807 pub last_status: String,
808 pub exit_code: Option<i64>,
809 pub runtime_id: Option<String>,
810 pub essential: bool,
811}
812
813#[derive(Debug, Clone, Serialize, Deserialize)]
814#[serde(rename_all = "camelCase")]
815pub struct EcsTask {
816 pub task_arn: String,
817 pub task_id: String,
818 pub cluster_arn: String,
819 pub cluster_name: String,
820 pub task_definition_arn: String,
821 pub family: String,
822 pub revision: i32,
823 pub last_status: String,
824 pub desired_status: String,
825 pub launch_type: String,
826 pub created_at: String,
827 pub started_at: Option<String>,
828 pub stopping_at: Option<String>,
829 pub stopped_at: Option<String>,
830 pub stop_code: Option<String>,
831 pub stopped_reason: Option<String>,
832 pub containers: Vec<EcsTaskContainer>,
833 pub captured_log_bytes: usize,
834}
835
836#[derive(Debug, Clone, Serialize, Deserialize)]
837#[serde(rename_all = "camelCase")]
838pub struct EcsTasksResponse {
839 pub tasks: Vec<EcsTask>,
840}
841
842#[derive(Debug, Clone, Serialize, Deserialize)]
843#[serde(rename_all = "camelCase")]
844pub struct EcsTaskLogsResponse {
845 pub task_arn: String,
846 pub logs: String,
847 pub last_status: String,
848 pub exit_code: Option<i64>,
849}
850
851#[derive(Debug, Clone, Serialize, Deserialize, Default)]
852#[serde(rename_all = "camelCase")]
853pub struct EcsMarkFailedRequest {
854 pub exit_code: Option<i64>,
855 pub reason: Option<String>,
856}
857
858#[derive(Debug, Clone, Serialize, Deserialize)]
859#[serde(rename_all = "camelCase")]
860pub struct EcsLifecycleEvent {
861 pub at: String,
862 pub event_type: String,
863 pub task_arn: Option<String>,
864 pub cluster_arn: Option<String>,
865 pub last_status: Option<String>,
866 pub detail: serde_json::Value,
867}
868
869#[derive(Debug, Clone, Serialize, Deserialize)]
870#[serde(rename_all = "camelCase")]
871pub struct EcsEventsResponse {
872 pub events: Vec<EcsLifecycleEvent>,
873}
874
875#[derive(Debug, Clone, Serialize, Deserialize)]
878#[serde(rename_all = "camelCase")]
879pub struct Elbv2LoadBalancer {
880 pub arn: String,
881 pub name: String,
882 pub dns_name: String,
883 pub scheme: String,
884 pub vpc_id: String,
885 pub state_code: String,
886 pub state_reason: Option<String>,
887 pub lb_type: String,
888 pub ip_address_type: String,
889 pub availability_zones: Vec<Elbv2AvailabilityZone>,
890 pub security_groups: Vec<String>,
891 pub created_time: String,
892 pub tags: Vec<Elbv2Tag>,
893 #[serde(skip_serializing_if = "Option::is_none")]
897 pub bound_port: Option<u16>,
898}
899
900#[derive(Debug, Clone, Serialize, Deserialize)]
901#[serde(rename_all = "camelCase")]
902pub struct Elbv2AvailabilityZone {
903 pub zone_name: String,
904 pub subnet_id: String,
905}
906
907#[derive(Debug, Clone, Serialize, Deserialize)]
908#[serde(rename_all = "camelCase")]
909pub struct Elbv2Tag {
910 pub key: String,
911 pub value: String,
912}
913
914#[derive(Debug, Clone, Serialize, Deserialize)]
915#[serde(rename_all = "camelCase")]
916pub struct Elbv2LoadBalancersResponse {
917 pub load_balancers: Vec<Elbv2LoadBalancer>,
918}
919
920#[derive(Debug, Clone, Serialize, Deserialize)]
921#[serde(rename_all = "camelCase")]
922pub struct Elbv2TargetGroup {
923 pub arn: String,
924 pub name: String,
925 pub protocol: Option<String>,
926 pub port: Option<i32>,
927 pub vpc_id: Option<String>,
928 pub target_type: String,
929 pub load_balancer_arns: Vec<String>,
930 pub targets: Vec<Elbv2Target>,
931 pub health_check_protocol: Option<String>,
932 pub health_check_port: Option<String>,
933 pub health_check_path: Option<String>,
934 pub healthy_threshold_count: i32,
935 pub unhealthy_threshold_count: i32,
936 pub created_time: String,
937 pub tags: Vec<Elbv2Tag>,
938}
939
940#[derive(Debug, Clone, Serialize, Deserialize)]
941#[serde(rename_all = "camelCase")]
942pub struct Elbv2Target {
943 pub id: String,
944 pub port: Option<i32>,
945 pub availability_zone: Option<String>,
946 pub health_state: String,
947 pub health_reason: Option<String>,
948 pub health_description: Option<String>,
949}
950
951#[derive(Debug, Clone, Serialize, Deserialize)]
952#[serde(rename_all = "camelCase")]
953pub struct Elbv2TargetGroupsResponse {
954 pub target_groups: Vec<Elbv2TargetGroup>,
955}
956
957#[derive(Debug, Clone, Serialize, Deserialize)]
958#[serde(rename_all = "camelCase")]
959pub struct Elbv2Listener {
960 pub arn: String,
961 pub load_balancer_arn: String,
962 pub port: Option<i32>,
963 pub protocol: Option<String>,
964 pub ssl_policy: Option<String>,
965 pub certificate_arns: Vec<String>,
966 pub default_action_type: Option<String>,
967 pub default_target_group_arn: Option<String>,
968}
969
970#[derive(Debug, Clone, Serialize, Deserialize)]
971#[serde(rename_all = "camelCase")]
972pub struct Elbv2ListenersResponse {
973 pub listeners: Vec<Elbv2Listener>,
974}
975
976#[derive(Debug, Clone, Serialize, Deserialize)]
977#[serde(rename_all = "camelCase")]
978pub struct Elbv2Rule {
979 pub arn: String,
980 pub listener_arn: String,
981 pub priority: String,
982 pub is_default: bool,
983 pub condition_fields: Vec<String>,
984 pub action_type: Option<String>,
985}
986
987#[derive(Debug, Clone, Serialize, Deserialize)]
988#[serde(rename_all = "camelCase")]
989pub struct Elbv2RulesResponse {
990 pub rules: Vec<Elbv2Rule>,
991}
992
993#[derive(Debug, Clone, Serialize, Deserialize)]
998#[serde(rename_all = "camelCase")]
999pub struct CreateAdminRequest {
1000 pub account_id: String,
1001 pub user_name: String,
1002}
1003
1004#[derive(Debug, Clone, Serialize, Deserialize)]
1005#[serde(rename_all = "camelCase")]
1006pub struct CreateAdminResponse {
1007 pub access_key_id: String,
1008 pub secret_access_key: String,
1009 pub account_id: String,
1010 pub arn: String,
1011}