1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct PatchInstance {
16 #[serde(
17 rename = "app_services",
18 default,
19 with = "::serde_with::rust::double_option",
20 skip_serializing_if = "Option::is_none"
21 )]
22 pub app_services: Option<Option<Vec<models::AppType>>>,
23 #[serde(
24 rename = "autoscaling",
25 default,
26 with = "::serde_with::rust::double_option",
27 skip_serializing_if = "Option::is_none"
28 )]
29 pub autoscaling: Option<Option<Box<models::PatchAutoscaling>>>,
30 #[serde(
31 rename = "connection_pooler",
32 default,
33 with = "::serde_with::rust::double_option",
34 skip_serializing_if = "Option::is_none"
35 )]
36 pub connection_pooler: Option<Option<Box<models::ConnectionPooler>>>,
37 #[serde(
38 rename = "cpu",
39 default,
40 with = "::serde_with::rust::double_option",
41 skip_serializing_if = "Option::is_none"
42 )]
43 pub cpu: Option<Option<models::Cpu>>,
44 #[serde(
45 rename = "dedicated_networking",
46 default,
47 with = "::serde_with::rust::double_option",
48 skip_serializing_if = "Option::is_none"
49 )]
50 pub dedicated_networking: Option<Option<Box<models::DedicatedNetworking>>>,
51 #[serde(
52 rename = "environment",
53 default,
54 with = "::serde_with::rust::double_option",
55 skip_serializing_if = "Option::is_none"
56 )]
57 pub environment: Option<Option<models::Environment>>,
58 #[serde(
59 rename = "experimental",
60 default,
61 with = "::serde_with::rust::double_option",
62 skip_serializing_if = "Option::is_none"
63 )]
64 pub experimental: Option<Option<Box<models::Experimental>>>,
65 #[serde(
66 rename = "extensions",
67 default,
68 with = "::serde_with::rust::double_option",
69 skip_serializing_if = "Option::is_none"
70 )]
71 pub extensions: Option<Option<Vec<models::Extension>>>,
72 #[serde(
73 rename = "extra_domains_rw",
74 default,
75 with = "::serde_with::rust::double_option",
76 skip_serializing_if = "Option::is_none"
77 )]
78 pub extra_domains_rw: Option<Option<Vec<String>>>,
79 #[serde(
80 rename = "instance_name",
81 default,
82 with = "::serde_with::rust::double_option",
83 skip_serializing_if = "Option::is_none"
84 )]
85 pub instance_name: Option<Option<String>>,
86 #[serde(
87 rename = "ip_allow_list",
88 default,
89 with = "::serde_with::rust::double_option",
90 skip_serializing_if = "Option::is_none"
91 )]
92 pub ip_allow_list: Option<Option<Vec<String>>>,
93 #[serde(
94 rename = "memory",
95 default,
96 with = "::serde_with::rust::double_option",
97 skip_serializing_if = "Option::is_none"
98 )]
99 pub memory: Option<Option<models::Memory>>,
100 #[serde(
101 rename = "postgres_configs",
102 default,
103 with = "::serde_with::rust::double_option",
104 skip_serializing_if = "Option::is_none"
105 )]
106 pub postgres_configs: Option<Option<Vec<models::PgConfig>>>,
107 #[serde(
108 rename = "replicas",
109 default,
110 with = "::serde_with::rust::double_option",
111 skip_serializing_if = "Option::is_none"
112 )]
113 pub replicas: Option<Option<i32>>,
114 #[serde(
115 rename = "spot",
116 default,
117 with = "::serde_with::rust::double_option",
118 skip_serializing_if = "Option::is_none"
119 )]
120 pub spot: Option<Option<bool>>,
121 #[serde(
122 rename = "storage",
123 default,
124 with = "::serde_with::rust::double_option",
125 skip_serializing_if = "Option::is_none"
126 )]
127 pub storage: Option<Option<models::Storage>>,
128 #[serde(
129 rename = "trunk_installs",
130 default,
131 with = "::serde_with::rust::double_option",
132 skip_serializing_if = "Option::is_none"
133 )]
134 pub trunk_installs: Option<Option<Vec<models::TrunkInstall>>>,
135}
136
137impl PatchInstance {
138 pub fn new() -> PatchInstance {
139 PatchInstance {
140 app_services: None,
141 autoscaling: None,
142 connection_pooler: None,
143 cpu: None,
144 dedicated_networking: None,
145 environment: None,
146 experimental: None,
147 extensions: None,
148 extra_domains_rw: None,
149 instance_name: None,
150 ip_allow_list: None,
151 memory: None,
152 postgres_configs: None,
153 replicas: None,
154 spot: None,
155 storage: None,
156 trunk_installs: None,
157 }
158 }
159}