aws_sdk_qbusiness/operation/create_web_experience/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_web_experience::_create_web_experience_output::CreateWebExperienceOutputBuilder;
3
4pub use crate::operation::create_web_experience::_create_web_experience_input::CreateWebExperienceInputBuilder;
5
6impl crate::operation::create_web_experience::builders::CreateWebExperienceInputBuilder {
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_web_experience::CreateWebExperienceOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_web_experience::CreateWebExperienceError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_web_experience();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateWebExperience`.
24///
25/// <p>Creates an Amazon Q Business web experience.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct CreateWebExperienceFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::create_web_experience::builders::CreateWebExperienceInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::create_web_experience::CreateWebExperienceOutput,
35        crate::operation::create_web_experience::CreateWebExperienceError,
36    > for CreateWebExperienceFluentBuilder
37{
38    fn send(
39        self,
40        config_override: crate::config::Builder,
41    ) -> crate::client::customize::internal::BoxFuture<
42        crate::client::customize::internal::SendResult<
43            crate::operation::create_web_experience::CreateWebExperienceOutput,
44            crate::operation::create_web_experience::CreateWebExperienceError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl CreateWebExperienceFluentBuilder {
51    /// Creates a new `CreateWebExperienceFluentBuilder`.
52    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
53        Self {
54            handle,
55            inner: ::std::default::Default::default(),
56            config_override: ::std::option::Option::None,
57        }
58    }
59    /// Access the CreateWebExperience as a reference.
60    pub fn as_input(&self) -> &crate::operation::create_web_experience::builders::CreateWebExperienceInputBuilder {
61        &self.inner
62    }
63    /// Sends the request and returns the response.
64    ///
65    /// If an error occurs, an `SdkError` will be returned with additional details that
66    /// can be matched against.
67    ///
68    /// By default, any retryable failures will be retried twice. Retry behavior
69    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
70    /// set when configuring the client.
71    pub async fn send(
72        self,
73    ) -> ::std::result::Result<
74        crate::operation::create_web_experience::CreateWebExperienceOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::create_web_experience::CreateWebExperienceError,
77            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
78        >,
79    > {
80        let input = self
81            .inner
82            .build()
83            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
84        let runtime_plugins = crate::operation::create_web_experience::CreateWebExperience::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::create_web_experience::CreateWebExperience::orchestrate(&runtime_plugins, input).await
90    }
91
92    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
93    pub fn customize(
94        self,
95    ) -> crate::client::customize::CustomizableOperation<
96        crate::operation::create_web_experience::CreateWebExperienceOutput,
97        crate::operation::create_web_experience::CreateWebExperienceError,
98        Self,
99    > {
100        crate::client::customize::CustomizableOperation::new(self)
101    }
102    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
103        self.set_config_override(::std::option::Option::Some(config_override.into()));
104        self
105    }
106
107    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
108        self.config_override = config_override;
109        self
110    }
111    /// <p>The identifier of the Amazon Q Business web experience.</p>
112    pub fn application_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113        self.inner = self.inner.application_id(input.into());
114        self
115    }
116    /// <p>The identifier of the Amazon Q Business web experience.</p>
117    pub fn set_application_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118        self.inner = self.inner.set_application_id(input);
119        self
120    }
121    /// <p>The identifier of the Amazon Q Business web experience.</p>
122    pub fn get_application_id(&self) -> &::std::option::Option<::std::string::String> {
123        self.inner.get_application_id()
124    }
125    /// <p>The title for your Amazon Q Business web experience.</p>
126    pub fn title(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127        self.inner = self.inner.title(input.into());
128        self
129    }
130    /// <p>The title for your Amazon Q Business web experience.</p>
131    pub fn set_title(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132        self.inner = self.inner.set_title(input);
133        self
134    }
135    /// <p>The title for your Amazon Q Business web experience.</p>
136    pub fn get_title(&self) -> &::std::option::Option<::std::string::String> {
137        self.inner.get_title()
138    }
139    /// <p>A subtitle to personalize your Amazon Q Business web experience.</p>
140    pub fn subtitle(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141        self.inner = self.inner.subtitle(input.into());
142        self
143    }
144    /// <p>A subtitle to personalize your Amazon Q Business web experience.</p>
145    pub fn set_subtitle(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
146        self.inner = self.inner.set_subtitle(input);
147        self
148    }
149    /// <p>A subtitle to personalize your Amazon Q Business web experience.</p>
150    pub fn get_subtitle(&self) -> &::std::option::Option<::std::string::String> {
151        self.inner.get_subtitle()
152    }
153    /// <p>The customized welcome message for end users of an Amazon Q Business web experience.</p>
154    pub fn welcome_message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
155        self.inner = self.inner.welcome_message(input.into());
156        self
157    }
158    /// <p>The customized welcome message for end users of an Amazon Q Business web experience.</p>
159    pub fn set_welcome_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
160        self.inner = self.inner.set_welcome_message(input);
161        self
162    }
163    /// <p>The customized welcome message for end users of an Amazon Q Business web experience.</p>
164    pub fn get_welcome_message(&self) -> &::std::option::Option<::std::string::String> {
165        self.inner.get_welcome_message()
166    }
167    /// <p>Determines whether sample prompts are enabled in the web experience for an end user.</p>
168    pub fn sample_prompts_control_mode(mut self, input: crate::types::WebExperienceSamplePromptsControlMode) -> Self {
169        self.inner = self.inner.sample_prompts_control_mode(input);
170        self
171    }
172    /// <p>Determines whether sample prompts are enabled in the web experience for an end user.</p>
173    pub fn set_sample_prompts_control_mode(mut self, input: ::std::option::Option<crate::types::WebExperienceSamplePromptsControlMode>) -> Self {
174        self.inner = self.inner.set_sample_prompts_control_mode(input);
175        self
176    }
177    /// <p>Determines whether sample prompts are enabled in the web experience for an end user.</p>
178    pub fn get_sample_prompts_control_mode(&self) -> &::std::option::Option<crate::types::WebExperienceSamplePromptsControlMode> {
179        self.inner.get_sample_prompts_control_mode()
180    }
181    ///
182    /// Appends an item to `origins`.
183    ///
184    /// To override the contents of this collection use [`set_origins`](Self::set_origins).
185    ///
186    /// <p>Sets the website domain origins that are allowed to embed the Amazon Q Business web experience. The <i>domain origin</i> refers to the base URL for accessing a website including the protocol (<code>http/https</code>), the domain name, and the port number (if specified).</p><note>
187    /// <p>You must only submit a <i>base URL</i> and not a full path. For example, <code>https://docs.aws.amazon.com</code>.</p>
188    /// </note>
189    pub fn origins(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
190        self.inner = self.inner.origins(input.into());
191        self
192    }
193    /// <p>Sets the website domain origins that are allowed to embed the Amazon Q Business web experience. The <i>domain origin</i> refers to the base URL for accessing a website including the protocol (<code>http/https</code>), the domain name, and the port number (if specified).</p><note>
194    /// <p>You must only submit a <i>base URL</i> and not a full path. For example, <code>https://docs.aws.amazon.com</code>.</p>
195    /// </note>
196    pub fn set_origins(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
197        self.inner = self.inner.set_origins(input);
198        self
199    }
200    /// <p>Sets the website domain origins that are allowed to embed the Amazon Q Business web experience. The <i>domain origin</i> refers to the base URL for accessing a website including the protocol (<code>http/https</code>), the domain name, and the port number (if specified).</p><note>
201    /// <p>You must only submit a <i>base URL</i> and not a full path. For example, <code>https://docs.aws.amazon.com</code>.</p>
202    /// </note>
203    pub fn get_origins(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
204        self.inner.get_origins()
205    }
206    /// <p>The Amazon Resource Name (ARN) of the service role attached to your web experience.</p><note>
207    /// <p>The <code>roleArn</code> parameter is required when your Amazon Q Business application is created with IAM Identity Center. It is not required for SAML-based applications.</p>
208    /// </note>
209    pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
210        self.inner = self.inner.role_arn(input.into());
211        self
212    }
213    /// <p>The Amazon Resource Name (ARN) of the service role attached to your web experience.</p><note>
214    /// <p>The <code>roleArn</code> parameter is required when your Amazon Q Business application is created with IAM Identity Center. It is not required for SAML-based applications.</p>
215    /// </note>
216    pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
217        self.inner = self.inner.set_role_arn(input);
218        self
219    }
220    /// <p>The Amazon Resource Name (ARN) of the service role attached to your web experience.</p><note>
221    /// <p>The <code>roleArn</code> parameter is required when your Amazon Q Business application is created with IAM Identity Center. It is not required for SAML-based applications.</p>
222    /// </note>
223    pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
224        self.inner.get_role_arn()
225    }
226    ///
227    /// Appends an item to `tags`.
228    ///
229    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
230    ///
231    /// <p>A list of key-value pairs that identify or categorize your Amazon Q Business web experience. You can also use tags to help control access to the web experience. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.</p>
232    pub fn tags(mut self, input: crate::types::Tag) -> Self {
233        self.inner = self.inner.tags(input);
234        self
235    }
236    /// <p>A list of key-value pairs that identify or categorize your Amazon Q Business web experience. You can also use tags to help control access to the web experience. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.</p>
237    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
238        self.inner = self.inner.set_tags(input);
239        self
240    }
241    /// <p>A list of key-value pairs that identify or categorize your Amazon Q Business web experience. You can also use tags to help control access to the web experience. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.</p>
242    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
243        self.inner.get_tags()
244    }
245    /// <p>A token you provide to identify a request to create an Amazon Q Business web experience.</p>
246    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
247        self.inner = self.inner.client_token(input.into());
248        self
249    }
250    /// <p>A token you provide to identify a request to create an Amazon Q Business web experience.</p>
251    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
252        self.inner = self.inner.set_client_token(input);
253        self
254    }
255    /// <p>A token you provide to identify a request to create an Amazon Q Business web experience.</p>
256    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
257        self.inner.get_client_token()
258    }
259    /// <p>Information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.</p>
260    pub fn identity_provider_configuration(mut self, input: crate::types::IdentityProviderConfiguration) -> Self {
261        self.inner = self.inner.identity_provider_configuration(input);
262        self
263    }
264    /// <p>Information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.</p>
265    pub fn set_identity_provider_configuration(mut self, input: ::std::option::Option<crate::types::IdentityProviderConfiguration>) -> Self {
266        self.inner = self.inner.set_identity_provider_configuration(input);
267        self
268    }
269    /// <p>Information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.</p>
270    pub fn get_identity_provider_configuration(&self) -> &::std::option::Option<crate::types::IdentityProviderConfiguration> {
271        self.inner.get_identity_provider_configuration()
272    }
273    /// <p>The browser extension configuration for an Amazon Q Business web experience.</p><note>
274    /// <p>For Amazon Q Business application using external OIDC-compliant identity providers (IdPs). The IdP administrator must add the browser extension sign-in redirect URLs to the IdP application. For more information, see <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/browser-extensions.html">Configure external OIDC identity provider for your browser extensions.</a>.</p>
275    /// </note>
276    pub fn browser_extension_configuration(mut self, input: crate::types::BrowserExtensionConfiguration) -> Self {
277        self.inner = self.inner.browser_extension_configuration(input);
278        self
279    }
280    /// <p>The browser extension configuration for an Amazon Q Business web experience.</p><note>
281    /// <p>For Amazon Q Business application using external OIDC-compliant identity providers (IdPs). The IdP administrator must add the browser extension sign-in redirect URLs to the IdP application. For more information, see <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/browser-extensions.html">Configure external OIDC identity provider for your browser extensions.</a>.</p>
282    /// </note>
283    pub fn set_browser_extension_configuration(mut self, input: ::std::option::Option<crate::types::BrowserExtensionConfiguration>) -> Self {
284        self.inner = self.inner.set_browser_extension_configuration(input);
285        self
286    }
287    /// <p>The browser extension configuration for an Amazon Q Business web experience.</p><note>
288    /// <p>For Amazon Q Business application using external OIDC-compliant identity providers (IdPs). The IdP administrator must add the browser extension sign-in redirect URLs to the IdP application. For more information, see <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/browser-extensions.html">Configure external OIDC identity provider for your browser extensions.</a>.</p>
289    /// </note>
290    pub fn get_browser_extension_configuration(&self) -> &::std::option::Option<crate::types::BrowserExtensionConfiguration> {
291        self.inner.get_browser_extension_configuration()
292    }
293    /// <p>Sets the custom logo, favicon, font, and color used in the Amazon Q web experience.</p>
294    pub fn customization_configuration(mut self, input: crate::types::CustomizationConfiguration) -> Self {
295        self.inner = self.inner.customization_configuration(input);
296        self
297    }
298    /// <p>Sets the custom logo, favicon, font, and color used in the Amazon Q web experience.</p>
299    pub fn set_customization_configuration(mut self, input: ::std::option::Option<crate::types::CustomizationConfiguration>) -> Self {
300        self.inner = self.inner.set_customization_configuration(input);
301        self
302    }
303    /// <p>Sets the custom logo, favicon, font, and color used in the Amazon Q web experience.</p>
304    pub fn get_customization_configuration(&self) -> &::std::option::Option<crate::types::CustomizationConfiguration> {
305        self.inner.get_customization_configuration()
306    }
307}