aws_sdk_timestreamquery/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 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(&region.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(&region.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(&region.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(&region.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(&region.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(&region.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(&region.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(&region.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(&region.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}