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 #[serde(default, skip_serializing_if = "skip_if_none")]
24 pub tags: Option<crate::model::Tags>,
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize, Default)]
28#[serde(rename_all = "PascalCase")]
29pub struct UpdateConnectionGroupRequest {
30 #[serde(default, skip_serializing_if = "skip_if_none")]
31 pub ipv6_enabled: Option<bool>,
32 #[serde(default, skip_serializing_if = "skip_if_none")]
33 pub anycast_ip_list_id: Option<String>,
34 #[serde(default, skip_serializing_if = "skip_if_none")]
35 pub enabled: Option<bool>,
36}
37
38#[derive(Debug, Clone, Serialize, Deserialize)]
39pub struct StoredConnectionGroup {
40 pub id: String,
41 pub name: String,
42 pub arn: String,
43 pub routing_endpoint: String,
44 pub status: String,
45 pub etag: String,
46 pub created_time: DateTime<Utc>,
47 pub last_modified_time: DateTime<Utc>,
48 pub ipv6_enabled: bool,
49 pub anycast_ip_list_id: Option<String>,
50 pub enabled: bool,
51 pub is_default: bool,
52}