fakecloud_cloudfront/
extras2.rs1use chrono::{DateTime, Utc};
5use serde::{Deserialize, Serialize};
6
7fn skip_if_none<T>(x: &Option<T>) -> bool {
8 x.is_none()
9}
10
11#[derive(Debug, Clone, Serialize, Deserialize, Default)]
14#[serde(rename_all = "PascalCase")]
15pub struct CreateConnectionGroupRequest {
16 pub name: String,
17 #[serde(default, skip_serializing_if = "skip_if_none")]
18 pub ipv6_enabled: Option<bool>,
19 #[serde(default, skip_serializing_if = "skip_if_none")]
20 pub anycast_ip_list_id: Option<String>,
21 #[serde(default, skip_serializing_if = "skip_if_none")]
22 pub enabled: Option<bool>,
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize, Default)]
26#[serde(rename_all = "PascalCase")]
27pub struct UpdateConnectionGroupRequest {
28 #[serde(default, skip_serializing_if = "skip_if_none")]
29 pub ipv6_enabled: Option<bool>,
30 #[serde(default, skip_serializing_if = "skip_if_none")]
31 pub anycast_ip_list_id: Option<String>,
32 #[serde(default, skip_serializing_if = "skip_if_none")]
33 pub enabled: Option<bool>,
34}
35
36#[derive(Debug, Clone, Serialize, Deserialize)]
37pub struct StoredConnectionGroup {
38 pub id: String,
39 pub name: String,
40 pub arn: String,
41 pub routing_endpoint: String,
42 pub status: String,
43 pub etag: String,
44 pub created_time: DateTime<Utc>,
45 pub last_modified_time: DateTime<Utc>,
46 pub ipv6_enabled: bool,
47 pub anycast_ip_list_id: Option<String>,
48 pub enabled: bool,
49 pub is_default: bool,
50}