aws_sdk_kms/config/endpoint/
internals.rs
1#[allow(
3 clippy::collapsible_if,
4 clippy::bool_comparison,
5 clippy::nonminimal_bool,
6 clippy::comparison_to_empty,
7 clippy::redundant_pattern_matching
8)]
9pub(super) fn resolve_endpoint(
10 _params: &crate::config::endpoint::Params,
11 _diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector,
12 partition_resolver: &crate::endpoint_lib::partition::PartitionResolver,
13) -> ::aws_smithy_http::endpoint::Result {
14 #[allow(unused_variables)]
15 let region = &_params.region;
16 #[allow(unused_variables)]
17 let use_dual_stack = &_params.use_dual_stack;
18 #[allow(unused_variables)]
19 let use_fips = &_params.use_fips;
20 #[allow(unused_variables)]
21 let endpoint = &_params.endpoint;
22 #[allow(unused_variables)]
23 if let Some(endpoint) = endpoint {
24 if (*use_fips) == (true) {
25 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
26 "Invalid Configuration: FIPS and custom endpoint are not supported".to_string(),
27 ));
28 }
29 if (*use_dual_stack) == (true) {
30 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
31 "Invalid Configuration: Dualstack and custom endpoint are not supported".to_string(),
32 ));
33 }
34 return Ok(::aws_smithy_types::endpoint::Endpoint::builder().url(endpoint.to_owned()).build());
35 }
36 #[allow(unused_variables)]
37 if let Some(region) = region {
38 #[allow(unused_variables)]
39 if let Some(partition_result) = partition_resolver.resolve_partition(region, _diagnostic_collector) {
40 if (*use_fips) == (true) {
41 if (*use_dual_stack) == (true) {
42 if (true) == (partition_result.supports_fips()) {
43 if (true) == (partition_result.supports_dual_stack()) {
44 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
45 .url({
46 let mut out = String::new();
47 out.push_str("https://kms-fips.");
48 #[allow(clippy::needless_borrow)]
49 out.push_str(®ion);
50 out.push('.');
51 #[allow(clippy::needless_borrow)]
52 out.push_str(&partition_result.dual_stack_dns_suffix());
53 out
54 })
55 .build());
56 }
57 }
58 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
59 "FIPS and DualStack are enabled, but this partition does not support one or both".to_string(),
60 ));
61 }
62 }
63 if (*use_fips) == (true) {
64 if (partition_result.supports_fips()) == (true) {
65 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
66 .url({
67 let mut out = String::new();
68 out.push_str("https://kms-fips.");
69 #[allow(clippy::needless_borrow)]
70 out.push_str(®ion);
71 out.push('.');
72 #[allow(clippy::needless_borrow)]
73 out.push_str(&partition_result.dns_suffix());
74 out
75 })
76 .build());
77 }
78 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
79 "FIPS is enabled but this partition does not support FIPS".to_string(),
80 ));
81 }
82 if (*use_dual_stack) == (true) {
83 if (true) == (partition_result.supports_dual_stack()) {
84 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
85 .url({
86 let mut out = String::new();
87 out.push_str("https://kms.");
88 #[allow(clippy::needless_borrow)]
89 out.push_str(®ion);
90 out.push('.');
91 #[allow(clippy::needless_borrow)]
92 out.push_str(&partition_result.dual_stack_dns_suffix());
93 out
94 })
95 .build());
96 }
97 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
98 "DualStack is enabled but this partition does not support DualStack".to_string(),
99 ));
100 }
101 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
102 .url({
103 let mut out = String::new();
104 out.push_str("https://kms.");
105 #[allow(clippy::needless_borrow)]
106 out.push_str(®ion);
107 out.push('.');
108 #[allow(clippy::needless_borrow)]
109 out.push_str(&partition_result.dns_suffix());
110 out
111 })
112 .build());
113 }
114 #[allow(unreachable_code)]
115 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(format!(
116 "No rules matched these parameters. This is a bug. {:?}",
117 _params
118 )));
119 }
120 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
121 "Invalid Configuration: Missing Region".to_string(),
122 ));
123}