aws_sdk_ssooidc/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 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 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
46 .url({
47 let mut out = String::new();
48 out.push_str("https://oidc-fips.");
49 #[allow(clippy::needless_borrow)]
50 out.push_str(®ion.as_ref() as &str);
51 out.push('.');
52 #[allow(clippy::needless_borrow)]
53 out.push_str(&partition_result.dual_stack_dns_suffix());
54 out
55 })
56 .build());
57 }
58 }
59 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
60 "FIPS and DualStack are enabled, but this partition does not support one or both".to_string(),
61 ));
62 }
63 }
64 if (*use_fips) == (true) {
65 if (partition_result.supports_fips()) == (true) {
66 if (partition_result.name()) == ("aws-us-gov") {
67 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
68 .url({
69 let mut out = String::new();
70 out.push_str("https://oidc.");
71 #[allow(clippy::needless_borrow)]
72 out.push_str(®ion.as_ref() as &str);
73 out.push_str(".amazonaws.com");
74 out
75 })
76 .build());
77 }
78 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
79 .url({
80 let mut out = String::new();
81 out.push_str("https://oidc-fips.");
82 #[allow(clippy::needless_borrow)]
83 out.push_str(®ion.as_ref() as &str);
84 out.push('.');
85 #[allow(clippy::needless_borrow)]
86 out.push_str(&partition_result.dns_suffix());
87 out
88 })
89 .build());
90 }
91 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
92 "FIPS is enabled but this partition does not support FIPS".to_string(),
93 ));
94 }
95 if (*use_dual_stack) == (true) {
96 if (true) == (partition_result.supports_dual_stack()) {
97 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
98 .url({
99 let mut out = String::new();
100 out.push_str("https://oidc.");
101 #[allow(clippy::needless_borrow)]
102 out.push_str(®ion.as_ref() as &str);
103 out.push('.');
104 #[allow(clippy::needless_borrow)]
105 out.push_str(&partition_result.dual_stack_dns_suffix());
106 out
107 })
108 .build());
109 }
110 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
111 "DualStack is enabled but this partition does not support DualStack".to_string(),
112 ));
113 }
114 return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
115 .url({
116 let mut out = String::new();
117 out.push_str("https://oidc.");
118 #[allow(clippy::needless_borrow)]
119 out.push_str(®ion.as_ref() as &str);
120 out.push('.');
121 #[allow(clippy::needless_borrow)]
122 out.push_str(&partition_result.dns_suffix());
123 out
124 })
125 .build());
126 }
127 #[allow(unreachable_code)]
128 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(format!(
129 "No rules matched these parameters. This is a bug. {:?}",
130 _params
131 )));
132 }
133 return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
134 "Invalid Configuration: Missing Region".to_string(),
135 ));
136}