outscale_api/apis/
nat_service_api.rs1use super::{configuration, Error};
12use crate::apis::ResponseContent;
13
14#[derive(Debug, Clone, Serialize, Deserialize)]
16#[serde(untagged)]
17pub enum CreateNatServiceError {
18 Status400(crate::models::ErrorResponse),
19 Status401(crate::models::ErrorResponse),
20 Status500(crate::models::ErrorResponse),
21 UnknownValue(serde_json::Value),
22}
23
24#[derive(Debug, Clone, Serialize, Deserialize)]
26#[serde(untagged)]
27pub enum DeleteNatServiceError {
28 Status400(crate::models::ErrorResponse),
29 Status401(crate::models::ErrorResponse),
30 Status500(crate::models::ErrorResponse),
31 UnknownValue(serde_json::Value),
32}
33
34#[derive(Debug, Clone, Serialize, Deserialize)]
36#[serde(untagged)]
37pub enum ReadNatServicesError {
38 Status400(crate::models::ErrorResponse),
39 Status401(crate::models::ErrorResponse),
40 Status500(crate::models::ErrorResponse),
41 UnknownValue(serde_json::Value),
42}
43
44pub fn create_nat_service(
46 configuration: &configuration::Configuration,
47 create_nat_service_request: Option<crate::models::CreateNatServiceRequest>,
48) -> Result<crate::models::CreateNatServiceResponse, Error<CreateNatServiceError>> {
49 let local_var_configuration = configuration;
50
51 let local_var_client = &local_var_configuration.client;
52
53 let local_var_uri_str = format!("{}/CreateNatService", local_var_configuration.base_path);
54 let mut local_var_req_builder =
55 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
56
57 if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key {
58 let local_var_new_headers = match local_var_aws_v4_key.sign(
59 &local_var_uri_str,
60 "POST",
61 &serde_json::to_string(&create_nat_service_request)
62 .expect("param should serialize to string"),
63 ) {
64 Ok(new_headers) => new_headers,
65 Err(err) => return Err(Error::AWSV4SignatureError(err)),
66 };
67 for (local_var_name, local_var_value) in local_var_new_headers.iter() {
68 local_var_req_builder =
69 local_var_req_builder.header(local_var_name.as_str(), local_var_value.as_str());
70 }
71 }
72 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
73 local_var_req_builder =
74 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
75 }
76 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
77 let local_var_key = local_var_apikey.key.clone();
78 let local_var_value = match local_var_apikey.prefix {
79 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
80 None => local_var_key,
81 };
82 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
83 };
84 local_var_req_builder = local_var_req_builder.json(&create_nat_service_request);
85
86 let local_var_req = local_var_req_builder.build()?;
87 let local_var_resp = local_var_client.execute(local_var_req)?;
88
89 let local_var_status = local_var_resp.status();
90 let local_var_content = local_var_resp.text()?;
91
92 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
93 serde_json::from_str(&local_var_content).map_err(Error::from)
94 } else {
95 let local_var_entity: Option<CreateNatServiceError> =
96 serde_json::from_str(&local_var_content).ok();
97 let local_var_error = ResponseContent {
98 status: local_var_status,
99 content: local_var_content,
100 entity: local_var_entity,
101 };
102 Err(Error::ResponseError(local_var_error))
103 }
104}
105
106pub fn delete_nat_service(
108 configuration: &configuration::Configuration,
109 delete_nat_service_request: Option<crate::models::DeleteNatServiceRequest>,
110) -> Result<crate::models::DeleteNatServiceResponse, Error<DeleteNatServiceError>> {
111 let local_var_configuration = configuration;
112
113 let local_var_client = &local_var_configuration.client;
114
115 let local_var_uri_str = format!("{}/DeleteNatService", local_var_configuration.base_path);
116 let mut local_var_req_builder =
117 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
118
119 if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key {
120 let local_var_new_headers = match local_var_aws_v4_key.sign(
121 &local_var_uri_str,
122 "POST",
123 &serde_json::to_string(&delete_nat_service_request)
124 .expect("param should serialize to string"),
125 ) {
126 Ok(new_headers) => new_headers,
127 Err(err) => return Err(Error::AWSV4SignatureError(err)),
128 };
129 for (local_var_name, local_var_value) in local_var_new_headers.iter() {
130 local_var_req_builder =
131 local_var_req_builder.header(local_var_name.as_str(), local_var_value.as_str());
132 }
133 }
134 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
135 local_var_req_builder =
136 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
137 }
138 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
139 let local_var_key = local_var_apikey.key.clone();
140 let local_var_value = match local_var_apikey.prefix {
141 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
142 None => local_var_key,
143 };
144 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
145 };
146 local_var_req_builder = local_var_req_builder.json(&delete_nat_service_request);
147
148 let local_var_req = local_var_req_builder.build()?;
149 let local_var_resp = local_var_client.execute(local_var_req)?;
150
151 let local_var_status = local_var_resp.status();
152 let local_var_content = local_var_resp.text()?;
153
154 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
155 serde_json::from_str(&local_var_content).map_err(Error::from)
156 } else {
157 let local_var_entity: Option<DeleteNatServiceError> =
158 serde_json::from_str(&local_var_content).ok();
159 let local_var_error = ResponseContent {
160 status: local_var_status,
161 content: local_var_content,
162 entity: local_var_entity,
163 };
164 Err(Error::ResponseError(local_var_error))
165 }
166}
167
168pub fn read_nat_services(
170 configuration: &configuration::Configuration,
171 read_nat_services_request: Option<crate::models::ReadNatServicesRequest>,
172) -> Result<crate::models::ReadNatServicesResponse, Error<ReadNatServicesError>> {
173 let local_var_configuration = configuration;
174
175 let local_var_client = &local_var_configuration.client;
176
177 let local_var_uri_str = format!("{}/ReadNatServices", local_var_configuration.base_path);
178 let mut local_var_req_builder =
179 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
180
181 if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key {
182 let local_var_new_headers = match local_var_aws_v4_key.sign(
183 &local_var_uri_str,
184 "POST",
185 &serde_json::to_string(&read_nat_services_request)
186 .expect("param should serialize to string"),
187 ) {
188 Ok(new_headers) => new_headers,
189 Err(err) => return Err(Error::AWSV4SignatureError(err)),
190 };
191 for (local_var_name, local_var_value) in local_var_new_headers.iter() {
192 local_var_req_builder =
193 local_var_req_builder.header(local_var_name.as_str(), local_var_value.as_str());
194 }
195 }
196 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
197 local_var_req_builder =
198 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
199 }
200 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
201 let local_var_key = local_var_apikey.key.clone();
202 let local_var_value = match local_var_apikey.prefix {
203 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
204 None => local_var_key,
205 };
206 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
207 };
208 local_var_req_builder = local_var_req_builder.json(&read_nat_services_request);
209
210 let local_var_req = local_var_req_builder.build()?;
211 let local_var_resp = local_var_client.execute(local_var_req)?;
212
213 let local_var_status = local_var_resp.status();
214 let local_var_content = local_var_resp.text()?;
215
216 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
217 serde_json::from_str(&local_var_content).map_err(Error::from)
218 } else {
219 let local_var_entity: Option<ReadNatServicesError> =
220 serde_json::from_str(&local_var_content).ok();
221 let local_var_error = ResponseContent {
222 status: local_var_status,
223 content: local_var_content,
224 entity: local_var_entity,
225 };
226 Err(Error::ResponseError(local_var_error))
227 }
228}