aws_sdk_lexmodelsv2/operation/create_bot_alias/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_bot_alias::_create_bot_alias_output::CreateBotAliasOutputBuilder;
3
4pub use crate::operation::create_bot_alias::_create_bot_alias_input::CreateBotAliasInputBuilder;
5
6impl crate::operation::create_bot_alias::builders::CreateBotAliasInputBuilder {
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::create_bot_alias::CreateBotAliasOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_bot_alias::CreateBotAliasError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_bot_alias();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateBotAlias`.
24///
25/// <p>Creates an alias for the specified version of a bot. Use an alias to enable you to change the version of a bot without updating applications that use the bot.</p>
26/// <p>For example, you can create an alias called "PROD" that your applications use to call the Amazon Lex bot.</p>
27#[derive(::std::clone::Clone, ::std::fmt::Debug)]
28pub struct CreateBotAliasFluentBuilder {
29    handle: ::std::sync::Arc<crate::client::Handle>,
30    inner: crate::operation::create_bot_alias::builders::CreateBotAliasInputBuilder,
31    config_override: ::std::option::Option<crate::config::Builder>,
32}
33impl
34    crate::client::customize::internal::CustomizableSend<
35        crate::operation::create_bot_alias::CreateBotAliasOutput,
36        crate::operation::create_bot_alias::CreateBotAliasError,
37    > for CreateBotAliasFluentBuilder
38{
39    fn send(
40        self,
41        config_override: crate::config::Builder,
42    ) -> crate::client::customize::internal::BoxFuture<
43        crate::client::customize::internal::SendResult<
44            crate::operation::create_bot_alias::CreateBotAliasOutput,
45            crate::operation::create_bot_alias::CreateBotAliasError,
46        >,
47    > {
48        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
49    }
50}
51impl CreateBotAliasFluentBuilder {
52    /// Creates a new `CreateBotAliasFluentBuilder`.
53    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
54        Self {
55            handle,
56            inner: ::std::default::Default::default(),
57            config_override: ::std::option::Option::None,
58        }
59    }
60    /// Access the CreateBotAlias as a reference.
61    pub fn as_input(&self) -> &crate::operation::create_bot_alias::builders::CreateBotAliasInputBuilder {
62        &self.inner
63    }
64    /// Sends the request and returns the response.
65    ///
66    /// If an error occurs, an `SdkError` will be returned with additional details that
67    /// can be matched against.
68    ///
69    /// By default, any retryable failures will be retried twice. Retry behavior
70    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
71    /// set when configuring the client.
72    pub async fn send(
73        self,
74    ) -> ::std::result::Result<
75        crate::operation::create_bot_alias::CreateBotAliasOutput,
76        ::aws_smithy_runtime_api::client::result::SdkError<
77            crate::operation::create_bot_alias::CreateBotAliasError,
78            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
79        >,
80    > {
81        let input = self
82            .inner
83            .build()
84            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
85        let runtime_plugins = crate::operation::create_bot_alias::CreateBotAlias::operation_runtime_plugins(
86            self.handle.runtime_plugins.clone(),
87            &self.handle.conf,
88            self.config_override,
89        );
90        crate::operation::create_bot_alias::CreateBotAlias::orchestrate(&runtime_plugins, input).await
91    }
92
93    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
94    pub fn customize(
95        self,
96    ) -> crate::client::customize::CustomizableOperation<
97        crate::operation::create_bot_alias::CreateBotAliasOutput,
98        crate::operation::create_bot_alias::CreateBotAliasError,
99        Self,
100    > {
101        crate::client::customize::CustomizableOperation::new(self)
102    }
103    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
104        self.set_config_override(::std::option::Option::Some(config_override.into()));
105        self
106    }
107
108    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
109        self.config_override = config_override;
110        self
111    }
112    /// <p>The alias to create. The name must be unique for the bot.</p>
113    pub fn bot_alias_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
114        self.inner = self.inner.bot_alias_name(input.into());
115        self
116    }
117    /// <p>The alias to create. The name must be unique for the bot.</p>
118    pub fn set_bot_alias_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
119        self.inner = self.inner.set_bot_alias_name(input);
120        self
121    }
122    /// <p>The alias to create. The name must be unique for the bot.</p>
123    pub fn get_bot_alias_name(&self) -> &::std::option::Option<::std::string::String> {
124        self.inner.get_bot_alias_name()
125    }
126    /// <p>A description of the alias. Use this description to help identify the alias.</p>
127    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
128        self.inner = self.inner.description(input.into());
129        self
130    }
131    /// <p>A description of the alias. Use this description to help identify the alias.</p>
132    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
133        self.inner = self.inner.set_description(input);
134        self
135    }
136    /// <p>A description of the alias. Use this description to help identify the alias.</p>
137    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
138        self.inner.get_description()
139    }
140    /// <p>The version of the bot that this alias points to. You can use the <a href="https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateBotAlias.html">UpdateBotAlias</a> operation to change the bot version associated with the alias.</p>
141    pub fn bot_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
142        self.inner = self.inner.bot_version(input.into());
143        self
144    }
145    /// <p>The version of the bot that this alias points to. You can use the <a href="https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateBotAlias.html">UpdateBotAlias</a> operation to change the bot version associated with the alias.</p>
146    pub fn set_bot_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
147        self.inner = self.inner.set_bot_version(input);
148        self
149    }
150    /// <p>The version of the bot that this alias points to. You can use the <a href="https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateBotAlias.html">UpdateBotAlias</a> operation to change the bot version associated with the alias.</p>
151    pub fn get_bot_version(&self) -> &::std::option::Option<::std::string::String> {
152        self.inner.get_bot_version()
153    }
154    ///
155    /// Adds a key-value pair to `botAliasLocaleSettings`.
156    ///
157    /// To override the contents of this collection use [`set_bot_alias_locale_settings`](Self::set_bot_alias_locale_settings).
158    ///
159    /// <p>Maps configuration information to a specific locale. You can use this parameter to specify a specific Lambda function to run different functions in different locales.</p>
160    pub fn bot_alias_locale_settings(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::BotAliasLocaleSettings) -> Self {
161        self.inner = self.inner.bot_alias_locale_settings(k.into(), v);
162        self
163    }
164    /// <p>Maps configuration information to a specific locale. You can use this parameter to specify a specific Lambda function to run different functions in different locales.</p>
165    pub fn set_bot_alias_locale_settings(
166        mut self,
167        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::BotAliasLocaleSettings>>,
168    ) -> Self {
169        self.inner = self.inner.set_bot_alias_locale_settings(input);
170        self
171    }
172    /// <p>Maps configuration information to a specific locale. You can use this parameter to specify a specific Lambda function to run different functions in different locales.</p>
173    pub fn get_bot_alias_locale_settings(
174        &self,
175    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::BotAliasLocaleSettings>> {
176        self.inner.get_bot_alias_locale_settings()
177    }
178    /// <p>Specifies whether Amazon Lex logs text and audio for a conversation with the bot. When you enable conversation logs, text logs store text input, transcripts of audio input, and associated metadata in Amazon CloudWatch Logs. Audio logs store audio input in Amazon S3.</p>
179    pub fn conversation_log_settings(mut self, input: crate::types::ConversationLogSettings) -> Self {
180        self.inner = self.inner.conversation_log_settings(input);
181        self
182    }
183    /// <p>Specifies whether Amazon Lex logs text and audio for a conversation with the bot. When you enable conversation logs, text logs store text input, transcripts of audio input, and associated metadata in Amazon CloudWatch Logs. Audio logs store audio input in Amazon S3.</p>
184    pub fn set_conversation_log_settings(mut self, input: ::std::option::Option<crate::types::ConversationLogSettings>) -> Self {
185        self.inner = self.inner.set_conversation_log_settings(input);
186        self
187    }
188    /// <p>Specifies whether Amazon Lex logs text and audio for a conversation with the bot. When you enable conversation logs, text logs store text input, transcripts of audio input, and associated metadata in Amazon CloudWatch Logs. Audio logs store audio input in Amazon S3.</p>
189    pub fn get_conversation_log_settings(&self) -> &::std::option::Option<crate::types::ConversationLogSettings> {
190        self.inner.get_conversation_log_settings()
191    }
192    /// <p>Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.</p>
193    pub fn sentiment_analysis_settings(mut self, input: crate::types::SentimentAnalysisSettings) -> Self {
194        self.inner = self.inner.sentiment_analysis_settings(input);
195        self
196    }
197    /// <p>Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.</p>
198    pub fn set_sentiment_analysis_settings(mut self, input: ::std::option::Option<crate::types::SentimentAnalysisSettings>) -> Self {
199        self.inner = self.inner.set_sentiment_analysis_settings(input);
200        self
201    }
202    /// <p>Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.</p>
203    pub fn get_sentiment_analysis_settings(&self) -> &::std::option::Option<crate::types::SentimentAnalysisSettings> {
204        self.inner.get_sentiment_analysis_settings()
205    }
206    /// <p>The unique identifier of the bot that the alias applies to.</p>
207    pub fn bot_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
208        self.inner = self.inner.bot_id(input.into());
209        self
210    }
211    /// <p>The unique identifier of the bot that the alias applies to.</p>
212    pub fn set_bot_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
213        self.inner = self.inner.set_bot_id(input);
214        self
215    }
216    /// <p>The unique identifier of the bot that the alias applies to.</p>
217    pub fn get_bot_id(&self) -> &::std::option::Option<::std::string::String> {
218        self.inner.get_bot_id()
219    }
220    ///
221    /// Adds a key-value pair to `tags`.
222    ///
223    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
224    ///
225    /// <p>A list of tags to add to the bot alias. You can only add tags when you create an alias, you can't use the <code>UpdateBotAlias</code> operation to update the tags on a bot alias. To update tags, use the <code>TagResource</code> operation.</p>
226    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
227        self.inner = self.inner.tags(k.into(), v.into());
228        self
229    }
230    /// <p>A list of tags to add to the bot alias. You can only add tags when you create an alias, you can't use the <code>UpdateBotAlias</code> operation to update the tags on a bot alias. To update tags, use the <code>TagResource</code> operation.</p>
231    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
232        self.inner = self.inner.set_tags(input);
233        self
234    }
235    /// <p>A list of tags to add to the bot alias. You can only add tags when you create an alias, you can't use the <code>UpdateBotAlias</code> operation to update the tags on a bot alias. To update tags, use the <code>TagResource</code> operation.</p>
236    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
237        self.inner.get_tags()
238    }
239}