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&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&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&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}