// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::list_conflicting_aliases::_list_conflicting_aliases_input::ListConflictingAliasesInputBuilder;
pub use crate::operation::list_conflicting_aliases::_list_conflicting_aliases_output::ListConflictingAliasesOutputBuilder;
impl crate::operation::list_conflicting_aliases::builders::ListConflictingAliasesInputBuilder {
/// Sends a request with this input using the given client.
pub async fn send_with(
self,
client: &crate::Client,
) -> ::std::result::Result<
crate::operation::list_conflicting_aliases::ListConflictingAliasesOutput,
::aws_smithy_runtime_api::client::result::SdkError<
crate::operation::list_conflicting_aliases::ListConflictingAliasesError,
::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
>,
> {
let mut fluent_builder = client.list_conflicting_aliases();
fluent_builder.inner = self;
fluent_builder.send().await
}
}
/// Fluent builder constructing a request to `ListConflictingAliases`.
///
/// <note>
/// <p>The <code>ListConflictingAliases</code> API operation only supports standard distributions. To list domain conflicts for both standard distributions and distribution tenants, we recommend that you use the <a href="https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListDomainConflicts.html">ListDomainConflicts</a> API operation instead.</p>
/// </note>
/// <p>Gets a list of aliases that conflict or overlap with the provided alias, and the associated CloudFront standard distribution and Amazon Web Services accounts for each conflicting alias. An alias is commonly known as a custom domain or vanity domain. It can also be called a CNAME or alternate domain name.</p>
/// <p>In the returned list, the standard distribution and account IDs are partially hidden, which allows you to identify the standard distribution and accounts that you own, and helps to protect the information of ones that you don't own.</p>
/// <p>Use this operation to find aliases that are in use in CloudFront that conflict or overlap with the provided alias. For example, if you provide <code>www.example.com</code> as input, the returned list can include <code>www.example.com</code> and the overlapping wildcard alternate domain name (<code>*.example.com</code>), if they exist. If you provide <code>*.example.com</code> as input, the returned list can include <code>*.example.com</code> and any alternate domain names covered by that wildcard (for example, <code>www.example.com</code>, <code>test.example.com</code>, <code>dev.example.com</code>, and so on), if they exist.</p>
/// <p>To list conflicting aliases, specify the alias to search and the ID of a standard distribution in your account that has an attached TLS certificate that includes the provided alias. For more information, including how to set up the standard distribution and certificate, see <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-move">Moving an alternate domain name to a different standard distribution or distribution tenant</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
/// <p>You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the <code>NextMarker</code> value from the current response as the <code>Marker</code> value in the subsequent request.</p>
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct ListConflictingAliasesFluentBuilder {
handle: ::std::sync::Arc<crate::client::Handle>,
inner: crate::operation::list_conflicting_aliases::builders::ListConflictingAliasesInputBuilder,
config_override: ::std::option::Option<crate::config::Builder>,
}
impl
crate::client::customize::internal::CustomizableSend<
crate::operation::list_conflicting_aliases::ListConflictingAliasesOutput,
crate::operation::list_conflicting_aliases::ListConflictingAliasesError,
> for ListConflictingAliasesFluentBuilder
{
fn send(
self,
config_override: crate::config::Builder,
) -> crate::client::customize::internal::BoxFuture<
crate::client::customize::internal::SendResult<
crate::operation::list_conflicting_aliases::ListConflictingAliasesOutput,
crate::operation::list_conflicting_aliases::ListConflictingAliasesError,
>,
> {
::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
}
}
impl ListConflictingAliasesFluentBuilder {
/// Creates a new `ListConflictingAliasesFluentBuilder`.
pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
Self {
handle,
inner: ::std::default::Default::default(),
config_override: ::std::option::Option::None,
}
}
/// Access the ListConflictingAliases as a reference.
pub fn as_input(&self) -> &crate::operation::list_conflicting_aliases::builders::ListConflictingAliasesInputBuilder {
&self.inner
}
/// Sends the request and returns the response.
///
/// If an error occurs, an `SdkError` will be returned with additional details that
/// can be matched against.
///
/// By default, any retryable failures will be retried twice. Retry behavior
/// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
/// set when configuring the client.
pub async fn send(
self,
) -> ::std::result::Result<
crate::operation::list_conflicting_aliases::ListConflictingAliasesOutput,
::aws_smithy_runtime_api::client::result::SdkError<
crate::operation::list_conflicting_aliases::ListConflictingAliasesError,
::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
>,
> {
let input = self
.inner
.build()
.map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
let runtime_plugins = crate::operation::list_conflicting_aliases::ListConflictingAliases::operation_runtime_plugins(
self.handle.runtime_plugins.clone(),
&self.handle.conf,
self.config_override,
);
crate::operation::list_conflicting_aliases::ListConflictingAliases::orchestrate(&runtime_plugins, input).await
}
/// Consumes this builder, creating a customizable operation that can be modified before being sent.
pub fn customize(
self,
) -> crate::client::customize::CustomizableOperation<
crate::operation::list_conflicting_aliases::ListConflictingAliasesOutput,
crate::operation::list_conflicting_aliases::ListConflictingAliasesError,
Self,
> {
crate::client::customize::CustomizableOperation::new(self)
}
pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
self.set_config_override(::std::option::Option::Some(config_override.into()));
self
}
pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
self.config_override = config_override;
self
}
/// <p>The ID of a standard distribution in your account that has an attached TLS certificate that includes the provided alias.</p>
pub fn distribution_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.distribution_id(input.into());
self
}
/// <p>The ID of a standard distribution in your account that has an attached TLS certificate that includes the provided alias.</p>
pub fn set_distribution_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_distribution_id(input);
self
}
/// <p>The ID of a standard distribution in your account that has an attached TLS certificate that includes the provided alias.</p>
pub fn get_distribution_id(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_distribution_id()
}
/// <p>The alias (also called a CNAME) to search for conflicting aliases.</p>
pub fn alias(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.alias(input.into());
self
}
/// <p>The alias (also called a CNAME) to search for conflicting aliases.</p>
pub fn set_alias(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_alias(input);
self
}
/// <p>The alias (also called a CNAME) to search for conflicting aliases.</p>
pub fn get_alias(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_alias()
}
/// <p>Use this field when paginating results to indicate where to begin in the list of conflicting aliases. The response includes conflicting aliases in the list that occur after the marker. To get the next page of the list, set this field's value to the value of <code>NextMarker</code> from the current page's response.</p>
pub fn marker(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.marker(input.into());
self
}
/// <p>Use this field when paginating results to indicate where to begin in the list of conflicting aliases. The response includes conflicting aliases in the list that occur after the marker. To get the next page of the list, set this field's value to the value of <code>NextMarker</code> from the current page's response.</p>
pub fn set_marker(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_marker(input);
self
}
/// <p>Use this field when paginating results to indicate where to begin in the list of conflicting aliases. The response includes conflicting aliases in the list that occur after the marker. To get the next page of the list, set this field's value to the value of <code>NextMarker</code> from the current page's response.</p>
pub fn get_marker(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_marker()
}
/// <p>The maximum number of conflicting aliases that you want in the response.</p>
pub fn max_items(mut self, input: i32) -> Self {
self.inner = self.inner.max_items(input);
self
}
/// <p>The maximum number of conflicting aliases that you want in the response.</p>
pub fn set_max_items(mut self, input: ::std::option::Option<i32>) -> Self {
self.inner = self.inner.set_max_items(input);
self
}
/// <p>The maximum number of conflicting aliases that you want in the response.</p>
pub fn get_max_items(&self) -> &::std::option::Option<i32> {
self.inner.get_max_items()
}
}