volcengine_sdk_protobuf/protobuf/
rds_instance.rs

1#[derive(serde::Serialize, serde::Deserialize)]
2#[serde(rename_all = "PascalCase")]
3#[allow(clippy::derive_partial_eq_without_eq)]
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct DescribeDbInstancesReq {
6    #[prost(string, optional, tag = "1")]
7    pub project_name: ::core::option::Option<::prost::alloc::string::String>,
8    #[prost(string, optional, tag = "2")]
9    pub instance_id: ::core::option::Option<::prost::alloc::string::String>,
10    #[prost(string, optional, tag = "3")]
11    pub instance_name: ::core::option::Option<::prost::alloc::string::String>,
12    #[prost(string, optional, tag = "4")]
13    pub instance_status: ::core::option::Option<::prost::alloc::string::String>,
14    #[prost(string, optional, tag = "5")]
15    pub db_engine_version: ::core::option::Option<::prost::alloc::string::String>,
16    #[prost(string, optional, tag = "6")]
17    pub create_time_start: ::core::option::Option<::prost::alloc::string::String>,
18    #[prost(string, optional, tag = "7")]
19    pub create_time_end: ::core::option::Option<::prost::alloc::string::String>,
20    #[prost(string, optional, tag = "8")]
21    pub zone_id: ::core::option::Option<::prost::alloc::string::String>,
22    #[prost(string, optional, tag = "9")]
23    pub charge_type: ::core::option::Option<::prost::alloc::string::String>,
24    #[prost(string, optional, tag = "10")]
25    pub instance_type: ::core::option::Option<::prost::alloc::string::String>,
26    #[prost(int64, optional, tag = "11")]
27    pub page_number: ::core::option::Option<i64>,
28    #[prost(string, optional, tag = "12")]
29    pub node_spec: ::core::option::Option<::prost::alloc::string::String>,
30    #[prost(int64, optional, tag = "13")]
31    pub page_size: ::core::option::Option<i64>,
32    #[prost(message, repeated, tag = "14")]
33    #[serde(default)]
34    pub tag_filters: ::prost::alloc::vec::Vec<DescribeDbInstancesTagFilterReq>,
35}
36#[derive(serde::Serialize, serde::Deserialize)]
37#[serde(rename_all = "PascalCase")]
38#[allow(clippy::derive_partial_eq_without_eq)]
39#[derive(Clone, PartialEq, ::prost::Message)]
40pub struct DescribeDbInstancesTagFilterReq {
41    #[prost(string, optional, tag = "1")]
42    pub key: ::core::option::Option<::prost::alloc::string::String>,
43    #[prost(string, optional, tag = "2")]
44    pub value: ::core::option::Option<::prost::alloc::string::String>,
45}
46#[derive(serde::Serialize, serde::Deserialize)]
47#[serde(rename_all = "PascalCase")]
48#[allow(clippy::derive_partial_eq_without_eq)]
49#[derive(Clone, PartialEq, ::prost::Message)]
50pub struct DescribeDbInstancesResp {
51    #[prost(message, optional, tag = "1")]
52    pub response_metadata: ::core::option::Option<ResponseMetadata>,
53    #[prost(message, optional, tag = "2")]
54    pub result: ::core::option::Option<DescribeDbInstancesResultResp>,
55}
56#[derive(serde::Serialize, serde::Deserialize)]
57#[serde(rename_all = "PascalCase")]
58#[allow(clippy::derive_partial_eq_without_eq)]
59#[derive(Clone, PartialEq, ::prost::Message)]
60pub struct DescribeDbInstancesResultResp {
61    #[prost(int64, optional, tag = "1")]
62    pub total: ::core::option::Option<i64>,
63    #[prost(message, repeated, tag = "2")]
64    pub instances: ::prost::alloc::vec::Vec<DescribeDbInstancesResultInstanceResp>,
65}
66#[derive(serde::Serialize, serde::Deserialize)]
67#[serde(rename_all = "PascalCase")]
68#[allow(clippy::derive_partial_eq_without_eq)]
69#[derive(Clone, PartialEq, ::prost::Message)]
70pub struct DescribeDbInstancesResultInstanceResp {
71    #[prost(string, optional, tag = "1")]
72    pub allow_list_version: ::core::option::Option<::prost::alloc::string::String>,
73    #[prost(string, optional, tag = "2")]
74    pub create_time: ::core::option::Option<::prost::alloc::string::String>,
75    #[prost(string, optional, tag = "3")]
76    pub db_engine_version: ::core::option::Option<::prost::alloc::string::String>,
77    #[prost(string, optional, tag = "4")]
78    pub instance_id: ::core::option::Option<::prost::alloc::string::String>,
79    #[prost(string, optional, tag = "5")]
80    pub instance_name: ::core::option::Option<::prost::alloc::string::String>,
81    #[prost(string, optional, tag = "6")]
82    pub instance_status: ::core::option::Option<::prost::alloc::string::String>,
83    #[prost(string, optional, tag = "7")]
84    pub instance_type: ::core::option::Option<::prost::alloc::string::String>,
85    #[prost(string, optional, tag = "8")]
86    pub lower_case_table_names: ::core::option::Option<::prost::alloc::string::String>,
87    #[prost(float, optional, tag = "9")]
88    pub node_cpu_used_percentage: ::core::option::Option<f32>,
89    #[prost(float, optional, tag = "10")]
90    pub node_memory_used_percentage: ::core::option::Option<f32>,
91    #[prost(int64, optional, tag = "11")]
92    pub node_number: ::core::option::Option<i64>,
93    #[prost(float, optional, tag = "12")]
94    pub node_space_used_percentage: ::core::option::Option<f32>,
95    #[prost(string, optional, tag = "13")]
96    pub node_spec: ::core::option::Option<::prost::alloc::string::String>,
97    #[prost(string, optional, tag = "14")]
98    pub project_name: ::core::option::Option<::prost::alloc::string::String>,
99    #[prost(string, optional, tag = "15")]
100    pub region_id: ::core::option::Option<::prost::alloc::string::String>,
101    #[prost(int64, optional, tag = "16")]
102    pub storage_space: ::core::option::Option<i64>,
103    #[prost(string, optional, tag = "17")]
104    pub storage_type: ::core::option::Option<::prost::alloc::string::String>,
105    #[prost(string, optional, tag = "18")]
106    pub subnet_id: ::core::option::Option<::prost::alloc::string::String>,
107    #[prost(string, optional, tag = "19")]
108    pub time_zone: ::core::option::Option<::prost::alloc::string::String>,
109    #[prost(string, optional, tag = "20")]
110    pub vpc_id: ::core::option::Option<::prost::alloc::string::String>,
111    #[prost(string, optional, tag = "21")]
112    pub zone_id: ::core::option::Option<::prost::alloc::string::String>,
113    #[prost(message, optional, tag = "22")]
114    pub charge_detail: ::core::option::Option<
115        DescribeDbInstancesResultInstanceChargeDetailResp,
116    >,
117    #[prost(message, optional, tag = "23")]
118    pub maintenance_window: ::core::option::Option<
119        DescribeDbInstancesResultInstanceMaintenanceWindowResp,
120    >,
121    #[prost(string, repeated, tag = "24")]
122    pub zone_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
123    #[prost(message, repeated, tag = "25")]
124    pub address_object: ::prost::alloc::vec::Vec<
125        DescribeDbInstancesResultInstanceAddressResp,
126    >,
127    #[prost(message, repeated, tag = "26")]
128    #[serde(default)]
129    pub tags: ::prost::alloc::vec::Vec<DescribeDbInstancesResultInstanceTagResp>,
130}
131#[derive(serde::Serialize, serde::Deserialize)]
132#[serde(rename_all = "PascalCase")]
133#[allow(clippy::derive_partial_eq_without_eq)]
134#[derive(Clone, PartialEq, ::prost::Message)]
135pub struct DescribeDbInstancesResultInstanceTagResp {
136    #[prost(string, optional, tag = "1")]
137    pub key: ::core::option::Option<::prost::alloc::string::String>,
138    #[prost(string, optional, tag = "2")]
139    pub value: ::core::option::Option<::prost::alloc::string::String>,
140}
141#[derive(serde::Serialize, serde::Deserialize)]
142#[serde(rename_all = "PascalCase")]
143#[allow(clippy::derive_partial_eq_without_eq)]
144#[derive(Clone, PartialEq, ::prost::Message)]
145pub struct DescribeDbInstancesResultInstanceMaintenanceWindowResp {
146    #[prost(string, optional, tag = "1")]
147    pub maintenance_time: ::core::option::Option<::prost::alloc::string::String>,
148    #[prost(string, optional, tag = "2")]
149    pub day_kind: ::core::option::Option<::prost::alloc::string::String>,
150    #[prost(string, repeated, tag = "3")]
151    pub day_of_week: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
152}
153#[derive(serde::Serialize, serde::Deserialize)]
154#[serde(rename_all = "PascalCase")]
155#[allow(clippy::derive_partial_eq_without_eq)]
156#[derive(Clone, PartialEq, ::prost::Message)]
157pub struct DescribeDbInstancesResultInstanceChargeDetailResp {
158    #[prost(string, optional, tag = "1")]
159    pub charge_type: ::core::option::Option<::prost::alloc::string::String>,
160    #[prost(bool, optional, tag = "2")]
161    pub auto_renew: ::core::option::Option<bool>,
162    #[prost(string, optional, tag = "3")]
163    pub period_unit: ::core::option::Option<::prost::alloc::string::String>,
164    #[prost(int64, optional, tag = "4")]
165    pub period: ::core::option::Option<i64>,
166    #[prost(string, optional, tag = "5")]
167    pub charge_status: ::core::option::Option<::prost::alloc::string::String>,
168    #[prost(string, optional, tag = "6")]
169    pub charge_start_time: ::core::option::Option<::prost::alloc::string::String>,
170    #[prost(string, optional, tag = "7")]
171    pub charge_end_time: ::core::option::Option<::prost::alloc::string::String>,
172    #[prost(string, optional, tag = "8")]
173    pub overdue_time: ::core::option::Option<::prost::alloc::string::String>,
174    #[prost(string, optional, tag = "9")]
175    pub overdue_reclaim_time: ::core::option::Option<::prost::alloc::string::String>,
176    #[prost(string, optional, tag = "10")]
177    pub temp_modify_start_time: ::core::option::Option<::prost::alloc::string::String>,
178    #[prost(string, optional, tag = "11")]
179    pub temp_modify_end_time: ::core::option::Option<::prost::alloc::string::String>,
180}
181#[derive(serde::Serialize, serde::Deserialize)]
182#[serde(rename_all = "PascalCase")]
183#[allow(clippy::derive_partial_eq_without_eq)]
184#[derive(Clone, PartialEq, ::prost::Message)]
185pub struct DescribeDbInstancesResultInstanceAddressResp {
186    #[prost(bool, optional, tag = "1")]
187    pub dns_visibility: ::core::option::Option<bool>,
188    #[prost(string, optional, tag = "2")]
189    pub domain: ::core::option::Option<::prost::alloc::string::String>,
190    #[prost(string, optional, tag = "3")]
191    pub eip_id: ::core::option::Option<::prost::alloc::string::String>,
192    #[prost(string, optional, tag = "4")]
193    pub ip_address: ::core::option::Option<::prost::alloc::string::String>,
194    #[prost(string, optional, tag = "5")]
195    pub internet_protocol: ::core::option::Option<::prost::alloc::string::String>,
196    #[prost(string, optional, tag = "6")]
197    pub network_type: ::core::option::Option<::prost::alloc::string::String>,
198    #[prost(string, optional, tag = "7")]
199    pub port: ::core::option::Option<::prost::alloc::string::String>,
200    #[prost(string, optional, tag = "8")]
201    pub subnet_id: ::core::option::Option<::prost::alloc::string::String>,
202}
203#[derive(serde::Serialize, serde::Deserialize)]
204#[serde(rename_all = "PascalCase")]
205#[allow(clippy::derive_partial_eq_without_eq)]
206#[derive(Clone, PartialEq, ::prost::Message)]
207pub struct ModifyDbInstanceSpecReq {
208    #[prost(string, optional, tag = "1")]
209    pub instance_id: ::core::option::Option<::prost::alloc::string::String>,
210    #[prost(string, optional, tag = "2")]
211    pub modify_type: ::core::option::Option<::prost::alloc::string::String>,
212    #[prost(string, optional, tag = "3")]
213    pub storage_type: ::core::option::Option<::prost::alloc::string::String>,
214    #[prost(int64, optional, tag = "4")]
215    pub storage_space: ::core::option::Option<i64>,
216    #[prost(string, optional, tag = "5")]
217    pub switch_type: ::core::option::Option<::prost::alloc::string::String>,
218    #[prost(message, repeated, tag = "6")]
219    pub node_info: ::prost::alloc::vec::Vec<ModifyDbInstanceSpecNodeInfoReq>,
220}
221#[derive(serde::Serialize, serde::Deserialize)]
222#[serde(rename_all = "PascalCase")]
223#[allow(clippy::derive_partial_eq_without_eq)]
224#[derive(Clone, PartialEq, ::prost::Message)]
225pub struct ModifyDbInstanceSpecNodeInfoReq {
226    #[prost(string, optional, tag = "1")]
227    pub node_id: ::core::option::Option<::prost::alloc::string::String>,
228    #[prost(string, optional, tag = "2")]
229    pub zone_id: ::core::option::Option<::prost::alloc::string::String>,
230    #[prost(string, optional, tag = "3")]
231    pub node_type: ::core::option::Option<::prost::alloc::string::String>,
232    #[prost(string, optional, tag = "4")]
233    pub node_spec: ::core::option::Option<::prost::alloc::string::String>,
234    #[prost(string, optional, tag = "5")]
235    pub node_operate_type: ::core::option::Option<::prost::alloc::string::String>,
236}
237#[derive(serde::Serialize, serde::Deserialize)]
238#[serde(rename_all = "PascalCase")]
239#[allow(clippy::derive_partial_eq_without_eq)]
240#[derive(Clone, PartialEq, ::prost::Message)]
241pub struct ModifyDbInstanceSpecResp {
242    #[prost(message, optional, tag = "1")]
243    pub response_metadata: ::core::option::Option<ResponseMetadata>,
244    #[prost(message, optional, tag = "2")]
245    pub result: ::core::option::Option<ModifyDbInstanceSpecResultResp>,
246}
247#[derive(serde::Serialize, serde::Deserialize)]
248#[serde(rename_all = "PascalCase")]
249#[allow(clippy::derive_partial_eq_without_eq)]
250#[derive(Clone, PartialEq, ::prost::Message)]
251pub struct ModifyDbInstanceSpecResultResp {
252    #[prost(string, optional, tag = "1")]
253    pub instance_id: ::core::option::Option<::prost::alloc::string::String>,
254    #[prost(string, optional, tag = "2")]
255    pub order_id: ::core::option::Option<::prost::alloc::string::String>,
256}
257#[derive(serde::Serialize, serde::Deserialize)]
258#[serde(rename_all = "PascalCase")]
259#[allow(clippy::derive_partial_eq_without_eq)]
260#[derive(Clone, PartialEq, ::prost::Message)]
261pub struct DescribeDbInstanceDetailReq {
262    #[prost(string, optional, tag = "1")]
263    pub instance_id: ::core::option::Option<::prost::alloc::string::String>,
264}
265#[derive(serde::Serialize, serde::Deserialize)]
266#[serde(rename_all = "PascalCase")]
267#[allow(clippy::derive_partial_eq_without_eq)]
268#[derive(Clone, PartialEq, ::prost::Message)]
269pub struct DescribeDbInstanceDetailResp {
270    #[prost(message, optional, tag = "1")]
271    pub response_metadata: ::core::option::Option<ResponseMetadata>,
272    #[prost(message, optional, tag = "2")]
273    pub result: ::core::option::Option<DescribeDbInstanceDetailResultResp>,
274}
275#[derive(serde::Serialize, serde::Deserialize)]
276#[serde(rename_all = "PascalCase")]
277#[allow(clippy::derive_partial_eq_without_eq)]
278#[derive(Clone, PartialEq, ::prost::Message)]
279pub struct DescribeDbInstanceDetailResultResp {
280    #[prost(message, optional, tag = "1")]
281    pub basic_info: ::core::option::Option<DescribeDbInstanceDetailResultBasicInfoResp>,
282    #[prost(message, optional, tag = "2")]
283    pub charge_detail: ::core::option::Option<
284        DescribeDbInstanceDetailResultChargeDetailResp,
285    >,
286    #[prost(message, repeated, tag = "3")]
287    pub endpoints: ::prost::alloc::vec::Vec<DescribeDbInstanceDetailResultEndpointResp>,
288    #[prost(message, repeated, tag = "4")]
289    pub node_detail_info: ::prost::alloc::vec::Vec<
290        DescribeDbInstanceDetailResultNodeResp,
291    >,
292    #[prost(message, optional, tag = "5")]
293    pub proxy_detail: ::core::option::Option<
294        DescribeDbInstanceDetailResultProxyDetailResp,
295    >,
296}
297#[derive(serde::Serialize, serde::Deserialize)]
298#[serde(rename_all = "PascalCase")]
299#[allow(clippy::derive_partial_eq_without_eq)]
300#[derive(Clone, PartialEq, ::prost::Message)]
301pub struct DescribeDbInstanceDetailResultProxyDetailResp {
302    #[prost(bool, optional, tag = "1")]
303    pub charged: ::core::option::Option<bool>,
304    #[prost(string, optional, tag = "2")]
305    pub db_proxy_status: ::core::option::Option<::prost::alloc::string::String>,
306    #[prost(message, optional, tag = "3")]
307    pub proxy_resource_info: ::core::option::Option<
308        DescribeDbInstanceDetailResultProxyDetailProxyResourceInfoResp,
309    >,
310}
311#[derive(serde::Serialize, serde::Deserialize)]
312#[serde(rename_all = "PascalCase")]
313#[allow(clippy::derive_partial_eq_without_eq)]
314#[derive(Clone, PartialEq, ::prost::Message)]
315pub struct DescribeDbInstanceDetailResultProxyDetailProxyResourceInfoResp {
316    #[prost(int64, optional, tag = "1")]
317    pub current_proxy_cpu_num: ::core::option::Option<i64>,
318    #[prost(int64, optional, tag = "2")]
319    pub max_proxy_cpu_num: ::core::option::Option<i64>,
320    #[prost(int64, optional, tag = "3")]
321    pub min_proxy_cpu_num: ::core::option::Option<i64>,
322}
323#[derive(serde::Serialize, serde::Deserialize)]
324#[serde(rename_all = "PascalCase")]
325#[allow(clippy::derive_partial_eq_without_eq)]
326#[derive(Clone, PartialEq, ::prost::Message)]
327pub struct DescribeDbInstanceDetailResultNodeResp {
328    #[prost(string, optional, tag = "1")]
329    pub instance_id: ::core::option::Option<::prost::alloc::string::String>,
330    #[prost(string, optional, tag = "2")]
331    pub node_id: ::core::option::Option<::prost::alloc::string::String>,
332    #[prost(string, optional, tag = "3")]
333    pub region_id: ::core::option::Option<::prost::alloc::string::String>,
334    #[prost(string, optional, tag = "4")]
335    pub zone_id: ::core::option::Option<::prost::alloc::string::String>,
336    #[prost(string, optional, tag = "5")]
337    pub node_type: ::core::option::Option<::prost::alloc::string::String>,
338    #[prost(string, optional, tag = "6")]
339    pub node_status: ::core::option::Option<::prost::alloc::string::String>,
340    #[prost(string, optional, tag = "7")]
341    pub node_spec: ::core::option::Option<::prost::alloc::string::String>,
342    #[prost(int64, optional, tag = "8")]
343    pub vcpu: ::core::option::Option<i64>,
344    #[prost(int64, optional, tag = "9")]
345    pub memory: ::core::option::Option<i64>,
346    #[prost(string, optional, tag = "10")]
347    pub create_time: ::core::option::Option<::prost::alloc::string::String>,
348    #[prost(string, optional, tag = "11")]
349    pub update_time: ::core::option::Option<::prost::alloc::string::String>,
350}
351#[derive(serde::Serialize, serde::Deserialize)]
352#[serde(rename_all = "PascalCase")]
353#[allow(clippy::derive_partial_eq_without_eq)]
354#[derive(Clone, PartialEq, ::prost::Message)]
355pub struct DescribeDbInstanceDetailResultChargeDetailResp {
356    #[prost(string, optional, tag = "1")]
357    pub charge_type: ::core::option::Option<::prost::alloc::string::String>,
358    #[prost(bool, optional, tag = "2")]
359    pub auto_renew: ::core::option::Option<bool>,
360    #[prost(string, optional, tag = "3")]
361    pub period_unit: ::core::option::Option<::prost::alloc::string::String>,
362    #[prost(int64, optional, tag = "4")]
363    pub period: ::core::option::Option<i64>,
364    #[prost(string, optional, tag = "5")]
365    pub charge_status: ::core::option::Option<::prost::alloc::string::String>,
366    #[prost(string, optional, tag = "6")]
367    pub charge_start_time: ::core::option::Option<::prost::alloc::string::String>,
368    #[prost(string, optional, tag = "7")]
369    pub charge_end_time: ::core::option::Option<::prost::alloc::string::String>,
370    #[prost(string, optional, tag = "8")]
371    pub overdue_time: ::core::option::Option<::prost::alloc::string::String>,
372    #[prost(string, optional, tag = "9")]
373    pub overdue_reclaim_time: ::core::option::Option<::prost::alloc::string::String>,
374    #[prost(string, optional, tag = "10")]
375    pub temp_modify_start_time: ::core::option::Option<::prost::alloc::string::String>,
376    #[prost(string, optional, tag = "11")]
377    pub temp_modify_end_time: ::core::option::Option<::prost::alloc::string::String>,
378}
379#[derive(serde::Serialize, serde::Deserialize)]
380#[serde(rename_all = "PascalCase")]
381#[allow(clippy::derive_partial_eq_without_eq)]
382#[derive(Clone, PartialEq, ::prost::Message)]
383pub struct DescribeDbInstanceDetailResultBasicInfoResp {
384    #[prost(string, optional, tag = "1")]
385    pub instance_id: ::core::option::Option<::prost::alloc::string::String>,
386    #[prost(string, optional, tag = "2")]
387    pub instance_name: ::core::option::Option<::prost::alloc::string::String>,
388    #[prost(string, optional, tag = "3")]
389    pub instance_status: ::core::option::Option<::prost::alloc::string::String>,
390    #[prost(string, optional, tag = "4")]
391    pub region_id: ::core::option::Option<::prost::alloc::string::String>,
392    #[prost(string, optional, tag = "5")]
393    pub zone_id: ::core::option::Option<::prost::alloc::string::String>,
394    #[prost(string, optional, tag = "6")]
395    #[serde(rename = "DBEngine")]
396    pub db_engine: ::core::option::Option<::prost::alloc::string::String>,
397    #[prost(string, optional, tag = "7")]
398    #[serde(rename = "DBEngineVersion")]
399    pub db_engine_version: ::core::option::Option<::prost::alloc::string::String>,
400    #[prost(string, optional, tag = "8")]
401    pub instance_type: ::core::option::Option<::prost::alloc::string::String>,
402    #[prost(int64, optional, tag = "9")]
403    pub vcpu: ::core::option::Option<i64>,
404    #[prost(int64, optional, tag = "10")]
405    pub memory: ::core::option::Option<i64>,
406    #[prost(string, optional, tag = "11")]
407    pub node_spec: ::core::option::Option<::prost::alloc::string::String>,
408    #[prost(string, optional, tag = "12")]
409    pub node_number: ::core::option::Option<::prost::alloc::string::String>,
410    #[prost(string, optional, tag = "13")]
411    pub create_time: ::core::option::Option<::prost::alloc::string::String>,
412    #[prost(string, optional, tag = "14")]
413    pub update_time: ::core::option::Option<::prost::alloc::string::String>,
414    #[prost(string, optional, tag = "15")]
415    pub storage_type: ::core::option::Option<::prost::alloc::string::String>,
416    #[prost(int64, optional, tag = "16")]
417    pub storage_space: ::core::option::Option<i64>,
418    #[prost(float, optional, tag = "17")]
419    pub storage_use: ::core::option::Option<f32>,
420    #[prost(float, optional, tag = "18")]
421    pub backup_use: ::core::option::Option<f32>,
422    #[prost(string, optional, tag = "19")]
423    pub vpc_id: ::core::option::Option<::prost::alloc::string::String>,
424    #[prost(string, optional, tag = "20")]
425    pub subnet_id: ::core::option::Option<::prost::alloc::string::String>,
426    #[prost(string, optional, tag = "21")]
427    pub time_zone: ::core::option::Option<::prost::alloc::string::String>,
428    #[prost(string, optional, tag = "22")]
429    pub lower_case_table_names: ::core::option::Option<::prost::alloc::string::String>,
430    #[prost(string, optional, tag = "23")]
431    pub data_sync_mode: ::core::option::Option<::prost::alloc::string::String>,
432    #[prost(string, optional, tag = "24")]
433    pub project_name: ::core::option::Option<::prost::alloc::string::String>,
434    #[prost(string, optional, tag = "25")]
435    pub allow_list_version: ::core::option::Option<::prost::alloc::string::String>,
436    #[prost(message, repeated, tag = "26")]
437    #[serde(default)]
438    pub tags: ::prost::alloc::vec::Vec<DescribeDbInstanceDetailResultBasicInfoTagResp>,
439}
440#[derive(serde::Serialize, serde::Deserialize)]
441#[serde(rename_all = "PascalCase")]
442#[allow(clippy::derive_partial_eq_without_eq)]
443#[derive(Clone, PartialEq, ::prost::Message)]
444pub struct DescribeDbInstanceDetailResultEndpointResp {
445    #[prost(string, optional, tag = "1")]
446    pub endpoint_id: ::core::option::Option<::prost::alloc::string::String>,
447    #[prost(string, optional, tag = "2")]
448    pub endpoint_name: ::core::option::Option<::prost::alloc::string::String>,
449    #[prost(string, optional, tag = "3")]
450    pub endpoint_type: ::core::option::Option<::prost::alloc::string::String>,
451    #[prost(string, optional, tag = "4")]
452    pub read_write_mode: ::core::option::Option<::prost::alloc::string::String>,
453    #[prost(string, optional, tag = "5")]
454    pub description: ::core::option::Option<::prost::alloc::string::String>,
455    #[prost(string, optional, tag = "6")]
456    pub auto_add_new_nodes: ::core::option::Option<::prost::alloc::string::String>,
457    #[prost(string, optional, tag = "7")]
458    pub enable_read_write_splitting: ::core::option::Option<
459        ::prost::alloc::string::String,
460    >,
461    #[prost(string, optional, tag = "8")]
462    pub enable_read_only: ::core::option::Option<::prost::alloc::string::String>,
463    #[prost(message, repeated, tag = "9")]
464    pub addresses: ::prost::alloc::vec::Vec<
465        DescribeDbInstanceDetailResultEndpointAddressesResp,
466    >,
467    #[prost(message, repeated, tag = "10")]
468    pub address: ::prost::alloc::vec::Vec<
469        DescribeDbInstanceDetailResultEndpointAddressesResp,
470    >,
471    #[prost(message, repeated, tag = "11")]
472    pub read_only_node_weight: ::prost::alloc::vec::Vec<
473        DescribeDbInstanceDetailResultEndpointReadOnlyNodeWeightResp,
474    >,
475}
476#[derive(serde::Serialize, serde::Deserialize)]
477#[serde(rename_all = "PascalCase")]
478#[allow(clippy::derive_partial_eq_without_eq)]
479#[derive(Clone, PartialEq, ::prost::Message)]
480pub struct DescribeDbInstanceDetailResultEndpointReadOnlyNodeWeightResp {
481    #[prost(string, optional, tag = "1")]
482    pub node_id: ::core::option::Option<::prost::alloc::string::String>,
483    #[prost(string, optional, tag = "2")]
484    pub node_type: ::core::option::Option<::prost::alloc::string::String>,
485    #[prost(int64, optional, tag = "3")]
486    pub weight: ::core::option::Option<i64>,
487}
488#[derive(serde::Serialize, serde::Deserialize)]
489#[serde(rename_all = "PascalCase")]
490#[allow(clippy::derive_partial_eq_without_eq)]
491#[derive(Clone, PartialEq, ::prost::Message)]
492pub struct DescribeDbInstanceDetailResultEndpointAddressResp {
493    #[prost(bool, optional, tag = "1")]
494    pub dns_visibility: ::core::option::Option<bool>,
495    #[prost(string, optional, tag = "2")]
496    pub domain: ::core::option::Option<::prost::alloc::string::String>,
497    #[prost(string, optional, tag = "3")]
498    pub eip_id: ::core::option::Option<::prost::alloc::string::String>,
499    #[prost(string, optional, tag = "4")]
500    pub ip_address: ::core::option::Option<::prost::alloc::string::String>,
501    #[prost(string, optional, tag = "5")]
502    pub internet_protocol: ::core::option::Option<::prost::alloc::string::String>,
503    #[prost(string, optional, tag = "6")]
504    pub network_type: ::core::option::Option<::prost::alloc::string::String>,
505    #[prost(string, optional, tag = "7")]
506    pub port: ::core::option::Option<::prost::alloc::string::String>,
507    #[prost(string, optional, tag = "8")]
508    pub subnet_id: ::core::option::Option<::prost::alloc::string::String>,
509}
510#[derive(serde::Serialize, serde::Deserialize)]
511#[serde(rename_all = "PascalCase")]
512#[allow(clippy::derive_partial_eq_without_eq)]
513#[derive(Clone, PartialEq, ::prost::Message)]
514pub struct DescribeDbInstanceDetailResultEndpointAddressesResp {
515    #[prost(bool, optional, tag = "1")]
516    pub dns_visibility: ::core::option::Option<bool>,
517    #[prost(string, optional, tag = "2")]
518    pub domain: ::core::option::Option<::prost::alloc::string::String>,
519    #[prost(string, optional, tag = "3")]
520    pub eip_id: ::core::option::Option<::prost::alloc::string::String>,
521    #[prost(string, optional, tag = "4")]
522    pub ip_address: ::core::option::Option<::prost::alloc::string::String>,
523    #[prost(string, optional, tag = "5")]
524    pub internet_protocol: ::core::option::Option<::prost::alloc::string::String>,
525    #[prost(string, optional, tag = "6")]
526    pub network_type: ::core::option::Option<::prost::alloc::string::String>,
527    #[prost(string, optional, tag = "7")]
528    pub port: ::core::option::Option<::prost::alloc::string::String>,
529    #[prost(string, optional, tag = "8")]
530    pub subnet_id: ::core::option::Option<::prost::alloc::string::String>,
531}
532#[derive(serde::Serialize, serde::Deserialize)]
533#[serde(rename_all = "PascalCase")]
534#[allow(clippy::derive_partial_eq_without_eq)]
535#[derive(Clone, PartialEq, ::prost::Message)]
536pub struct DescribeDbInstanceDetailResultBasicInfoTagResp {
537    #[prost(string, optional, tag = "1")]
538    pub key: ::core::option::Option<::prost::alloc::string::String>,
539    #[prost(string, optional, tag = "2")]
540    pub value: ::core::option::Option<::prost::alloc::string::String>,
541}
542#[derive(serde::Serialize, serde::Deserialize)]
543#[serde(rename_all = "PascalCase")]
544#[allow(clippy::derive_partial_eq_without_eq)]
545#[derive(Clone, PartialEq, ::prost::Message)]
546pub struct CreateDbInstanceReq {
547    #[prost(string, optional, tag = "1")]
548    pub db_engine_version: ::core::option::Option<::prost::alloc::string::String>,
549    #[prost(string, optional, tag = "2")]
550    pub storage_type: ::core::option::Option<::prost::alloc::string::String>,
551    #[prost(int64, optional, tag = "3")]
552    pub storage_space: ::core::option::Option<i64>,
553    #[prost(string, optional, tag = "4")]
554    pub instance_type: ::core::option::Option<::prost::alloc::string::String>,
555    #[prost(string, optional, tag = "5")]
556    pub vpc_id: ::core::option::Option<::prost::alloc::string::String>,
557    #[prost(string, optional, tag = "6")]
558    pub subnet_id: ::core::option::Option<::prost::alloc::string::String>,
559    #[prost(string, optional, tag = "7")]
560    pub instance_name: ::core::option::Option<::prost::alloc::string::String>,
561    #[prost(string, optional, tag = "8")]
562    pub super_account_name: ::core::option::Option<::prost::alloc::string::String>,
563    #[prost(string, optional, tag = "9")]
564    pub super_account_password: ::core::option::Option<::prost::alloc::string::String>,
565    #[prost(string, optional, tag = "10")]
566    pub lower_case_table_names: ::core::option::Option<::prost::alloc::string::String>,
567    #[prost(string, optional, tag = "11")]
568    pub db_time_zone: ::core::option::Option<::prost::alloc::string::String>,
569    #[prost(string, optional, tag = "12")]
570    pub db_param_group_id: ::core::option::Option<::prost::alloc::string::String>,
571    #[prost(string, optional, tag = "13")]
572    pub project_name: ::core::option::Option<::prost::alloc::string::String>,
573    #[prost(int64, optional, tag = "14")]
574    pub port: ::core::option::Option<i64>,
575    #[prost(message, optional, tag = "15")]
576    pub charge_info: ::core::option::Option<CreateDbInstanceChargeInfoReq>,
577    #[prost(message, optional, tag = "16")]
578    pub maintenance_window: ::core::option::Option<
579        CreateDbInstanceMaintenanceWindowObjectReq,
580    >,
581    #[prost(string, repeated, tag = "17")]
582    pub allow_list_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
583    #[prost(message, repeated, tag = "18")]
584    pub node_info: ::prost::alloc::vec::Vec<CreateDbInstanceNodeInfoReq>,
585    #[prost(message, repeated, tag = "19")]
586    pub instance_tags: ::prost::alloc::vec::Vec<CreateDbInstanceTagReq>,
587}
588#[derive(serde::Serialize, serde::Deserialize)]
589#[serde(rename_all = "PascalCase")]
590#[allow(clippy::derive_partial_eq_without_eq)]
591#[derive(Clone, PartialEq, ::prost::Message)]
592pub struct CreateDbInstanceMaintenanceWindowObjectReq {
593    #[prost(string, optional, tag = "1")]
594    pub maintenance_time: ::core::option::Option<::prost::alloc::string::String>,
595    #[prost(string, optional, tag = "2")]
596    pub day_kind: ::core::option::Option<::prost::alloc::string::String>,
597    #[prost(string, repeated, tag = "3")]
598    pub day_of_week: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
599}
600#[derive(serde::Serialize, serde::Deserialize)]
601#[serde(rename_all = "PascalCase")]
602#[allow(clippy::derive_partial_eq_without_eq)]
603#[derive(Clone, PartialEq, ::prost::Message)]
604pub struct CreateDbInstanceTagReq {
605    #[prost(string, optional, tag = "1")]
606    pub key: ::core::option::Option<::prost::alloc::string::String>,
607    #[prost(string, optional, tag = "2")]
608    pub value: ::core::option::Option<::prost::alloc::string::String>,
609}
610#[derive(serde::Serialize, serde::Deserialize)]
611#[serde(rename_all = "PascalCase")]
612#[allow(clippy::derive_partial_eq_without_eq)]
613#[derive(Clone, PartialEq, ::prost::Message)]
614pub struct CreateDbInstanceChargeInfoReq {
615    #[prost(string, optional, tag = "1")]
616    pub charge_type: ::core::option::Option<::prost::alloc::string::String>,
617    #[prost(bool, optional, tag = "2")]
618    pub auto_renew: ::core::option::Option<bool>,
619    #[prost(string, optional, tag = "3")]
620    pub period_unit: ::core::option::Option<::prost::alloc::string::String>,
621    #[prost(int64, optional, tag = "4")]
622    pub period: ::core::option::Option<i64>,
623    #[prost(int64, optional, tag = "5")]
624    pub number: ::core::option::Option<i64>,
625}
626#[derive(serde::Serialize, serde::Deserialize)]
627#[serde(rename_all = "PascalCase")]
628#[allow(clippy::derive_partial_eq_without_eq)]
629#[derive(Clone, PartialEq, ::prost::Message)]
630pub struct CreateDbInstanceNodeInfoReq {
631    #[prost(string, optional, tag = "1")]
632    pub node_id: ::core::option::Option<::prost::alloc::string::String>,
633    #[prost(string, optional, tag = "2")]
634    pub zone_id: ::core::option::Option<::prost::alloc::string::String>,
635    #[prost(string, optional, tag = "3")]
636    pub node_type: ::core::option::Option<::prost::alloc::string::String>,
637    #[prost(string, optional, tag = "4")]
638    pub node_spec: ::core::option::Option<::prost::alloc::string::String>,
639    #[prost(string, optional, tag = "5")]
640    pub node_operate_type: ::core::option::Option<::prost::alloc::string::String>,
641}
642#[derive(serde::Serialize, serde::Deserialize)]
643#[serde(rename_all = "PascalCase")]
644#[allow(clippy::derive_partial_eq_without_eq)]
645#[derive(Clone, PartialEq, ::prost::Message)]
646pub struct CreateDbInstanceResp {
647    #[prost(message, optional, tag = "1")]
648    pub response_metadata: ::core::option::Option<ResponseMetadata>,
649    #[prost(message, optional, tag = "2")]
650    pub result: ::core::option::Option<CreateDbInstanceResultResp>,
651}
652#[derive(serde::Serialize, serde::Deserialize)]
653#[serde(rename_all = "PascalCase")]
654#[allow(clippy::derive_partial_eq_without_eq)]
655#[derive(Clone, PartialEq, ::prost::Message)]
656pub struct CreateDbInstanceResultResp {
657    #[prost(string, optional, tag = "1")]
658    pub instance_id: ::core::option::Option<::prost::alloc::string::String>,
659    #[prost(string, optional, tag = "2")]
660    pub order_id: ::core::option::Option<::prost::alloc::string::String>,
661}
662#[derive(serde::Serialize, serde::Deserialize)]
663#[serde(rename_all = "PascalCase")]
664#[allow(clippy::derive_partial_eq_without_eq)]
665#[derive(Clone, PartialEq, ::prost::Message)]
666pub struct ResponseMetadata {
667    #[prost(string, tag = "1")]
668    pub request_id: ::prost::alloc::string::String,
669    #[prost(string, tag = "2")]
670    pub action: ::prost::alloc::string::String,
671    #[prost(string, tag = "3")]
672    pub version: ::prost::alloc::string::String,
673    #[prost(string, tag = "4")]
674    pub service: ::prost::alloc::string::String,
675    #[prost(string, tag = "5")]
676    pub region: ::prost::alloc::string::String,
677    #[prost(message, optional, tag = "6")]
678    pub error: ::core::option::Option<ResponseMetadataErr>,
679}
680#[derive(serde::Serialize, serde::Deserialize)]
681#[serde(rename_all = "PascalCase")]
682#[allow(clippy::derive_partial_eq_without_eq)]
683#[derive(Clone, PartialEq, ::prost::Message)]
684pub struct ResponseMetadataErr {
685    #[prost(int64, optional, tag = "1")]
686    pub code_n: ::core::option::Option<i64>,
687    #[prost(string, tag = "2")]
688    pub code: ::prost::alloc::string::String,
689    #[prost(string, tag = "3")]
690    pub message: ::prost::alloc::string::String,
691}
692/// Generated client implementations.
693pub mod rds_instance_client {
694    #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
695    use tonic::codegen::*;
696    use tonic::codegen::http::Uri;
697    #[derive(Debug, Clone)]
698    pub struct RdsInstanceClient<T> {
699        inner: tonic::client::Grpc<T>,
700    }
701    impl RdsInstanceClient<tonic::transport::Channel> {
702        /// Attempt to create a new client by connecting to a given endpoint.
703        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
704        where
705            D: TryInto<tonic::transport::Endpoint>,
706            D::Error: Into<StdError>,
707        {
708            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
709            Ok(Self::new(conn))
710        }
711    }
712    impl<T> RdsInstanceClient<T>
713    where
714        T: tonic::client::GrpcService<tonic::body::BoxBody>,
715        T::Error: Into<StdError>,
716        T::ResponseBody: Body<Data = Bytes> + Send + 'static,
717        <T::ResponseBody as Body>::Error: Into<StdError> + Send,
718    {
719        pub fn new(inner: T) -> Self {
720            let inner = tonic::client::Grpc::new(inner);
721            Self { inner }
722        }
723        pub fn with_origin(inner: T, origin: Uri) -> Self {
724            let inner = tonic::client::Grpc::with_origin(inner, origin);
725            Self { inner }
726        }
727        pub fn with_interceptor<F>(
728            inner: T,
729            interceptor: F,
730        ) -> RdsInstanceClient<InterceptedService<T, F>>
731        where
732            F: tonic::service::Interceptor,
733            T::ResponseBody: Default,
734            T: tonic::codegen::Service<
735                http::Request<tonic::body::BoxBody>,
736                Response = http::Response<
737                    <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
738                >,
739            >,
740            <T as tonic::codegen::Service<
741                http::Request<tonic::body::BoxBody>,
742            >>::Error: Into<StdError> + Send + Sync,
743        {
744            RdsInstanceClient::new(InterceptedService::new(inner, interceptor))
745        }
746        /// Compress requests with the given encoding.
747        ///
748        /// This requires the server to support it otherwise it might respond with an
749        /// error.
750        #[must_use]
751        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
752            self.inner = self.inner.send_compressed(encoding);
753            self
754        }
755        /// Enable decompressing responses.
756        #[must_use]
757        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
758            self.inner = self.inner.accept_compressed(encoding);
759            self
760        }
761        /// Limits the maximum size of a decoded message.
762        ///
763        /// Default: `4MB`
764        #[must_use]
765        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
766            self.inner = self.inner.max_decoding_message_size(limit);
767            self
768        }
769        /// Limits the maximum size of an encoded message.
770        ///
771        /// Default: `usize::MAX`
772        #[must_use]
773        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
774            self.inner = self.inner.max_encoding_message_size(limit);
775            self
776        }
777        /// DescribeDBInstances
778        pub async fn describe_db_instances(
779            &mut self,
780            request: impl tonic::IntoRequest<super::DescribeDbInstancesReq>,
781        ) -> std::result::Result<
782            tonic::Response<super::DescribeDbInstancesResp>,
783            tonic::Status,
784        > {
785            self.inner
786                .ready()
787                .await
788                .map_err(|e| {
789                    tonic::Status::new(
790                        tonic::Code::Unknown,
791                        format!("Service was not ready: {}", e.into()),
792                    )
793                })?;
794            let codec = tonic::codec::ProstCodec::default();
795            let path = http::uri::PathAndQuery::from_static(
796                "/rds_instance.RdsInstance/DescribeDBInstances",
797            );
798            let mut req = request.into_request();
799            req.extensions_mut()
800                .insert(
801                    GrpcMethod::new("rds_instance.RdsInstance", "DescribeDBInstances"),
802                );
803            self.inner.unary(req, path, codec).await
804        }
805        /// CreateDBInstance
806        pub async fn create_db_instance(
807            &mut self,
808            request: impl tonic::IntoRequest<super::CreateDbInstanceReq>,
809        ) -> std::result::Result<
810            tonic::Response<super::CreateDbInstanceResp>,
811            tonic::Status,
812        > {
813            self.inner
814                .ready()
815                .await
816                .map_err(|e| {
817                    tonic::Status::new(
818                        tonic::Code::Unknown,
819                        format!("Service was not ready: {}", e.into()),
820                    )
821                })?;
822            let codec = tonic::codec::ProstCodec::default();
823            let path = http::uri::PathAndQuery::from_static(
824                "/rds_instance.RdsInstance/CreateDBInstance",
825            );
826            let mut req = request.into_request();
827            req.extensions_mut()
828                .insert(GrpcMethod::new("rds_instance.RdsInstance", "CreateDBInstance"));
829            self.inner.unary(req, path, codec).await
830        }
831        /// ModifyDBInstanceSpec
832        pub async fn modify_db_instance_spec(
833            &mut self,
834            request: impl tonic::IntoRequest<super::ModifyDbInstanceSpecReq>,
835        ) -> std::result::Result<
836            tonic::Response<super::ModifyDbInstanceSpecResp>,
837            tonic::Status,
838        > {
839            self.inner
840                .ready()
841                .await
842                .map_err(|e| {
843                    tonic::Status::new(
844                        tonic::Code::Unknown,
845                        format!("Service was not ready: {}", e.into()),
846                    )
847                })?;
848            let codec = tonic::codec::ProstCodec::default();
849            let path = http::uri::PathAndQuery::from_static(
850                "/rds_instance.RdsInstance/ModifyDBInstanceSpec",
851            );
852            let mut req = request.into_request();
853            req.extensions_mut()
854                .insert(
855                    GrpcMethod::new("rds_instance.RdsInstance", "ModifyDBInstanceSpec"),
856                );
857            self.inner.unary(req, path, codec).await
858        }
859        /// DescribeDBInstanceDetail
860        pub async fn describe_db_instance_detail(
861            &mut self,
862            request: impl tonic::IntoRequest<super::DescribeDbInstanceDetailReq>,
863        ) -> std::result::Result<
864            tonic::Response<super::DescribeDbInstanceDetailResp>,
865            tonic::Status,
866        > {
867            self.inner
868                .ready()
869                .await
870                .map_err(|e| {
871                    tonic::Status::new(
872                        tonic::Code::Unknown,
873                        format!("Service was not ready: {}", e.into()),
874                    )
875                })?;
876            let codec = tonic::codec::ProstCodec::default();
877            let path = http::uri::PathAndQuery::from_static(
878                "/rds_instance.RdsInstance/DescribeDBInstanceDetail",
879            );
880            let mut req = request.into_request();
881            req.extensions_mut()
882                .insert(
883                    GrpcMethod::new(
884                        "rds_instance.RdsInstance",
885                        "DescribeDBInstanceDetail",
886                    ),
887                );
888            self.inner.unary(req, path, codec).await
889        }
890    }
891}
892/// Generated server implementations.
893pub mod rds_instance_server {
894    #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
895    use tonic::codegen::*;
896    /// Generated trait containing gRPC methods that should be implemented for use with RdsInstanceServer.
897    #[async_trait]
898    pub trait RdsInstance: Send + Sync + 'static {
899        /// DescribeDBInstances
900        async fn describe_db_instances(
901            &self,
902            request: tonic::Request<super::DescribeDbInstancesReq>,
903        ) -> std::result::Result<
904            tonic::Response<super::DescribeDbInstancesResp>,
905            tonic::Status,
906        >;
907        /// CreateDBInstance
908        async fn create_db_instance(
909            &self,
910            request: tonic::Request<super::CreateDbInstanceReq>,
911        ) -> std::result::Result<
912            tonic::Response<super::CreateDbInstanceResp>,
913            tonic::Status,
914        >;
915        /// ModifyDBInstanceSpec
916        async fn modify_db_instance_spec(
917            &self,
918            request: tonic::Request<super::ModifyDbInstanceSpecReq>,
919        ) -> std::result::Result<
920            tonic::Response<super::ModifyDbInstanceSpecResp>,
921            tonic::Status,
922        >;
923        /// DescribeDBInstanceDetail
924        async fn describe_db_instance_detail(
925            &self,
926            request: tonic::Request<super::DescribeDbInstanceDetailReq>,
927        ) -> std::result::Result<
928            tonic::Response<super::DescribeDbInstanceDetailResp>,
929            tonic::Status,
930        >;
931    }
932    #[derive(Debug)]
933    pub struct RdsInstanceServer<T: RdsInstance> {
934        inner: _Inner<T>,
935        accept_compression_encodings: EnabledCompressionEncodings,
936        send_compression_encodings: EnabledCompressionEncodings,
937        max_decoding_message_size: Option<usize>,
938        max_encoding_message_size: Option<usize>,
939    }
940    struct _Inner<T>(Arc<T>);
941    impl<T: RdsInstance> RdsInstanceServer<T> {
942        pub fn new(inner: T) -> Self {
943            Self::from_arc(Arc::new(inner))
944        }
945        pub fn from_arc(inner: Arc<T>) -> Self {
946            let inner = _Inner(inner);
947            Self {
948                inner,
949                accept_compression_encodings: Default::default(),
950                send_compression_encodings: Default::default(),
951                max_decoding_message_size: None,
952                max_encoding_message_size: None,
953            }
954        }
955        pub fn with_interceptor<F>(
956            inner: T,
957            interceptor: F,
958        ) -> InterceptedService<Self, F>
959        where
960            F: tonic::service::Interceptor,
961        {
962            InterceptedService::new(Self::new(inner), interceptor)
963        }
964        /// Enable decompressing requests with the given encoding.
965        #[must_use]
966        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
967            self.accept_compression_encodings.enable(encoding);
968            self
969        }
970        /// Compress responses with the given encoding, if the client supports it.
971        #[must_use]
972        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
973            self.send_compression_encodings.enable(encoding);
974            self
975        }
976        /// Limits the maximum size of a decoded message.
977        ///
978        /// Default: `4MB`
979        #[must_use]
980        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
981            self.max_decoding_message_size = Some(limit);
982            self
983        }
984        /// Limits the maximum size of an encoded message.
985        ///
986        /// Default: `usize::MAX`
987        #[must_use]
988        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
989            self.max_encoding_message_size = Some(limit);
990            self
991        }
992    }
993    impl<T, B> tonic::codegen::Service<http::Request<B>> for RdsInstanceServer<T>
994    where
995        T: RdsInstance,
996        B: Body + Send + 'static,
997        B::Error: Into<StdError> + Send + 'static,
998    {
999        type Response = http::Response<tonic::body::BoxBody>;
1000        type Error = std::convert::Infallible;
1001        type Future = BoxFuture<Self::Response, Self::Error>;
1002        fn poll_ready(
1003            &mut self,
1004            _cx: &mut Context<'_>,
1005        ) -> Poll<std::result::Result<(), Self::Error>> {
1006            Poll::Ready(Ok(()))
1007        }
1008        fn call(&mut self, req: http::Request<B>) -> Self::Future {
1009            let inner = self.inner.clone();
1010            match req.uri().path() {
1011                "/rds_instance.RdsInstance/DescribeDBInstances" => {
1012                    #[allow(non_camel_case_types)]
1013                    struct DescribeDBInstancesSvc<T: RdsInstance>(pub Arc<T>);
1014                    impl<
1015                        T: RdsInstance,
1016                    > tonic::server::UnaryService<super::DescribeDbInstancesReq>
1017                    for DescribeDBInstancesSvc<T> {
1018                        type Response = super::DescribeDbInstancesResp;
1019                        type Future = BoxFuture<
1020                            tonic::Response<Self::Response>,
1021                            tonic::Status,
1022                        >;
1023                        fn call(
1024                            &mut self,
1025                            request: tonic::Request<super::DescribeDbInstancesReq>,
1026                        ) -> Self::Future {
1027                            let inner = Arc::clone(&self.0);
1028                            let fut = async move {
1029                                (*inner).describe_db_instances(request).await
1030                            };
1031                            Box::pin(fut)
1032                        }
1033                    }
1034                    let accept_compression_encodings = self.accept_compression_encodings;
1035                    let send_compression_encodings = self.send_compression_encodings;
1036                    let max_decoding_message_size = self.max_decoding_message_size;
1037                    let max_encoding_message_size = self.max_encoding_message_size;
1038                    let inner = self.inner.clone();
1039                    let fut = async move {
1040                        let inner = inner.0;
1041                        let method = DescribeDBInstancesSvc(inner);
1042                        let codec = tonic::codec::ProstCodec::default();
1043                        let mut grpc = tonic::server::Grpc::new(codec)
1044                            .apply_compression_config(
1045                                accept_compression_encodings,
1046                                send_compression_encodings,
1047                            )
1048                            .apply_max_message_size_config(
1049                                max_decoding_message_size,
1050                                max_encoding_message_size,
1051                            );
1052                        let res = grpc.unary(method, req).await;
1053                        Ok(res)
1054                    };
1055                    Box::pin(fut)
1056                }
1057                "/rds_instance.RdsInstance/CreateDBInstance" => {
1058                    #[allow(non_camel_case_types)]
1059                    struct CreateDBInstanceSvc<T: RdsInstance>(pub Arc<T>);
1060                    impl<
1061                        T: RdsInstance,
1062                    > tonic::server::UnaryService<super::CreateDbInstanceReq>
1063                    for CreateDBInstanceSvc<T> {
1064                        type Response = super::CreateDbInstanceResp;
1065                        type Future = BoxFuture<
1066                            tonic::Response<Self::Response>,
1067                            tonic::Status,
1068                        >;
1069                        fn call(
1070                            &mut self,
1071                            request: tonic::Request<super::CreateDbInstanceReq>,
1072                        ) -> Self::Future {
1073                            let inner = Arc::clone(&self.0);
1074                            let fut = async move {
1075                                (*inner).create_db_instance(request).await
1076                            };
1077                            Box::pin(fut)
1078                        }
1079                    }
1080                    let accept_compression_encodings = self.accept_compression_encodings;
1081                    let send_compression_encodings = self.send_compression_encodings;
1082                    let max_decoding_message_size = self.max_decoding_message_size;
1083                    let max_encoding_message_size = self.max_encoding_message_size;
1084                    let inner = self.inner.clone();
1085                    let fut = async move {
1086                        let inner = inner.0;
1087                        let method = CreateDBInstanceSvc(inner);
1088                        let codec = tonic::codec::ProstCodec::default();
1089                        let mut grpc = tonic::server::Grpc::new(codec)
1090                            .apply_compression_config(
1091                                accept_compression_encodings,
1092                                send_compression_encodings,
1093                            )
1094                            .apply_max_message_size_config(
1095                                max_decoding_message_size,
1096                                max_encoding_message_size,
1097                            );
1098                        let res = grpc.unary(method, req).await;
1099                        Ok(res)
1100                    };
1101                    Box::pin(fut)
1102                }
1103                "/rds_instance.RdsInstance/ModifyDBInstanceSpec" => {
1104                    #[allow(non_camel_case_types)]
1105                    struct ModifyDBInstanceSpecSvc<T: RdsInstance>(pub Arc<T>);
1106                    impl<
1107                        T: RdsInstance,
1108                    > tonic::server::UnaryService<super::ModifyDbInstanceSpecReq>
1109                    for ModifyDBInstanceSpecSvc<T> {
1110                        type Response = super::ModifyDbInstanceSpecResp;
1111                        type Future = BoxFuture<
1112                            tonic::Response<Self::Response>,
1113                            tonic::Status,
1114                        >;
1115                        fn call(
1116                            &mut self,
1117                            request: tonic::Request<super::ModifyDbInstanceSpecReq>,
1118                        ) -> Self::Future {
1119                            let inner = Arc::clone(&self.0);
1120                            let fut = async move {
1121                                (*inner).modify_db_instance_spec(request).await
1122                            };
1123                            Box::pin(fut)
1124                        }
1125                    }
1126                    let accept_compression_encodings = self.accept_compression_encodings;
1127                    let send_compression_encodings = self.send_compression_encodings;
1128                    let max_decoding_message_size = self.max_decoding_message_size;
1129                    let max_encoding_message_size = self.max_encoding_message_size;
1130                    let inner = self.inner.clone();
1131                    let fut = async move {
1132                        let inner = inner.0;
1133                        let method = ModifyDBInstanceSpecSvc(inner);
1134                        let codec = tonic::codec::ProstCodec::default();
1135                        let mut grpc = tonic::server::Grpc::new(codec)
1136                            .apply_compression_config(
1137                                accept_compression_encodings,
1138                                send_compression_encodings,
1139                            )
1140                            .apply_max_message_size_config(
1141                                max_decoding_message_size,
1142                                max_encoding_message_size,
1143                            );
1144                        let res = grpc.unary(method, req).await;
1145                        Ok(res)
1146                    };
1147                    Box::pin(fut)
1148                }
1149                "/rds_instance.RdsInstance/DescribeDBInstanceDetail" => {
1150                    #[allow(non_camel_case_types)]
1151                    struct DescribeDBInstanceDetailSvc<T: RdsInstance>(pub Arc<T>);
1152                    impl<
1153                        T: RdsInstance,
1154                    > tonic::server::UnaryService<super::DescribeDbInstanceDetailReq>
1155                    for DescribeDBInstanceDetailSvc<T> {
1156                        type Response = super::DescribeDbInstanceDetailResp;
1157                        type Future = BoxFuture<
1158                            tonic::Response<Self::Response>,
1159                            tonic::Status,
1160                        >;
1161                        fn call(
1162                            &mut self,
1163                            request: tonic::Request<super::DescribeDbInstanceDetailReq>,
1164                        ) -> Self::Future {
1165                            let inner = Arc::clone(&self.0);
1166                            let fut = async move {
1167                                (*inner).describe_db_instance_detail(request).await
1168                            };
1169                            Box::pin(fut)
1170                        }
1171                    }
1172                    let accept_compression_encodings = self.accept_compression_encodings;
1173                    let send_compression_encodings = self.send_compression_encodings;
1174                    let max_decoding_message_size = self.max_decoding_message_size;
1175                    let max_encoding_message_size = self.max_encoding_message_size;
1176                    let inner = self.inner.clone();
1177                    let fut = async move {
1178                        let inner = inner.0;
1179                        let method = DescribeDBInstanceDetailSvc(inner);
1180                        let codec = tonic::codec::ProstCodec::default();
1181                        let mut grpc = tonic::server::Grpc::new(codec)
1182                            .apply_compression_config(
1183                                accept_compression_encodings,
1184                                send_compression_encodings,
1185                            )
1186                            .apply_max_message_size_config(
1187                                max_decoding_message_size,
1188                                max_encoding_message_size,
1189                            );
1190                        let res = grpc.unary(method, req).await;
1191                        Ok(res)
1192                    };
1193                    Box::pin(fut)
1194                }
1195                _ => {
1196                    Box::pin(async move {
1197                        Ok(
1198                            http::Response::builder()
1199                                .status(200)
1200                                .header("grpc-status", "12")
1201                                .header("content-type", "application/grpc")
1202                                .body(empty_body())
1203                                .unwrap(),
1204                        )
1205                    })
1206                }
1207            }
1208        }
1209    }
1210    impl<T: RdsInstance> Clone for RdsInstanceServer<T> {
1211        fn clone(&self) -> Self {
1212            let inner = self.inner.clone();
1213            Self {
1214                inner,
1215                accept_compression_encodings: self.accept_compression_encodings,
1216                send_compression_encodings: self.send_compression_encodings,
1217                max_decoding_message_size: self.max_decoding_message_size,
1218                max_encoding_message_size: self.max_encoding_message_size,
1219            }
1220        }
1221    }
1222    impl<T: RdsInstance> Clone for _Inner<T> {
1223        fn clone(&self) -> Self {
1224            Self(Arc::clone(&self.0))
1225        }
1226    }
1227    impl<T: std::fmt::Debug> std::fmt::Debug for _Inner<T> {
1228        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1229            write!(f, "{:?}", self.0)
1230        }
1231    }
1232    impl<T: RdsInstance> tonic::server::NamedService for RdsInstanceServer<T> {
1233        const NAME: &'static str = "rds_instance.RdsInstance";
1234    }
1235}