aws_sdk_cloudfront/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 use_dual_stack = &_params.use_dual_stack;
17 #[allow(unused_variables)]
18 let use_fips = &_params.use_fips;
19 #[allow(unused_variables)]
20 let endpoint = &_params.endpoint;
21 #[allow(unused_variables)]
22 let region = &_params.region;
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 (partition_result.name()) == ("aws") {
42 if (*use_fips) == (false) {
43 if (*use_dual_stack) == (true) {
44 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
45 .url("https://cloudfront.global.api.aws".to_string())
46 .property(
47 "authSchemes",
48 vec![::aws_smithy_types::Document::from({
49 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
50 out.insert("name".to_string(), "sigv4".to_string().into());
51 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
52 out
53 })],
54 )
55 .build());
56 }
57 }
58 }
59 if (partition_result.name()) == ("aws") {
60 if (*use_fips) == (true) {
61 if (*use_dual_stack) == (true) {
62 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
63 .url("https://cloudfront-fips.global.api.aws".to_string())
64 .property(
65 "authSchemes",
66 vec![::aws_smithy_types::Document::from({
67 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
68 out.insert("name".to_string(), "sigv4".to_string().into());
69 out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
70 out
71 })],
72 )
73 .build());
74 }
75 }
76 }
77 if (partition_result.name()) == ("aws-cn") {
78 if (*use_fips) == (false) {
79 if (*use_dual_stack) == (false) {
80 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
81 .url("https://cloudfront.cn-northwest-1.amazonaws.com.cn".to_string())
82 .property(
83 "authSchemes",
84 vec![::aws_smithy_types::Document::from({
85 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
86 out.insert("name".to_string(), "sigv4".to_string().into());
87 out.insert("signingRegion".to_string(), "cn-northwest-1".to_string().into());
88 out
89 })],
90 )
91 .build());
92 }
93 }
94 }
95 if (partition_result.name()) == ("aws-cn") {
96 if (*use_fips) == (true) {
97 if (*use_dual_stack) == (false) {
98 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
99 .url("https://cloudfront-fips.cn-northwest-1.amazonaws.com.cn".to_string())
100 .property(
101 "authSchemes",
102 vec![::aws_smithy_types::Document::from({
103 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
104 out.insert("name".to_string(), "sigv4".to_string().into());
105 out.insert("signingRegion".to_string(), "cn-northwest-1".to_string().into());
106 out
107 })],
108 )
109 .build());
110 }
111 }
112 }
113 if (*use_fips) == (true) {
114 if (*use_dual_stack) == (true) {
115 if (true) == (partition_result.supports_fips()) {
116 if (true) == (partition_result.supports_dual_stack()) {
117 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
118 .url({
119 let mut out = String::new();
120 out.push_str("https://cloudfront-fips.");
121 #[allow(clippy::needless_borrow)]
122 out.push_str(&partition_result.dual_stack_dns_suffix());
123 out
124 })
125 .property(
126 "authSchemes",
127 vec![::aws_smithy_types::Document::from({
128 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
129 out.insert("name".to_string(), "sigv4".to_string().into());
130 out.insert("signingRegion".to_string(), partition_result.implicit_global_region().to_owned().into());
131 out
132 })],
133 )
134 .build());
135 }
136 }
137 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
138 "FIPS and DualStack are enabled, but this partition does not support one or both".to_string(),
139 ));
140 }
141 }
142 if (*use_fips) == (true) {
143 if (*use_dual_stack) == (false) {
144 if (partition_result.supports_fips()) == (true) {
145 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
146 .url({
147 let mut out = String::new();
148 out.push_str("https://cloudfront-fips.");
149 #[allow(clippy::needless_borrow)]
150 out.push_str(&partition_result.dns_suffix());
151 out
152 })
153 .property(
154 "authSchemes",
155 vec![::aws_smithy_types::Document::from({
156 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
157 out.insert("name".to_string(), "sigv4".to_string().into());
158 out.insert("signingRegion".to_string(), partition_result.implicit_global_region().to_owned().into());
159 out
160 })],
161 )
162 .build());
163 }
164 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
165 "FIPS is enabled but this partition does not support FIPS".to_string(),
166 ));
167 }
168 }
169 if (*use_fips) == (false) {
170 if (*use_dual_stack) == (true) {
171 if (true) == (partition_result.supports_dual_stack()) {
172 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
173 .url({
174 let mut out = String::new();
175 out.push_str("https://cloudfront.");
176 #[allow(clippy::needless_borrow)]
177 out.push_str(&partition_result.dual_stack_dns_suffix());
178 out
179 })
180 .property(
181 "authSchemes",
182 vec![::aws_smithy_types::Document::from({
183 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
184 out.insert("name".to_string(), "sigv4".to_string().into());
185 out.insert("signingRegion".to_string(), partition_result.implicit_global_region().to_owned().into());
186 out
187 })],
188 )
189 .build());
190 }
191 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
192 "DualStack is enabled but this partition does not support DualStack".to_string(),
193 ));
194 }
195 }
196 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
197 .url({
198 let mut out = String::new();
199 out.push_str("https://cloudfront.");
200 #[allow(clippy::needless_borrow)]
201 out.push_str(&partition_result.dns_suffix());
202 out
203 })
204 .property(
205 "authSchemes",
206 vec![::aws_smithy_types::Document::from({
207 let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
208 out.insert("name".to_string(), "sigv4".to_string().into());
209 out.insert("signingRegion".to_string(), partition_result.implicit_global_region().to_owned().into());
210 out
211 })],
212 )
213 .build());
214 }
215 #[allow(unreachable_code)]
216 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(format!(
217 "No rules matched these parameters. This is a bug. {_params:?}"
218 )));
219 }
220 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
221 "Invalid Configuration: Missing Region".to_string(),
222 ));
223}