outscale_api/apis/
load_balancer_policy_api.rs1use reqwest;
12
13use super::{configuration, Error};
14use crate::apis::ResponseContent;
15
16#[derive(Debug, Clone, Serialize, Deserialize)]
18#[serde(untagged)]
19pub enum CreateLoadBalancerPolicyError {
20 UnknownValue(serde_json::Value),
21}
22
23#[derive(Debug, Clone, Serialize, Deserialize)]
25#[serde(untagged)]
26pub enum DeleteLoadBalancerPolicyError {
27 UnknownValue(serde_json::Value),
28}
29
30pub fn create_load_balancer_policy(
31 configuration: &configuration::Configuration,
32 create_load_balancer_policy_request: Option<crate::models::CreateLoadBalancerPolicyRequest>,
33) -> Result<crate::models::CreateLoadBalancerPolicyResponse, Error<CreateLoadBalancerPolicyError>> {
34 let local_var_configuration = configuration;
35
36 let local_var_client = &local_var_configuration.client;
37
38 let local_var_uri_str = format!(
39 "{}/CreateLoadBalancerPolicy",
40 local_var_configuration.base_path
41 );
42 let mut local_var_req_builder =
43 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
44
45 if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key {
46 let local_var_new_headers = match local_var_aws_v4_key.sign(
47 &local_var_uri_str,
48 "POST",
49 &serde_json::to_string(&create_load_balancer_policy_request)
50 .expect("param should serialize to string"),
51 ) {
52 Ok(new_headers) => new_headers,
53 Err(err) => return Err(Error::AWSV4SignatureError(err)),
54 };
55 for (local_var_name, local_var_value) in local_var_new_headers.iter() {
56 local_var_req_builder =
57 local_var_req_builder.header(local_var_name.as_str(), local_var_value.as_str());
58 }
59 }
60 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
61 local_var_req_builder =
62 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
63 }
64 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
65 let local_var_key = local_var_apikey.key.clone();
66 let local_var_value = match local_var_apikey.prefix {
67 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
68 None => local_var_key,
69 };
70 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
71 };
72 local_var_req_builder = local_var_req_builder.json(&create_load_balancer_policy_request);
73
74 let local_var_req = local_var_req_builder.build()?;
75 let mut local_var_resp = local_var_client.execute(local_var_req)?;
76
77 let local_var_status = local_var_resp.status();
78 let local_var_content = local_var_resp.text()?;
79
80 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
81 serde_json::from_str(&local_var_content).map_err(Error::from)
82 } else {
83 let local_var_entity: Option<CreateLoadBalancerPolicyError> =
84 serde_json::from_str(&local_var_content).ok();
85 let local_var_error = ResponseContent {
86 status: local_var_status,
87 content: local_var_content,
88 entity: local_var_entity,
89 };
90 Err(Error::ResponseError(local_var_error))
91 }
92}
93
94pub fn delete_load_balancer_policy(
95 configuration: &configuration::Configuration,
96 delete_load_balancer_policy_request: Option<crate::models::DeleteLoadBalancerPolicyRequest>,
97) -> Result<crate::models::DeleteLoadBalancerPolicyResponse, Error<DeleteLoadBalancerPolicyError>> {
98 let local_var_configuration = configuration;
99
100 let local_var_client = &local_var_configuration.client;
101
102 let local_var_uri_str = format!(
103 "{}/DeleteLoadBalancerPolicy",
104 local_var_configuration.base_path
105 );
106 let mut local_var_req_builder =
107 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
108
109 if let Some(ref local_var_aws_v4_key) = local_var_configuration.aws_v4_key {
110 let local_var_new_headers = match local_var_aws_v4_key.sign(
111 &local_var_uri_str,
112 "POST",
113 &serde_json::to_string(&delete_load_balancer_policy_request)
114 .expect("param should serialize to string"),
115 ) {
116 Ok(new_headers) => new_headers,
117 Err(err) => return Err(Error::AWSV4SignatureError(err)),
118 };
119 for (local_var_name, local_var_value) in local_var_new_headers.iter() {
120 local_var_req_builder =
121 local_var_req_builder.header(local_var_name.as_str(), local_var_value.as_str());
122 }
123 }
124 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
125 local_var_req_builder =
126 local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
127 }
128 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
129 let local_var_key = local_var_apikey.key.clone();
130 let local_var_value = match local_var_apikey.prefix {
131 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
132 None => local_var_key,
133 };
134 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
135 };
136 local_var_req_builder = local_var_req_builder.json(&delete_load_balancer_policy_request);
137
138 let local_var_req = local_var_req_builder.build()?;
139 let mut local_var_resp = local_var_client.execute(local_var_req)?;
140
141 let local_var_status = local_var_resp.status();
142 let local_var_content = local_var_resp.text()?;
143
144 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
145 serde_json::from_str(&local_var_content).map_err(Error::from)
146 } else {
147 let local_var_entity: Option<DeleteLoadBalancerPolicyError> =
148 serde_json::from_str(&local_var_content).ok();
149 let local_var_error = ResponseContent {
150 status: local_var_status,
151 content: local_var_content,
152 entity: local_var_entity,
153 };
154 Err(Error::ResponseError(local_var_error))
155 }
156}