aws_sdk_ses/operation/verify_domain_dkim/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::verify_domain_dkim::_verify_domain_dkim_output::VerifyDomainDkimOutputBuilder;
3
4pub use crate::operation::verify_domain_dkim::_verify_domain_dkim_input::VerifyDomainDkimInputBuilder;
5
6impl crate::operation::verify_domain_dkim::builders::VerifyDomainDkimInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::verify_domain_dkim::VerifyDomainDkimOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::verify_domain_dkim::VerifyDomainDkimError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.verify_domain_dkim();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `VerifyDomainDkim`.
24///
25/// <p>Returns a set of DKIM tokens for a domain identity.</p><important>
26/// <p>When you execute the <code>VerifyDomainDkim</code> operation, the domain that you specify is added to the list of identities that are associated with your account. This is true even if you haven't already associated the domain with your account by using the <code>VerifyDomainIdentity</code> operation. However, you can't send email from the domain until you either successfully <a href="https://docs.aws.amazon.com/ses/latest/dg/creating-identities.html#verify-domain-procedure">verify it</a> or you successfully <a href="https://docs.aws.amazon.com/ses/latest/dg/send-email-authentication-dkim-easy.html">set up DKIM for it</a>.</p>
27/// </important>
28/// <p>You use the tokens that are generated by this operation to create CNAME records. When Amazon SES detects that you've added these records to the DNS configuration for a domain, you can start sending email from that domain. You can start sending email even if you haven't added the TXT record provided by the VerifyDomainIdentity operation to the DNS configuration for your domain. All email that you send from the domain is authenticated using DKIM.</p>
29/// <p>To create the CNAME records for DKIM authentication, use the following values:</p>
30/// <ul>
31/// <li>
32/// <p><b>Name</b>: <i>token</i>._domainkey.<i>example.com</i></p></li>
33/// <li>
34/// <p><b>Type</b>: CNAME</p></li>
35/// <li>
36/// <p><b>Value</b>: <i>token</i>.dkim.amazonses.com</p></li>
37/// </ul>
38/// <p>In the preceding example, replace <i>token</i> with one of the tokens that are generated when you execute this operation. Replace <i>example.com</i> with your domain. Repeat this process for each token that's generated by this operation.</p>
39/// <p>You can execute this operation no more than once per second.</p>
40#[derive(::std::clone::Clone, ::std::fmt::Debug)]
41pub struct VerifyDomainDkimFluentBuilder {
42    handle: ::std::sync::Arc<crate::client::Handle>,
43    inner: crate::operation::verify_domain_dkim::builders::VerifyDomainDkimInputBuilder,
44    config_override: ::std::option::Option<crate::config::Builder>,
45}
46impl
47    crate::client::customize::internal::CustomizableSend<
48        crate::operation::verify_domain_dkim::VerifyDomainDkimOutput,
49        crate::operation::verify_domain_dkim::VerifyDomainDkimError,
50    > for VerifyDomainDkimFluentBuilder
51{
52    fn send(
53        self,
54        config_override: crate::config::Builder,
55    ) -> crate::client::customize::internal::BoxFuture<
56        crate::client::customize::internal::SendResult<
57            crate::operation::verify_domain_dkim::VerifyDomainDkimOutput,
58            crate::operation::verify_domain_dkim::VerifyDomainDkimError,
59        >,
60    > {
61        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
62    }
63}
64impl VerifyDomainDkimFluentBuilder {
65    /// Creates a new `VerifyDomainDkimFluentBuilder`.
66    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
67        Self {
68            handle,
69            inner: ::std::default::Default::default(),
70            config_override: ::std::option::Option::None,
71        }
72    }
73    /// Access the VerifyDomainDkim as a reference.
74    pub fn as_input(&self) -> &crate::operation::verify_domain_dkim::builders::VerifyDomainDkimInputBuilder {
75        &self.inner
76    }
77    /// Sends the request and returns the response.
78    ///
79    /// If an error occurs, an `SdkError` will be returned with additional details that
80    /// can be matched against.
81    ///
82    /// By default, any retryable failures will be retried twice. Retry behavior
83    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
84    /// set when configuring the client.
85    pub async fn send(
86        self,
87    ) -> ::std::result::Result<
88        crate::operation::verify_domain_dkim::VerifyDomainDkimOutput,
89        ::aws_smithy_runtime_api::client::result::SdkError<
90            crate::operation::verify_domain_dkim::VerifyDomainDkimError,
91            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
92        >,
93    > {
94        let input = self
95            .inner
96            .build()
97            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
98        let runtime_plugins = crate::operation::verify_domain_dkim::VerifyDomainDkim::operation_runtime_plugins(
99            self.handle.runtime_plugins.clone(),
100            &self.handle.conf,
101            self.config_override,
102        );
103        crate::operation::verify_domain_dkim::VerifyDomainDkim::orchestrate(&runtime_plugins, input).await
104    }
105
106    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
107    pub fn customize(
108        self,
109    ) -> crate::client::customize::CustomizableOperation<
110        crate::operation::verify_domain_dkim::VerifyDomainDkimOutput,
111        crate::operation::verify_domain_dkim::VerifyDomainDkimError,
112        Self,
113    > {
114        crate::client::customize::CustomizableOperation::new(self)
115    }
116    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
117        self.set_config_override(::std::option::Option::Some(config_override.into()));
118        self
119    }
120
121    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
122        self.config_override = config_override;
123        self
124    }
125    /// <p>The name of the domain to be verified for Easy DKIM signing.</p>
126    pub fn domain(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127        self.inner = self.inner.domain(input.into());
128        self
129    }
130    /// <p>The name of the domain to be verified for Easy DKIM signing.</p>
131    pub fn set_domain(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132        self.inner = self.inner.set_domain(input);
133        self
134    }
135    /// <p>The name of the domain to be verified for Easy DKIM signing.</p>
136    pub fn get_domain(&self) -> &::std::option::Option<::std::string::String> {
137        self.inner.get_domain()
138    }
139}