aws_sdk_timestreamquery/config/endpoint/
internals.rs1#[allow(
3 clippy::collapsible_if,
4 clippy::bool_comparison,
5 clippy::nonminimal_bool,
6 clippy::comparison_to_empty,
7 clippy::redundant_pattern_matching,
8 clippy::useless_asref
9)]
10pub(super) fn resolve_endpoint(
11 _params: &crate::config::endpoint::Params,
12 _diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector,
13 partition_resolver: &crate::endpoint_lib::partition::PartitionResolver,
14) -> ::aws_smithy_http::endpoint::Result {
15 #[allow(unused_variables)]
16 let region = &_params.region;
17 #[allow(unused_variables)]
18 let use_dual_stack = &_params.use_dual_stack;
19 #[allow(unused_variables)]
20 let use_fips = &_params.use_fips;
21 #[allow(unused_variables)]
22 let endpoint = &_params.endpoint;
23 #[allow(unused_variables)]
24 if let Some(endpoint) = endpoint {
25 if (*use_fips) == (true) {
26 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
27 "Invalid Configuration: FIPS and custom endpoint are not supported".to_string(),
28 ));
29 }
30 if (*use_dual_stack) == (true) {
31 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
32 "Invalid Configuration: Dualstack and custom endpoint are not supported".to_string(),
33 ));
34 }
35 return Ok(::aws_smithy_types::endpoint::Endpoint::builder().url(endpoint.to_owned()).build());
36 }
37 #[allow(unused_variables)]
38 if let Some(region) = region {
39 #[allow(unused_variables)]
40 if let Some(partition_result) = partition_resolver.resolve_partition(region.as_ref() as &str, _diagnostic_collector) {
41 if (*use_fips) == (true) {
42 if (*use_dual_stack) == (true) {
43 if (true) == (partition_result.supports_fips()) {
44 if (true) == (partition_result.supports_dual_stack()) {
45 if ("aws") == (partition_result.name()) {
46 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
47 .url({
48 let mut out = String::new();
49 out.push_str("https://timestream-query-fips.");
50 #[allow(clippy::needless_borrow)]
51 out.push_str(®ion.as_ref() as &str);
52 out.push_str(".api.aws");
53 out
54 })
55 .build());
56 }
57 if ("aws-us-gov") == (partition_result.name()) {
58 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
59 .url({
60 let mut out = String::new();
61 out.push_str("https://timestream-query.");
62 #[allow(clippy::needless_borrow)]
63 out.push_str(®ion.as_ref() as &str);
64 out.push_str(".api.aws");
65 out
66 })
67 .build());
68 }
69 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
70 .url({
71 let mut out = String::new();
72 out.push_str("https://query.timestream-fips.");
73 #[allow(clippy::needless_borrow)]
74 out.push_str(®ion.as_ref() as &str);
75 out.push('.');
76 #[allow(clippy::needless_borrow)]
77 out.push_str(&partition_result.dual_stack_dns_suffix());
78 out
79 })
80 .build());
81 }
82 }
83 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
84 "FIPS and DualStack are enabled, but this partition does not support one or both".to_string(),
85 ));
86 }
87 }
88 if (*use_fips) == (true) {
89 if (partition_result.supports_fips()) == (true) {
90 if (partition_result.name()) == ("aws-us-gov") {
91 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
92 .url({
93 let mut out = String::new();
94 out.push_str("https://query.timestream.");
95 #[allow(clippy::needless_borrow)]
96 out.push_str(®ion.as_ref() as &str);
97 out.push_str(".amazonaws.com");
98 out
99 })
100 .build());
101 }
102 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
103 .url({
104 let mut out = String::new();
105 out.push_str("https://query.timestream-fips.");
106 #[allow(clippy::needless_borrow)]
107 out.push_str(®ion.as_ref() as &str);
108 out.push('.');
109 #[allow(clippy::needless_borrow)]
110 out.push_str(&partition_result.dns_suffix());
111 out
112 })
113 .build());
114 }
115 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
116 "FIPS is enabled but this partition does not support FIPS".to_string(),
117 ));
118 }
119 if (*use_dual_stack) == (true) {
120 if (true) == (partition_result.supports_dual_stack()) {
121 if ("aws") == (partition_result.name()) {
122 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
123 .url({
124 let mut out = String::new();
125 out.push_str("https://timestream-query.");
126 #[allow(clippy::needless_borrow)]
127 out.push_str(®ion.as_ref() as &str);
128 out.push_str(".api.aws");
129 out
130 })
131 .build());
132 }
133 if ("aws-us-gov") == (partition_result.name()) {
134 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
135 .url({
136 let mut out = String::new();
137 out.push_str("https://timestream-query.");
138 #[allow(clippy::needless_borrow)]
139 out.push_str(®ion.as_ref() as &str);
140 out.push_str(".api.aws");
141 out
142 })
143 .build());
144 }
145 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
146 .url({
147 let mut out = String::new();
148 out.push_str("https://query.timestream.");
149 #[allow(clippy::needless_borrow)]
150 out.push_str(®ion.as_ref() as &str);
151 out.push('.');
152 #[allow(clippy::needless_borrow)]
153 out.push_str(&partition_result.dual_stack_dns_suffix());
154 out
155 })
156 .build());
157 }
158 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
159 "DualStack is enabled but this partition does not support DualStack".to_string(),
160 ));
161 }
162 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
163 .url({
164 let mut out = String::new();
165 out.push_str("https://query.timestream.");
166 #[allow(clippy::needless_borrow)]
167 out.push_str(®ion.as_ref() as &str);
168 out.push('.');
169 #[allow(clippy::needless_borrow)]
170 out.push_str(&partition_result.dns_suffix());
171 out
172 })
173 .build());
174 }
175 #[allow(unreachable_code)]
176 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(format!(
177 "No rules matched these parameters. This is a bug. {:?}",
178 _params
179 )));
180 }
181 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
182 "Invalid Configuration: Missing Region".to_string(),
183 ));
184}