aws_sdk_cognitoidentityprovider/operation/verify_software_token/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::verify_software_token::_verify_software_token_output::VerifySoftwareTokenOutputBuilder;
3
4pub use crate::operation::verify_software_token::_verify_software_token_input::VerifySoftwareTokenInputBuilder;
5
6impl crate::operation::verify_software_token::builders::VerifySoftwareTokenInputBuilder {
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_software_token::VerifySoftwareTokenOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::verify_software_token::VerifySoftwareTokenError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.verify_software_token();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `VerifySoftwareToken`.
24///
25/// <p>Registers the current user's time-based one-time password (TOTP) authenticator with a code generated in their authenticator app from a private key that's supplied by your user pool. Marks the user's software token MFA status as "verified" if successful. The request takes an access token or a session string, but not both.</p><note>
26/// <p>Amazon Cognito doesn't evaluate Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you can't use IAM credentials to authorize requests, and you can't grant IAM permissions in policies. For more information about authorization models in Amazon Cognito, see <a href="https://docs.aws.amazon.com/cognito/latest/developerguide/user-pools-API-operations.html">Using the Amazon Cognito user pools API and user pool endpoints</a>.</p>
27/// </note>
28#[derive(::std::clone::Clone, ::std::fmt::Debug)]
29pub struct VerifySoftwareTokenFluentBuilder {
30    handle: ::std::sync::Arc<crate::client::Handle>,
31    inner: crate::operation::verify_software_token::builders::VerifySoftwareTokenInputBuilder,
32    config_override: ::std::option::Option<crate::config::Builder>,
33}
34impl
35    crate::client::customize::internal::CustomizableSend<
36        crate::operation::verify_software_token::VerifySoftwareTokenOutput,
37        crate::operation::verify_software_token::VerifySoftwareTokenError,
38    > for VerifySoftwareTokenFluentBuilder
39{
40    fn send(
41        self,
42        config_override: crate::config::Builder,
43    ) -> crate::client::customize::internal::BoxFuture<
44        crate::client::customize::internal::SendResult<
45            crate::operation::verify_software_token::VerifySoftwareTokenOutput,
46            crate::operation::verify_software_token::VerifySoftwareTokenError,
47        >,
48    > {
49        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
50    }
51}
52impl VerifySoftwareTokenFluentBuilder {
53    /// Creates a new `VerifySoftwareTokenFluentBuilder`.
54    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
55        Self {
56            handle,
57            inner: ::std::default::Default::default(),
58            config_override: ::std::option::Option::None,
59        }
60    }
61    /// Access the VerifySoftwareToken as a reference.
62    pub fn as_input(&self) -> &crate::operation::verify_software_token::builders::VerifySoftwareTokenInputBuilder {
63        &self.inner
64    }
65    /// Sends the request and returns the response.
66    ///
67    /// If an error occurs, an `SdkError` will be returned with additional details that
68    /// can be matched against.
69    ///
70    /// By default, any retryable failures will be retried twice. Retry behavior
71    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
72    /// set when configuring the client.
73    pub async fn send(
74        self,
75    ) -> ::std::result::Result<
76        crate::operation::verify_software_token::VerifySoftwareTokenOutput,
77        ::aws_smithy_runtime_api::client::result::SdkError<
78            crate::operation::verify_software_token::VerifySoftwareTokenError,
79            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
80        >,
81    > {
82        let input = self
83            .inner
84            .build()
85            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
86        let runtime_plugins = crate::operation::verify_software_token::VerifySoftwareToken::operation_runtime_plugins(
87            self.handle.runtime_plugins.clone(),
88            &self.handle.conf,
89            self.config_override,
90        );
91        crate::operation::verify_software_token::VerifySoftwareToken::orchestrate(&runtime_plugins, input).await
92    }
93
94    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
95    pub fn customize(
96        self,
97    ) -> crate::client::customize::CustomizableOperation<
98        crate::operation::verify_software_token::VerifySoftwareTokenOutput,
99        crate::operation::verify_software_token::VerifySoftwareTokenError,
100        Self,
101    > {
102        crate::client::customize::CustomizableOperation::new(self)
103    }
104    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
105        self.set_config_override(::std::option::Option::Some(config_override.into()));
106        self
107    }
108
109    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
110        self.config_override = config_override;
111        self
112    }
113    /// <p>A valid access token that Amazon Cognito issued to the currently signed-in user. Must include a scope claim for <code>aws.cognito.signin.user.admin</code>.</p>
114    pub fn access_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
115        self.inner = self.inner.access_token(input.into());
116        self
117    }
118    /// <p>A valid access token that Amazon Cognito issued to the currently signed-in user. Must include a scope claim for <code>aws.cognito.signin.user.admin</code>.</p>
119    pub fn set_access_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
120        self.inner = self.inner.set_access_token(input);
121        self
122    }
123    /// <p>A valid access token that Amazon Cognito issued to the currently signed-in user. Must include a scope claim for <code>aws.cognito.signin.user.admin</code>.</p>
124    pub fn get_access_token(&self) -> &::std::option::Option<::std::string::String> {
125        self.inner.get_access_token()
126    }
127    /// <p>The session ID from an <code>AssociateSoftwareToken</code> request.</p>
128    pub fn session(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
129        self.inner = self.inner.session(input.into());
130        self
131    }
132    /// <p>The session ID from an <code>AssociateSoftwareToken</code> request.</p>
133    pub fn set_session(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
134        self.inner = self.inner.set_session(input);
135        self
136    }
137    /// <p>The session ID from an <code>AssociateSoftwareToken</code> request.</p>
138    pub fn get_session(&self) -> &::std::option::Option<::std::string::String> {
139        self.inner.get_session()
140    }
141    /// <p>A TOTP that the user generated in their configured authenticator app.</p>
142    pub fn user_code(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
143        self.inner = self.inner.user_code(input.into());
144        self
145    }
146    /// <p>A TOTP that the user generated in their configured authenticator app.</p>
147    pub fn set_user_code(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
148        self.inner = self.inner.set_user_code(input);
149        self
150    }
151    /// <p>A TOTP that the user generated in their configured authenticator app.</p>
152    pub fn get_user_code(&self) -> &::std::option::Option<::std::string::String> {
153        self.inner.get_user_code()
154    }
155    /// <p>A friendly name for the device that's running the TOTP authenticator.</p>
156    pub fn friendly_device_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
157        self.inner = self.inner.friendly_device_name(input.into());
158        self
159    }
160    /// <p>A friendly name for the device that's running the TOTP authenticator.</p>
161    pub fn set_friendly_device_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
162        self.inner = self.inner.set_friendly_device_name(input);
163        self
164    }
165    /// <p>A friendly name for the device that's running the TOTP authenticator.</p>
166    pub fn get_friendly_device_name(&self) -> &::std::option::Option<::std::string::String> {
167        self.inner.get_friendly_device_name()
168    }
169}