aws_sdk_workspacesweb/operation/create_browser_settings/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_browser_settings::_create_browser_settings_output::CreateBrowserSettingsOutputBuilder;
3
4pub use crate::operation::create_browser_settings::_create_browser_settings_input::CreateBrowserSettingsInputBuilder;
5
6impl crate::operation::create_browser_settings::builders::CreateBrowserSettingsInputBuilder {
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_browser_settings::CreateBrowserSettingsOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_browser_settings::CreateBrowserSettingsError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_browser_settings();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateBrowserSettings`.
24///
25/// <p>Creates a browser settings resource that can be associated with a web portal. Once associated with a web portal, browser settings control how the browser will behave once a user starts a streaming session for the web portal.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct CreateBrowserSettingsFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::create_browser_settings::builders::CreateBrowserSettingsInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::create_browser_settings::CreateBrowserSettingsOutput,
35        crate::operation::create_browser_settings::CreateBrowserSettingsError,
36    > for CreateBrowserSettingsFluentBuilder
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_browser_settings::CreateBrowserSettingsOutput,
44            crate::operation::create_browser_settings::CreateBrowserSettingsError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl CreateBrowserSettingsFluentBuilder {
51    /// Creates a new `CreateBrowserSettingsFluentBuilder`.
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 CreateBrowserSettings as a reference.
60    pub fn as_input(&self) -> &crate::operation::create_browser_settings::builders::CreateBrowserSettingsInputBuilder {
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_browser_settings::CreateBrowserSettingsOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::create_browser_settings::CreateBrowserSettingsError,
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_browser_settings::CreateBrowserSettings::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::create_browser_settings::CreateBrowserSettings::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_browser_settings::CreateBrowserSettingsOutput,
97        crate::operation::create_browser_settings::CreateBrowserSettingsError,
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    ///
112    /// Appends an item to `tags`.
113    ///
114    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
115    ///
116    /// <p>The tags to add to the browser settings resource. A tag is a key-value pair.</p>
117    pub fn tags(mut self, input: crate::types::Tag) -> Self {
118        self.inner = self.inner.tags(input);
119        self
120    }
121    /// <p>The tags to add to the browser settings resource. A tag is a key-value pair.</p>
122    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
123        self.inner = self.inner.set_tags(input);
124        self
125    }
126    /// <p>The tags to add to the browser settings resource. A tag is a key-value pair.</p>
127    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
128        self.inner.get_tags()
129    }
130    /// <p>The custom managed key of the browser settings.</p>
131    pub fn customer_managed_key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
132        self.inner = self.inner.customer_managed_key(input.into());
133        self
134    }
135    /// <p>The custom managed key of the browser settings.</p>
136    pub fn set_customer_managed_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
137        self.inner = self.inner.set_customer_managed_key(input);
138        self
139    }
140    /// <p>The custom managed key of the browser settings.</p>
141    pub fn get_customer_managed_key(&self) -> &::std::option::Option<::std::string::String> {
142        self.inner.get_customer_managed_key()
143    }
144    ///
145    /// Adds a key-value pair to `additionalEncryptionContext`.
146    ///
147    /// To override the contents of this collection use [`set_additional_encryption_context`](Self::set_additional_encryption_context).
148    ///
149    /// <p>Additional encryption context of the browser settings.</p>
150    pub fn additional_encryption_context(
151        mut self,
152        k: impl ::std::convert::Into<::std::string::String>,
153        v: impl ::std::convert::Into<::std::string::String>,
154    ) -> Self {
155        self.inner = self.inner.additional_encryption_context(k.into(), v.into());
156        self
157    }
158    /// <p>Additional encryption context of the browser settings.</p>
159    pub fn set_additional_encryption_context(
160        mut self,
161        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
162    ) -> Self {
163        self.inner = self.inner.set_additional_encryption_context(input);
164        self
165    }
166    /// <p>Additional encryption context of the browser settings.</p>
167    pub fn get_additional_encryption_context(
168        &self,
169    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
170        self.inner.get_additional_encryption_context()
171    }
172    /// <p>A JSON string containing Chrome Enterprise policies that will be applied to all streaming sessions.</p>
173    pub fn browser_policy(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
174        self.inner = self.inner.browser_policy(input.into());
175        self
176    }
177    /// <p>A JSON string containing Chrome Enterprise policies that will be applied to all streaming sessions.</p>
178    pub fn set_browser_policy(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
179        self.inner = self.inner.set_browser_policy(input);
180        self
181    }
182    /// <p>A JSON string containing Chrome Enterprise policies that will be applied to all streaming sessions.</p>
183    pub fn get_browser_policy(&self) -> &::std::option::Option<::std::string::String> {
184        self.inner.get_browser_policy()
185    }
186    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.</p>
187    /// <p>If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.</p>
188    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
189        self.inner = self.inner.client_token(input.into());
190        self
191    }
192    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.</p>
193    /// <p>If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.</p>
194    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
195        self.inner = self.inner.set_client_token(input);
196        self
197    }
198    /// <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.</p>
199    /// <p>If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.</p>
200    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
201        self.inner.get_client_token()
202    }
203}