#[allow(
clippy::collapsible_if,
clippy::bool_comparison,
clippy::nonminimal_bool,
clippy::comparison_to_empty,
clippy::redundant_pattern_matching
)]
pub(super) fn resolve_endpoint(
_params: &crate::endpoint::Params,
_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector,
partition_resolver: &crate::endpoint_lib::partition::PartitionResolver,
) -> aws_smithy_http::endpoint::Result {
#[allow(unused_variables)]
let region = &_params.region;
#[allow(unused_variables)]
let use_dual_stack = &_params.use_dual_stack;
#[allow(unused_variables)]
let use_fips = &_params.use_fips;
#[allow(unused_variables)]
let endpoint = &_params.endpoint;
#[allow(unused_variables)]
let endpoint_id = &_params.endpoint_id;
#[allow(unused_variables)]
if let Some(partition_result) =
partition_resolver.resolve_partition(region, _diagnostic_collector)
{
#[allow(unused_variables)]
if let Some(endpoint_id) = endpoint_id {
if crate::endpoint_lib::host::is_valid_host_label(
endpoint_id,
true,
_diagnostic_collector,
) {
if (*use_fips) == (false) {
#[allow(unused_variables)]
if let Some(endpoint) = endpoint {
return Ok(aws_smithy_types::endpoint::Endpoint::builder()
.url(endpoint.to_owned())
.property(
"authSchemes",
vec![aws_smithy_types::Document::from({
let mut out = std::collections::HashMap::<
String,
aws_smithy_types::Document,
>::new();
out.insert("name".to_string(), "sigv4a".to_string().into());
out.insert(
"signingName".to_string(),
"events".to_string().into(),
);
out.insert(
"signingRegionSet".to_string(),
vec![aws_smithy_types::Document::from("*".to_string())]
.into(),
);
out
})],
)
.build());
}
if (*use_dual_stack) == (true) {
if (true) == (partition_result.supports_dual_stack()) {
return Ok(aws_smithy_types::endpoint::Endpoint::builder()
.url({
let mut out = String::new();
out.push_str("https://");
#[allow(clippy::needless_borrow)]
out.push_str(&endpoint_id);
out.push_str(".endpoint.events.");
#[allow(clippy::needless_borrow)]
out.push_str(&partition_result.dual_stack_dns_suffix());
out
})
.property(
"authSchemes",
vec![aws_smithy_types::Document::from({
let mut out = std::collections::HashMap::<
String,
aws_smithy_types::Document,
>::new(
);
out.insert("name".to_string(), "sigv4a".to_string().into());
out.insert(
"signingName".to_string(),
"events".to_string().into(),
);
out.insert(
"signingRegionSet".to_string(),
vec![aws_smithy_types::Document::from("*".to_string())]
.into(),
);
out
})],
)
.build());
}
return Err(aws_smithy_http::endpoint::ResolveEndpointError::message(
"DualStack is enabled but this partition does not support DualStack"
.to_string(),
));
}
return Ok(aws_smithy_types::endpoint::Endpoint::builder()
.url({
let mut out = String::new();
out.push_str("https://");
#[allow(clippy::needless_borrow)]
out.push_str(&endpoint_id);
out.push_str(".endpoint.events.");
#[allow(clippy::needless_borrow)]
out.push_str(&partition_result.dns_suffix());
out
})
.property(
"authSchemes",
vec![aws_smithy_types::Document::from({
let mut out = std::collections::HashMap::<
String,
aws_smithy_types::Document,
>::new();
out.insert("name".to_string(), "sigv4a".to_string().into());
out.insert("signingName".to_string(), "events".to_string().into());
out.insert(
"signingRegionSet".to_string(),
vec![aws_smithy_types::Document::from("*".to_string())].into(),
);
out
})],
)
.build());
}
return Err(aws_smithy_http::endpoint::ResolveEndpointError::message("Invalid Configuration: FIPS is not supported with EventBridge multi-region endpoints."
.to_string()));
}
return Err(aws_smithy_http::endpoint::ResolveEndpointError::message(
"EndpointId must be a valid host label.".to_string(),
));
}
#[allow(unused_variables)]
if let Some(endpoint) = endpoint {
if (*use_fips) == (true) {
return Err(aws_smithy_http::endpoint::ResolveEndpointError::message(
"Invalid Configuration: FIPS and custom endpoint are not supported".to_string(),
));
}
if (*use_dual_stack) == (true) {
return Err(aws_smithy_http::endpoint::ResolveEndpointError::message(
"Invalid Configuration: Dualstack and custom endpoint are not supported"
.to_string(),
));
}
return Ok(aws_smithy_types::endpoint::Endpoint::builder()
.url(endpoint.to_owned())
.build());
}
if (*use_fips) == (true) {
if (*use_dual_stack) == (true) {
if (true) == (partition_result.supports_fips()) {
if (true) == (partition_result.supports_dual_stack()) {
return Ok(aws_smithy_types::endpoint::Endpoint::builder()
.url({
let mut out = String::new();
out.push_str("https://events-fips.");
#[allow(clippy::needless_borrow)]
out.push_str(®ion);
out.push('.');
#[allow(clippy::needless_borrow)]
out.push_str(&partition_result.dual_stack_dns_suffix());
out
})
.build());
}
}
return Err(aws_smithy_http::endpoint::ResolveEndpointError::message("FIPS and DualStack are enabled, but this partition does not support one or both"
.to_string()));
}
}
if (*use_fips) == (true) {
if (true) == (partition_result.supports_fips()) {
if (region) == ("us-gov-east-1") {
return Ok(aws_smithy_types::endpoint::Endpoint::builder()
.url("https://events.us-gov-east-1.amazonaws.com".to_string())
.build());
}
if (region) == ("us-gov-west-1") {
return Ok(aws_smithy_types::endpoint::Endpoint::builder()
.url("https://events.us-gov-west-1.amazonaws.com".to_string())
.build());
}
return Ok(aws_smithy_types::endpoint::Endpoint::builder()
.url({
let mut out = String::new();
out.push_str("https://events-fips.");
#[allow(clippy::needless_borrow)]
out.push_str(®ion);
out.push('.');
#[allow(clippy::needless_borrow)]
out.push_str(&partition_result.dns_suffix());
out
})
.build());
}
return Err(aws_smithy_http::endpoint::ResolveEndpointError::message(
"FIPS is enabled but this partition does not support FIPS".to_string(),
));
}
if (*use_dual_stack) == (true) {
if (true) == (partition_result.supports_dual_stack()) {
return Ok(aws_smithy_types::endpoint::Endpoint::builder()
.url({
let mut out = String::new();
out.push_str("https://events.");
#[allow(clippy::needless_borrow)]
out.push_str(®ion);
out.push('.');
#[allow(clippy::needless_borrow)]
out.push_str(&partition_result.dual_stack_dns_suffix());
out
})
.build());
}
return Err(aws_smithy_http::endpoint::ResolveEndpointError::message(
"DualStack is enabled but this partition does not support DualStack".to_string(),
));
}
return Ok(aws_smithy_types::endpoint::Endpoint::builder()
.url({
let mut out = String::new();
out.push_str("https://events.");
#[allow(clippy::needless_borrow)]
out.push_str(®ion);
out.push('.');
#[allow(clippy::needless_borrow)]
out.push_str(&partition_result.dns_suffix());
out
})
.build());
}
#[allow(unreachable_code)]
return Err(aws_smithy_http::endpoint::ResolveEndpointError::message(
format!(
"No rules matched these parameters. This is a bug. {:?}",
_params
),
));
}