aws_sdk_quicksight/operation/register_user/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::register_user::_register_user_output::RegisterUserOutputBuilder;
3
4pub use crate::operation::register_user::_register_user_input::RegisterUserInputBuilder;
5
6impl crate::operation::register_user::builders::RegisterUserInputBuilder {
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::register_user::RegisterUserOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::register_user::RegisterUserError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.register_user();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `RegisterUser`.
24///
25/// <p>Creates an Amazon Quick Sight user whose identity is associated with the Identity and Access Management (IAM) identity or role specified in the request. When you register a new user from the Quick Sight API, Quick Sight generates a registration URL. The user accesses this registration URL to create their account. Quick Sight doesn't send a registration email to users who are registered from the Quick Sight API. If you want new users to receive a registration email, then add those users in the Quick Sight console. For more information on registering a new user in the Quick Sight console, see <a href="https://docs.aws.amazon.com/quicksight/latest/user/managing-users.html#inviting-users"> Inviting users to access Quick Sight</a>.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct RegisterUserFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::register_user::builders::RegisterUserInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::register_user::RegisterUserOutput,
35        crate::operation::register_user::RegisterUserError,
36    > for RegisterUserFluentBuilder
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::register_user::RegisterUserOutput,
44            crate::operation::register_user::RegisterUserError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl RegisterUserFluentBuilder {
51    /// Creates a new `RegisterUserFluentBuilder`.
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 RegisterUser as a reference.
60    pub fn as_input(&self) -> &crate::operation::register_user::builders::RegisterUserInputBuilder {
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::register_user::RegisterUserOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::register_user::RegisterUserError,
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::register_user::RegisterUser::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::register_user::RegisterUser::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::register_user::RegisterUserOutput,
97        crate::operation::register_user::RegisterUserError,
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 identity type that your Quick Sight account uses to manage the identity of users.</p>
112    pub fn identity_type(mut self, input: crate::types::IdentityType) -> Self {
113        self.inner = self.inner.identity_type(input);
114        self
115    }
116    /// <p>The identity type that your Quick Sight account uses to manage the identity of users.</p>
117    pub fn set_identity_type(mut self, input: ::std::option::Option<crate::types::IdentityType>) -> Self {
118        self.inner = self.inner.set_identity_type(input);
119        self
120    }
121    /// <p>The identity type that your Quick Sight account uses to manage the identity of users.</p>
122    pub fn get_identity_type(&self) -> &::std::option::Option<crate::types::IdentityType> {
123        self.inner.get_identity_type()
124    }
125    /// <p>The email address of the user that you want to register.</p>
126    pub fn email(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127        self.inner = self.inner.email(input.into());
128        self
129    }
130    /// <p>The email address of the user that you want to register.</p>
131    pub fn set_email(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132        self.inner = self.inner.set_email(input);
133        self
134    }
135    /// <p>The email address of the user that you want to register.</p>
136    pub fn get_email(&self) -> &::std::option::Option<::std::string::String> {
137        self.inner.get_email()
138    }
139    /// <p>The Amazon Quick Sight role for the user. The user role can be one of the following:</p>
140    /// <ul>
141    /// <li>
142    /// <p><code>READER</code>: A user who has read-only access to dashboards.</p></li>
143    /// <li>
144    /// <p><code>AUTHOR</code>: A user who can create data sources, datasets, analyses, and dashboards.</p></li>
145    /// <li>
146    /// <p><code>ADMIN</code>: A user who is an author, who can also manage Amazon Quick Sight settings.</p></li>
147    /// <li>
148    /// <p><code>READER_PRO</code>: Reader Pro adds Generative BI capabilities to the Reader role. Reader Pros have access to Amazon Q in Quick Sight, can build stories with Amazon Q, and can generate executive summaries from dashboards.</p></li>
149    /// <li>
150    /// <p><code>AUTHOR_PRO</code>: Author Pro adds Generative BI capabilities to the Author role. Author Pros can author dashboards with natural language with Amazon Q, build stories with Amazon Q, create Topics for Q&amp;A, and generate executive summaries from dashboards.</p></li>
151    /// <li>
152    /// <p><code>ADMIN_PRO</code>: Admin Pros are Author Pros who can also manage Amazon Quick Sight administrative settings. Admin Pro users are billed at Author Pro pricing.</p></li>
153    /// <li>
154    /// <p><code>RESTRICTED_READER</code>: This role isn't currently available for use.</p></li>
155    /// <li>
156    /// <p><code>RESTRICTED_AUTHOR</code>: This role isn't currently available for use.</p></li>
157    /// </ul>
158    pub fn user_role(mut self, input: crate::types::UserRole) -> Self {
159        self.inner = self.inner.user_role(input);
160        self
161    }
162    /// <p>The Amazon Quick Sight role for the user. The user role can be one of the following:</p>
163    /// <ul>
164    /// <li>
165    /// <p><code>READER</code>: A user who has read-only access to dashboards.</p></li>
166    /// <li>
167    /// <p><code>AUTHOR</code>: A user who can create data sources, datasets, analyses, and dashboards.</p></li>
168    /// <li>
169    /// <p><code>ADMIN</code>: A user who is an author, who can also manage Amazon Quick Sight settings.</p></li>
170    /// <li>
171    /// <p><code>READER_PRO</code>: Reader Pro adds Generative BI capabilities to the Reader role. Reader Pros have access to Amazon Q in Quick Sight, can build stories with Amazon Q, and can generate executive summaries from dashboards.</p></li>
172    /// <li>
173    /// <p><code>AUTHOR_PRO</code>: Author Pro adds Generative BI capabilities to the Author role. Author Pros can author dashboards with natural language with Amazon Q, build stories with Amazon Q, create Topics for Q&amp;A, and generate executive summaries from dashboards.</p></li>
174    /// <li>
175    /// <p><code>ADMIN_PRO</code>: Admin Pros are Author Pros who can also manage Amazon Quick Sight administrative settings. Admin Pro users are billed at Author Pro pricing.</p></li>
176    /// <li>
177    /// <p><code>RESTRICTED_READER</code>: This role isn't currently available for use.</p></li>
178    /// <li>
179    /// <p><code>RESTRICTED_AUTHOR</code>: This role isn't currently available for use.</p></li>
180    /// </ul>
181    pub fn set_user_role(mut self, input: ::std::option::Option<crate::types::UserRole>) -> Self {
182        self.inner = self.inner.set_user_role(input);
183        self
184    }
185    /// <p>The Amazon Quick Sight role for the user. The user role can be one of the following:</p>
186    /// <ul>
187    /// <li>
188    /// <p><code>READER</code>: A user who has read-only access to dashboards.</p></li>
189    /// <li>
190    /// <p><code>AUTHOR</code>: A user who can create data sources, datasets, analyses, and dashboards.</p></li>
191    /// <li>
192    /// <p><code>ADMIN</code>: A user who is an author, who can also manage Amazon Quick Sight settings.</p></li>
193    /// <li>
194    /// <p><code>READER_PRO</code>: Reader Pro adds Generative BI capabilities to the Reader role. Reader Pros have access to Amazon Q in Quick Sight, can build stories with Amazon Q, and can generate executive summaries from dashboards.</p></li>
195    /// <li>
196    /// <p><code>AUTHOR_PRO</code>: Author Pro adds Generative BI capabilities to the Author role. Author Pros can author dashboards with natural language with Amazon Q, build stories with Amazon Q, create Topics for Q&amp;A, and generate executive summaries from dashboards.</p></li>
197    /// <li>
198    /// <p><code>ADMIN_PRO</code>: Admin Pros are Author Pros who can also manage Amazon Quick Sight administrative settings. Admin Pro users are billed at Author Pro pricing.</p></li>
199    /// <li>
200    /// <p><code>RESTRICTED_READER</code>: This role isn't currently available for use.</p></li>
201    /// <li>
202    /// <p><code>RESTRICTED_AUTHOR</code>: This role isn't currently available for use.</p></li>
203    /// </ul>
204    pub fn get_user_role(&self) -> &::std::option::Option<crate::types::UserRole> {
205        self.inner.get_user_role()
206    }
207    /// <p>The ARN of the IAM user or role that you are registering with Amazon Quick Sight.</p>
208    pub fn iam_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
209        self.inner = self.inner.iam_arn(input.into());
210        self
211    }
212    /// <p>The ARN of the IAM user or role that you are registering with Amazon Quick Sight.</p>
213    pub fn set_iam_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
214        self.inner = self.inner.set_iam_arn(input);
215        self
216    }
217    /// <p>The ARN of the IAM user or role that you are registering with Amazon Quick Sight.</p>
218    pub fn get_iam_arn(&self) -> &::std::option::Option<::std::string::String> {
219        self.inner.get_iam_arn()
220    }
221    /// <p>You need to use this parameter only when you register one or more users using an assumed IAM role. You don't need to provide the session name for other scenarios, for example when you are registering an IAM user or an Amazon Quick Sight user. You can register multiple users using the same IAM role if each user has a different session name. For more information on assuming IAM roles, see <a href="https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html"> <code>assume-role</code> </a> in the <i>CLI Reference.</i></p>
222    pub fn session_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
223        self.inner = self.inner.session_name(input.into());
224        self
225    }
226    /// <p>You need to use this parameter only when you register one or more users using an assumed IAM role. You don't need to provide the session name for other scenarios, for example when you are registering an IAM user or an Amazon Quick Sight user. You can register multiple users using the same IAM role if each user has a different session name. For more information on assuming IAM roles, see <a href="https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html"> <code>assume-role</code> </a> in the <i>CLI Reference.</i></p>
227    pub fn set_session_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
228        self.inner = self.inner.set_session_name(input);
229        self
230    }
231    /// <p>You need to use this parameter only when you register one or more users using an assumed IAM role. You don't need to provide the session name for other scenarios, for example when you are registering an IAM user or an Amazon Quick Sight user. You can register multiple users using the same IAM role if each user has a different session name. For more information on assuming IAM roles, see <a href="https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html"> <code>assume-role</code> </a> in the <i>CLI Reference.</i></p>
232    pub fn get_session_name(&self) -> &::std::option::Option<::std::string::String> {
233        self.inner.get_session_name()
234    }
235    /// <p>The ID for the Amazon Web Services account that the user is in. Currently, you use the ID for the Amazon Web Services account that contains your Amazon Quick Sight account.</p>
236    pub fn aws_account_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
237        self.inner = self.inner.aws_account_id(input.into());
238        self
239    }
240    /// <p>The ID for the Amazon Web Services account that the user is in. Currently, you use the ID for the Amazon Web Services account that contains your Amazon Quick Sight account.</p>
241    pub fn set_aws_account_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
242        self.inner = self.inner.set_aws_account_id(input);
243        self
244    }
245    /// <p>The ID for the Amazon Web Services account that the user is in. Currently, you use the ID for the Amazon Web Services account that contains your Amazon Quick Sight account.</p>
246    pub fn get_aws_account_id(&self) -> &::std::option::Option<::std::string::String> {
247        self.inner.get_aws_account_id()
248    }
249    /// <p>The namespace. Currently, you should set this to <code>default</code>.</p>
250    pub fn namespace(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
251        self.inner = self.inner.namespace(input.into());
252        self
253    }
254    /// <p>The namespace. Currently, you should set this to <code>default</code>.</p>
255    pub fn set_namespace(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
256        self.inner = self.inner.set_namespace(input);
257        self
258    }
259    /// <p>The namespace. Currently, you should set this to <code>default</code>.</p>
260    pub fn get_namespace(&self) -> &::std::option::Option<::std::string::String> {
261        self.inner.get_namespace()
262    }
263    /// <p>The Amazon Quick Sight user name that you want to create for the user you are registering.</p>
264    pub fn user_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
265        self.inner = self.inner.user_name(input.into());
266        self
267    }
268    /// <p>The Amazon Quick Sight user name that you want to create for the user you are registering.</p>
269    pub fn set_user_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
270        self.inner = self.inner.set_user_name(input);
271        self
272    }
273    /// <p>The Amazon Quick Sight user name that you want to create for the user you are registering.</p>
274    pub fn get_user_name(&self) -> &::std::option::Option<::std::string::String> {
275        self.inner.get_user_name()
276    }
277    /// <p>(Enterprise edition only) The name of the custom permissions profile that you want to assign to this user. Customized permissions allows you to control a user's access by restricting access the following operations:</p>
278    /// <ul>
279    /// <li>
280    /// <p>Create and update data sources</p></li>
281    /// <li>
282    /// <p>Create and update datasets</p></li>
283    /// <li>
284    /// <p>Create and update email reports</p></li>
285    /// <li>
286    /// <p>Subscribe to email reports</p></li>
287    /// </ul>
288    /// <p>To add custom permissions to an existing user, use <code> <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateUser.html">UpdateUser</a> </code> instead.</p>
289    /// <p>A set of custom permissions includes any combination of these restrictions. Currently, you need to create the profile names for custom permission sets by using the Quick Sight console. Then, you use the <code>RegisterUser</code> API operation to assign the named set of permissions to a Quick Sight user.</p>
290    /// <p>Quick Sight custom permissions are applied through IAM policies. Therefore, they override the permissions typically granted by assigning Quick Sight users to one of the default security cohorts in Quick Sight (admin, author, reader, admin pro, author pro, reader pro).</p>
291    /// <p>This feature is available only to Quick Sight Enterprise edition subscriptions.</p>
292    pub fn custom_permissions_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
293        self.inner = self.inner.custom_permissions_name(input.into());
294        self
295    }
296    /// <p>(Enterprise edition only) The name of the custom permissions profile that you want to assign to this user. Customized permissions allows you to control a user's access by restricting access the following operations:</p>
297    /// <ul>
298    /// <li>
299    /// <p>Create and update data sources</p></li>
300    /// <li>
301    /// <p>Create and update datasets</p></li>
302    /// <li>
303    /// <p>Create and update email reports</p></li>
304    /// <li>
305    /// <p>Subscribe to email reports</p></li>
306    /// </ul>
307    /// <p>To add custom permissions to an existing user, use <code> <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateUser.html">UpdateUser</a> </code> instead.</p>
308    /// <p>A set of custom permissions includes any combination of these restrictions. Currently, you need to create the profile names for custom permission sets by using the Quick Sight console. Then, you use the <code>RegisterUser</code> API operation to assign the named set of permissions to a Quick Sight user.</p>
309    /// <p>Quick Sight custom permissions are applied through IAM policies. Therefore, they override the permissions typically granted by assigning Quick Sight users to one of the default security cohorts in Quick Sight (admin, author, reader, admin pro, author pro, reader pro).</p>
310    /// <p>This feature is available only to Quick Sight Enterprise edition subscriptions.</p>
311    pub fn set_custom_permissions_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
312        self.inner = self.inner.set_custom_permissions_name(input);
313        self
314    }
315    /// <p>(Enterprise edition only) The name of the custom permissions profile that you want to assign to this user. Customized permissions allows you to control a user's access by restricting access the following operations:</p>
316    /// <ul>
317    /// <li>
318    /// <p>Create and update data sources</p></li>
319    /// <li>
320    /// <p>Create and update datasets</p></li>
321    /// <li>
322    /// <p>Create and update email reports</p></li>
323    /// <li>
324    /// <p>Subscribe to email reports</p></li>
325    /// </ul>
326    /// <p>To add custom permissions to an existing user, use <code> <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateUser.html">UpdateUser</a> </code> instead.</p>
327    /// <p>A set of custom permissions includes any combination of these restrictions. Currently, you need to create the profile names for custom permission sets by using the Quick Sight console. Then, you use the <code>RegisterUser</code> API operation to assign the named set of permissions to a Quick Sight user.</p>
328    /// <p>Quick Sight custom permissions are applied through IAM policies. Therefore, they override the permissions typically granted by assigning Quick Sight users to one of the default security cohorts in Quick Sight (admin, author, reader, admin pro, author pro, reader pro).</p>
329    /// <p>This feature is available only to Quick Sight Enterprise edition subscriptions.</p>
330    pub fn get_custom_permissions_name(&self) -> &::std::option::Option<::std::string::String> {
331        self.inner.get_custom_permissions_name()
332    }
333    /// <p>The type of supported external login provider that provides identity to let a user federate into Amazon Quick Sight with an associated Identity and Access Management(IAM) role. The type of supported external login provider can be one of the following.</p>
334    /// <ul>
335    /// <li>
336    /// <p><code>COGNITO</code>: Amazon Cognito. The provider URL is cognito-identity.amazonaws.com. When choosing the <code>COGNITO</code> provider type, don’t use the "CustomFederationProviderUrl" parameter which is only needed when the external provider is custom.</p></li>
337    /// <li>
338    /// <p><code>CUSTOM_OIDC</code>: Custom OpenID Connect (OIDC) provider. When choosing <code>CUSTOM_OIDC</code> type, use the <code>CustomFederationProviderUrl</code> parameter to provide the custom OIDC provider URL.</p></li>
339    /// </ul>
340    pub fn external_login_federation_provider_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
341        self.inner = self.inner.external_login_federation_provider_type(input.into());
342        self
343    }
344    /// <p>The type of supported external login provider that provides identity to let a user federate into Amazon Quick Sight with an associated Identity and Access Management(IAM) role. The type of supported external login provider can be one of the following.</p>
345    /// <ul>
346    /// <li>
347    /// <p><code>COGNITO</code>: Amazon Cognito. The provider URL is cognito-identity.amazonaws.com. When choosing the <code>COGNITO</code> provider type, don’t use the "CustomFederationProviderUrl" parameter which is only needed when the external provider is custom.</p></li>
348    /// <li>
349    /// <p><code>CUSTOM_OIDC</code>: Custom OpenID Connect (OIDC) provider. When choosing <code>CUSTOM_OIDC</code> type, use the <code>CustomFederationProviderUrl</code> parameter to provide the custom OIDC provider URL.</p></li>
350    /// </ul>
351    pub fn set_external_login_federation_provider_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
352        self.inner = self.inner.set_external_login_federation_provider_type(input);
353        self
354    }
355    /// <p>The type of supported external login provider that provides identity to let a user federate into Amazon Quick Sight with an associated Identity and Access Management(IAM) role. The type of supported external login provider can be one of the following.</p>
356    /// <ul>
357    /// <li>
358    /// <p><code>COGNITO</code>: Amazon Cognito. The provider URL is cognito-identity.amazonaws.com. When choosing the <code>COGNITO</code> provider type, don’t use the "CustomFederationProviderUrl" parameter which is only needed when the external provider is custom.</p></li>
359    /// <li>
360    /// <p><code>CUSTOM_OIDC</code>: Custom OpenID Connect (OIDC) provider. When choosing <code>CUSTOM_OIDC</code> type, use the <code>CustomFederationProviderUrl</code> parameter to provide the custom OIDC provider URL.</p></li>
361    /// </ul>
362    pub fn get_external_login_federation_provider_type(&self) -> &::std::option::Option<::std::string::String> {
363        self.inner.get_external_login_federation_provider_type()
364    }
365    /// <p>The URL of the custom OpenID Connect (OIDC) provider that provides identity to let a user federate into Quick Sight with an associated Identity and Access Management(IAM) role. This parameter should only be used when <code>ExternalLoginFederationProviderType</code> parameter is set to <code>CUSTOM_OIDC</code>.</p>
366    pub fn custom_federation_provider_url(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
367        self.inner = self.inner.custom_federation_provider_url(input.into());
368        self
369    }
370    /// <p>The URL of the custom OpenID Connect (OIDC) provider that provides identity to let a user federate into Quick Sight with an associated Identity and Access Management(IAM) role. This parameter should only be used when <code>ExternalLoginFederationProviderType</code> parameter is set to <code>CUSTOM_OIDC</code>.</p>
371    pub fn set_custom_federation_provider_url(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
372        self.inner = self.inner.set_custom_federation_provider_url(input);
373        self
374    }
375    /// <p>The URL of the custom OpenID Connect (OIDC) provider that provides identity to let a user federate into Quick Sight with an associated Identity and Access Management(IAM) role. This parameter should only be used when <code>ExternalLoginFederationProviderType</code> parameter is set to <code>CUSTOM_OIDC</code>.</p>
376    pub fn get_custom_federation_provider_url(&self) -> &::std::option::Option<::std::string::String> {
377        self.inner.get_custom_federation_provider_url()
378    }
379    /// <p>The identity ID for a user in the external login provider.</p>
380    pub fn external_login_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
381        self.inner = self.inner.external_login_id(input.into());
382        self
383    }
384    /// <p>The identity ID for a user in the external login provider.</p>
385    pub fn set_external_login_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
386        self.inner = self.inner.set_external_login_id(input);
387        self
388    }
389    /// <p>The identity ID for a user in the external login provider.</p>
390    pub fn get_external_login_id(&self) -> &::std::option::Option<::std::string::String> {
391        self.inner.get_external_login_id()
392    }
393    ///
394    /// Appends an item to `Tags`.
395    ///
396    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
397    ///
398    /// <p>The tags to associate with the user.</p>
399    pub fn tags(mut self, input: crate::types::Tag) -> Self {
400        self.inner = self.inner.tags(input);
401        self
402    }
403    /// <p>The tags to associate with the user.</p>
404    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
405        self.inner = self.inner.set_tags(input);
406        self
407    }
408    /// <p>The tags to associate with the user.</p>
409    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
410        self.inner.get_tags()
411    }
412}