Skip to main content

aws_sdk_cloudfront/config/endpoint/
internals.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[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}