aws_sdk_quicksight/operation/update_user/_update_user_input.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct UpdateUserInput {
6 /// <p>The Amazon QuickSight user name that you want to update.</p>
7 pub user_name: ::std::option::Option<::std::string::String>,
8 /// <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 QuickSight account.</p>
9 pub aws_account_id: ::std::option::Option<::std::string::String>,
10 /// <p>The namespace. Currently, you should set this to <code>default</code>.</p>
11 pub namespace: ::std::option::Option<::std::string::String>,
12 /// <p>The email address of the user that you want to update.</p>
13 pub email: ::std::option::Option<::std::string::String>,
14 /// <p>The Amazon QuickSight role of the user. The role can be one of the following default security cohorts:</p>
15 /// <ul>
16 /// <li>
17 /// <p><code>READER</code>: A user who has read-only access to dashboards.</p></li>
18 /// <li>
19 /// <p><code>AUTHOR</code>: A user who can create data sources, datasets, analyses, and dashboards.</p></li>
20 /// <li>
21 /// <p><code>ADMIN</code>: A user who is an author, who can also manage Amazon QuickSight settings.</p></li>
22 /// <li>
23 /// <p><code>READER_PRO</code>: Reader Pro adds Generative BI capabilities to the Reader role. Reader Pros have access to Amazon Q in Amazon QuickSight, can build stories with Amazon Q, and can generate executive summaries from dashboards.</p></li>
24 /// <li>
25 /// <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>
26 /// <li>
27 /// <p><code>ADMIN_PRO</code>: Admin Pros are Author Pros who can also manage Amazon QuickSight administrative settings. Admin Pro users are billed at Author Pro pricing.</p></li>
28 /// </ul>
29 /// <p>The name of the Amazon QuickSight role is invisible to the user except for the console screens dealing with permissions.</p>
30 pub role: ::std::option::Option<crate::types::UserRole>,
31 /// <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>
32 /// <ul>
33 /// <li>
34 /// <p>Create and update data sources</p></li>
35 /// <li>
36 /// <p>Create and update datasets</p></li>
37 /// <li>
38 /// <p>Create and update email reports</p></li>
39 /// <li>
40 /// <p>Subscribe to email reports</p></li>
41 /// </ul>
42 /// <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 Amazon QuickSight console. Then, you use the <code>RegisterUser</code> API operation to assign the named set of permissions to a Amazon QuickSight user.</p>
43 /// <p>Amazon QuickSight custom permissions are applied through IAM policies. Therefore, they override the permissions typically granted by assigning Amazon QuickSight users to one of the default security cohorts in Amazon QuickSight (admin, author, reader).</p>
44 /// <p>This feature is available only to Amazon QuickSight Enterprise edition subscriptions.</p>
45 pub custom_permissions_name: ::std::option::Option<::std::string::String>,
46 /// <p>A flag that you use to indicate that you want to remove all custom permissions from this user. Using this parameter resets the user to the state it was in before a custom permissions profile was applied. This parameter defaults to NULL and it doesn't accept any other value.</p>
47 pub unapply_custom_permissions: ::std::option::Option<bool>,
48 /// <p>The type of supported external login provider that provides identity to let a user federate into Amazon QuickSight with an associated Identity and Access Management(IAM) role. The type of supported external login provider can be one of the following.</p>
49 /// <ul>
50 /// <li>
51 /// <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>
52 /// <li>
53 /// <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>
54 /// <li>
55 /// <p><code>NONE</code>: This clears all the previously saved external login information for a user. Use the <code> <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeUser.html">DescribeUser</a> </code> API operation to check the external login information.</p></li>
56 /// </ul>
57 pub external_login_federation_provider_type: ::std::option::Option<::std::string::String>,
58 /// <p>The URL of the custom OpenID Connect (OIDC) provider that provides identity to let a user federate into Amazon QuickSight 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>
59 pub custom_federation_provider_url: ::std::option::Option<::std::string::String>,
60 /// <p>The identity ID for a user in the external login provider.</p>
61 pub external_login_id: ::std::option::Option<::std::string::String>,
62}
63impl UpdateUserInput {
64 /// <p>The Amazon QuickSight user name that you want to update.</p>
65 pub fn user_name(&self) -> ::std::option::Option<&str> {
66 self.user_name.as_deref()
67 }
68 /// <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 QuickSight account.</p>
69 pub fn aws_account_id(&self) -> ::std::option::Option<&str> {
70 self.aws_account_id.as_deref()
71 }
72 /// <p>The namespace. Currently, you should set this to <code>default</code>.</p>
73 pub fn namespace(&self) -> ::std::option::Option<&str> {
74 self.namespace.as_deref()
75 }
76 /// <p>The email address of the user that you want to update.</p>
77 pub fn email(&self) -> ::std::option::Option<&str> {
78 self.email.as_deref()
79 }
80 /// <p>The Amazon QuickSight role of the user. The role can be one of the following default security cohorts:</p>
81 /// <ul>
82 /// <li>
83 /// <p><code>READER</code>: A user who has read-only access to dashboards.</p></li>
84 /// <li>
85 /// <p><code>AUTHOR</code>: A user who can create data sources, datasets, analyses, and dashboards.</p></li>
86 /// <li>
87 /// <p><code>ADMIN</code>: A user who is an author, who can also manage Amazon QuickSight settings.</p></li>
88 /// <li>
89 /// <p><code>READER_PRO</code>: Reader Pro adds Generative BI capabilities to the Reader role. Reader Pros have access to Amazon Q in Amazon QuickSight, can build stories with Amazon Q, and can generate executive summaries from dashboards.</p></li>
90 /// <li>
91 /// <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>
92 /// <li>
93 /// <p><code>ADMIN_PRO</code>: Admin Pros are Author Pros who can also manage Amazon QuickSight administrative settings. Admin Pro users are billed at Author Pro pricing.</p></li>
94 /// </ul>
95 /// <p>The name of the Amazon QuickSight role is invisible to the user except for the console screens dealing with permissions.</p>
96 pub fn role(&self) -> ::std::option::Option<&crate::types::UserRole> {
97 self.role.as_ref()
98 }
99 /// <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>
100 /// <ul>
101 /// <li>
102 /// <p>Create and update data sources</p></li>
103 /// <li>
104 /// <p>Create and update datasets</p></li>
105 /// <li>
106 /// <p>Create and update email reports</p></li>
107 /// <li>
108 /// <p>Subscribe to email reports</p></li>
109 /// </ul>
110 /// <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 Amazon QuickSight console. Then, you use the <code>RegisterUser</code> API operation to assign the named set of permissions to a Amazon QuickSight user.</p>
111 /// <p>Amazon QuickSight custom permissions are applied through IAM policies. Therefore, they override the permissions typically granted by assigning Amazon QuickSight users to one of the default security cohorts in Amazon QuickSight (admin, author, reader).</p>
112 /// <p>This feature is available only to Amazon QuickSight Enterprise edition subscriptions.</p>
113 pub fn custom_permissions_name(&self) -> ::std::option::Option<&str> {
114 self.custom_permissions_name.as_deref()
115 }
116 /// <p>A flag that you use to indicate that you want to remove all custom permissions from this user. Using this parameter resets the user to the state it was in before a custom permissions profile was applied. This parameter defaults to NULL and it doesn't accept any other value.</p>
117 pub fn unapply_custom_permissions(&self) -> ::std::option::Option<bool> {
118 self.unapply_custom_permissions
119 }
120 /// <p>The type of supported external login provider that provides identity to let a user federate into Amazon QuickSight with an associated Identity and Access Management(IAM) role. The type of supported external login provider can be one of the following.</p>
121 /// <ul>
122 /// <li>
123 /// <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>
124 /// <li>
125 /// <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>
126 /// <li>
127 /// <p><code>NONE</code>: This clears all the previously saved external login information for a user. Use the <code> <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeUser.html">DescribeUser</a> </code> API operation to check the external login information.</p></li>
128 /// </ul>
129 pub fn external_login_federation_provider_type(&self) -> ::std::option::Option<&str> {
130 self.external_login_federation_provider_type.as_deref()
131 }
132 /// <p>The URL of the custom OpenID Connect (OIDC) provider that provides identity to let a user federate into Amazon QuickSight 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>
133 pub fn custom_federation_provider_url(&self) -> ::std::option::Option<&str> {
134 self.custom_federation_provider_url.as_deref()
135 }
136 /// <p>The identity ID for a user in the external login provider.</p>
137 pub fn external_login_id(&self) -> ::std::option::Option<&str> {
138 self.external_login_id.as_deref()
139 }
140}
141impl UpdateUserInput {
142 /// Creates a new builder-style object to manufacture [`UpdateUserInput`](crate::operation::update_user::UpdateUserInput).
143 pub fn builder() -> crate::operation::update_user::builders::UpdateUserInputBuilder {
144 crate::operation::update_user::builders::UpdateUserInputBuilder::default()
145 }
146}
147
148/// A builder for [`UpdateUserInput`](crate::operation::update_user::UpdateUserInput).
149#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
150#[non_exhaustive]
151pub struct UpdateUserInputBuilder {
152 pub(crate) user_name: ::std::option::Option<::std::string::String>,
153 pub(crate) aws_account_id: ::std::option::Option<::std::string::String>,
154 pub(crate) namespace: ::std::option::Option<::std::string::String>,
155 pub(crate) email: ::std::option::Option<::std::string::String>,
156 pub(crate) role: ::std::option::Option<crate::types::UserRole>,
157 pub(crate) custom_permissions_name: ::std::option::Option<::std::string::String>,
158 pub(crate) unapply_custom_permissions: ::std::option::Option<bool>,
159 pub(crate) external_login_federation_provider_type: ::std::option::Option<::std::string::String>,
160 pub(crate) custom_federation_provider_url: ::std::option::Option<::std::string::String>,
161 pub(crate) external_login_id: ::std::option::Option<::std::string::String>,
162}
163impl UpdateUserInputBuilder {
164 /// <p>The Amazon QuickSight user name that you want to update.</p>
165 /// This field is required.
166 pub fn user_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
167 self.user_name = ::std::option::Option::Some(input.into());
168 self
169 }
170 /// <p>The Amazon QuickSight user name that you want to update.</p>
171 pub fn set_user_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
172 self.user_name = input;
173 self
174 }
175 /// <p>The Amazon QuickSight user name that you want to update.</p>
176 pub fn get_user_name(&self) -> &::std::option::Option<::std::string::String> {
177 &self.user_name
178 }
179 /// <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 QuickSight account.</p>
180 /// This field is required.
181 pub fn aws_account_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
182 self.aws_account_id = ::std::option::Option::Some(input.into());
183 self
184 }
185 /// <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 QuickSight account.</p>
186 pub fn set_aws_account_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
187 self.aws_account_id = input;
188 self
189 }
190 /// <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 QuickSight account.</p>
191 pub fn get_aws_account_id(&self) -> &::std::option::Option<::std::string::String> {
192 &self.aws_account_id
193 }
194 /// <p>The namespace. Currently, you should set this to <code>default</code>.</p>
195 /// This field is required.
196 pub fn namespace(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
197 self.namespace = ::std::option::Option::Some(input.into());
198 self
199 }
200 /// <p>The namespace. Currently, you should set this to <code>default</code>.</p>
201 pub fn set_namespace(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
202 self.namespace = input;
203 self
204 }
205 /// <p>The namespace. Currently, you should set this to <code>default</code>.</p>
206 pub fn get_namespace(&self) -> &::std::option::Option<::std::string::String> {
207 &self.namespace
208 }
209 /// <p>The email address of the user that you want to update.</p>
210 /// This field is required.
211 pub fn email(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
212 self.email = ::std::option::Option::Some(input.into());
213 self
214 }
215 /// <p>The email address of the user that you want to update.</p>
216 pub fn set_email(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
217 self.email = input;
218 self
219 }
220 /// <p>The email address of the user that you want to update.</p>
221 pub fn get_email(&self) -> &::std::option::Option<::std::string::String> {
222 &self.email
223 }
224 /// <p>The Amazon QuickSight role of the user. The role can be one of the following default security cohorts:</p>
225 /// <ul>
226 /// <li>
227 /// <p><code>READER</code>: A user who has read-only access to dashboards.</p></li>
228 /// <li>
229 /// <p><code>AUTHOR</code>: A user who can create data sources, datasets, analyses, and dashboards.</p></li>
230 /// <li>
231 /// <p><code>ADMIN</code>: A user who is an author, who can also manage Amazon QuickSight settings.</p></li>
232 /// <li>
233 /// <p><code>READER_PRO</code>: Reader Pro adds Generative BI capabilities to the Reader role. Reader Pros have access to Amazon Q in Amazon QuickSight, can build stories with Amazon Q, and can generate executive summaries from dashboards.</p></li>
234 /// <li>
235 /// <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>
236 /// <li>
237 /// <p><code>ADMIN_PRO</code>: Admin Pros are Author Pros who can also manage Amazon QuickSight administrative settings. Admin Pro users are billed at Author Pro pricing.</p></li>
238 /// </ul>
239 /// <p>The name of the Amazon QuickSight role is invisible to the user except for the console screens dealing with permissions.</p>
240 /// This field is required.
241 pub fn role(mut self, input: crate::types::UserRole) -> Self {
242 self.role = ::std::option::Option::Some(input);
243 self
244 }
245 /// <p>The Amazon QuickSight role of the user. The role can be one of the following default security cohorts:</p>
246 /// <ul>
247 /// <li>
248 /// <p><code>READER</code>: A user who has read-only access to dashboards.</p></li>
249 /// <li>
250 /// <p><code>AUTHOR</code>: A user who can create data sources, datasets, analyses, and dashboards.</p></li>
251 /// <li>
252 /// <p><code>ADMIN</code>: A user who is an author, who can also manage Amazon QuickSight settings.</p></li>
253 /// <li>
254 /// <p><code>READER_PRO</code>: Reader Pro adds Generative BI capabilities to the Reader role. Reader Pros have access to Amazon Q in Amazon QuickSight, can build stories with Amazon Q, and can generate executive summaries from dashboards.</p></li>
255 /// <li>
256 /// <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>
257 /// <li>
258 /// <p><code>ADMIN_PRO</code>: Admin Pros are Author Pros who can also manage Amazon QuickSight administrative settings. Admin Pro users are billed at Author Pro pricing.</p></li>
259 /// </ul>
260 /// <p>The name of the Amazon QuickSight role is invisible to the user except for the console screens dealing with permissions.</p>
261 pub fn set_role(mut self, input: ::std::option::Option<crate::types::UserRole>) -> Self {
262 self.role = input;
263 self
264 }
265 /// <p>The Amazon QuickSight role of the user. The role can be one of the following default security cohorts:</p>
266 /// <ul>
267 /// <li>
268 /// <p><code>READER</code>: A user who has read-only access to dashboards.</p></li>
269 /// <li>
270 /// <p><code>AUTHOR</code>: A user who can create data sources, datasets, analyses, and dashboards.</p></li>
271 /// <li>
272 /// <p><code>ADMIN</code>: A user who is an author, who can also manage Amazon QuickSight settings.</p></li>
273 /// <li>
274 /// <p><code>READER_PRO</code>: Reader Pro adds Generative BI capabilities to the Reader role. Reader Pros have access to Amazon Q in Amazon QuickSight, can build stories with Amazon Q, and can generate executive summaries from dashboards.</p></li>
275 /// <li>
276 /// <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>
277 /// <li>
278 /// <p><code>ADMIN_PRO</code>: Admin Pros are Author Pros who can also manage Amazon QuickSight administrative settings. Admin Pro users are billed at Author Pro pricing.</p></li>
279 /// </ul>
280 /// <p>The name of the Amazon QuickSight role is invisible to the user except for the console screens dealing with permissions.</p>
281 pub fn get_role(&self) -> &::std::option::Option<crate::types::UserRole> {
282 &self.role
283 }
284 /// <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>
285 /// <ul>
286 /// <li>
287 /// <p>Create and update data sources</p></li>
288 /// <li>
289 /// <p>Create and update datasets</p></li>
290 /// <li>
291 /// <p>Create and update email reports</p></li>
292 /// <li>
293 /// <p>Subscribe to email reports</p></li>
294 /// </ul>
295 /// <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 Amazon QuickSight console. Then, you use the <code>RegisterUser</code> API operation to assign the named set of permissions to a Amazon QuickSight user.</p>
296 /// <p>Amazon QuickSight custom permissions are applied through IAM policies. Therefore, they override the permissions typically granted by assigning Amazon QuickSight users to one of the default security cohorts in Amazon QuickSight (admin, author, reader).</p>
297 /// <p>This feature is available only to Amazon QuickSight Enterprise edition subscriptions.</p>
298 pub fn custom_permissions_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
299 self.custom_permissions_name = ::std::option::Option::Some(input.into());
300 self
301 }
302 /// <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>
303 /// <ul>
304 /// <li>
305 /// <p>Create and update data sources</p></li>
306 /// <li>
307 /// <p>Create and update datasets</p></li>
308 /// <li>
309 /// <p>Create and update email reports</p></li>
310 /// <li>
311 /// <p>Subscribe to email reports</p></li>
312 /// </ul>
313 /// <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 Amazon QuickSight console. Then, you use the <code>RegisterUser</code> API operation to assign the named set of permissions to a Amazon QuickSight user.</p>
314 /// <p>Amazon QuickSight custom permissions are applied through IAM policies. Therefore, they override the permissions typically granted by assigning Amazon QuickSight users to one of the default security cohorts in Amazon QuickSight (admin, author, reader).</p>
315 /// <p>This feature is available only to Amazon QuickSight Enterprise edition subscriptions.</p>
316 pub fn set_custom_permissions_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
317 self.custom_permissions_name = input;
318 self
319 }
320 /// <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>
321 /// <ul>
322 /// <li>
323 /// <p>Create and update data sources</p></li>
324 /// <li>
325 /// <p>Create and update datasets</p></li>
326 /// <li>
327 /// <p>Create and update email reports</p></li>
328 /// <li>
329 /// <p>Subscribe to email reports</p></li>
330 /// </ul>
331 /// <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 Amazon QuickSight console. Then, you use the <code>RegisterUser</code> API operation to assign the named set of permissions to a Amazon QuickSight user.</p>
332 /// <p>Amazon QuickSight custom permissions are applied through IAM policies. Therefore, they override the permissions typically granted by assigning Amazon QuickSight users to one of the default security cohorts in Amazon QuickSight (admin, author, reader).</p>
333 /// <p>This feature is available only to Amazon QuickSight Enterprise edition subscriptions.</p>
334 pub fn get_custom_permissions_name(&self) -> &::std::option::Option<::std::string::String> {
335 &self.custom_permissions_name
336 }
337 /// <p>A flag that you use to indicate that you want to remove all custom permissions from this user. Using this parameter resets the user to the state it was in before a custom permissions profile was applied. This parameter defaults to NULL and it doesn't accept any other value.</p>
338 pub fn unapply_custom_permissions(mut self, input: bool) -> Self {
339 self.unapply_custom_permissions = ::std::option::Option::Some(input);
340 self
341 }
342 /// <p>A flag that you use to indicate that you want to remove all custom permissions from this user. Using this parameter resets the user to the state it was in before a custom permissions profile was applied. This parameter defaults to NULL and it doesn't accept any other value.</p>
343 pub fn set_unapply_custom_permissions(mut self, input: ::std::option::Option<bool>) -> Self {
344 self.unapply_custom_permissions = input;
345 self
346 }
347 /// <p>A flag that you use to indicate that you want to remove all custom permissions from this user. Using this parameter resets the user to the state it was in before a custom permissions profile was applied. This parameter defaults to NULL and it doesn't accept any other value.</p>
348 pub fn get_unapply_custom_permissions(&self) -> &::std::option::Option<bool> {
349 &self.unapply_custom_permissions
350 }
351 /// <p>The type of supported external login provider that provides identity to let a user federate into Amazon QuickSight with an associated Identity and Access Management(IAM) role. The type of supported external login provider can be one of the following.</p>
352 /// <ul>
353 /// <li>
354 /// <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>
355 /// <li>
356 /// <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>
357 /// <li>
358 /// <p><code>NONE</code>: This clears all the previously saved external login information for a user. Use the <code> <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeUser.html">DescribeUser</a> </code> API operation to check the external login information.</p></li>
359 /// </ul>
360 pub fn external_login_federation_provider_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
361 self.external_login_federation_provider_type = ::std::option::Option::Some(input.into());
362 self
363 }
364 /// <p>The type of supported external login provider that provides identity to let a user federate into Amazon QuickSight with an associated Identity and Access Management(IAM) role. The type of supported external login provider can be one of the following.</p>
365 /// <ul>
366 /// <li>
367 /// <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>
368 /// <li>
369 /// <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>
370 /// <li>
371 /// <p><code>NONE</code>: This clears all the previously saved external login information for a user. Use the <code> <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeUser.html">DescribeUser</a> </code> API operation to check the external login information.</p></li>
372 /// </ul>
373 pub fn set_external_login_federation_provider_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
374 self.external_login_federation_provider_type = input;
375 self
376 }
377 /// <p>The type of supported external login provider that provides identity to let a user federate into Amazon QuickSight with an associated Identity and Access Management(IAM) role. The type of supported external login provider can be one of the following.</p>
378 /// <ul>
379 /// <li>
380 /// <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>
381 /// <li>
382 /// <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>
383 /// <li>
384 /// <p><code>NONE</code>: This clears all the previously saved external login information for a user. Use the <code> <a href="https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeUser.html">DescribeUser</a> </code> API operation to check the external login information.</p></li>
385 /// </ul>
386 pub fn get_external_login_federation_provider_type(&self) -> &::std::option::Option<::std::string::String> {
387 &self.external_login_federation_provider_type
388 }
389 /// <p>The URL of the custom OpenID Connect (OIDC) provider that provides identity to let a user federate into Amazon QuickSight 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>
390 pub fn custom_federation_provider_url(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
391 self.custom_federation_provider_url = ::std::option::Option::Some(input.into());
392 self
393 }
394 /// <p>The URL of the custom OpenID Connect (OIDC) provider that provides identity to let a user federate into Amazon QuickSight 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>
395 pub fn set_custom_federation_provider_url(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
396 self.custom_federation_provider_url = input;
397 self
398 }
399 /// <p>The URL of the custom OpenID Connect (OIDC) provider that provides identity to let a user federate into Amazon QuickSight 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>
400 pub fn get_custom_federation_provider_url(&self) -> &::std::option::Option<::std::string::String> {
401 &self.custom_federation_provider_url
402 }
403 /// <p>The identity ID for a user in the external login provider.</p>
404 pub fn external_login_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
405 self.external_login_id = ::std::option::Option::Some(input.into());
406 self
407 }
408 /// <p>The identity ID for a user in the external login provider.</p>
409 pub fn set_external_login_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
410 self.external_login_id = input;
411 self
412 }
413 /// <p>The identity ID for a user in the external login provider.</p>
414 pub fn get_external_login_id(&self) -> &::std::option::Option<::std::string::String> {
415 &self.external_login_id
416 }
417 /// Consumes the builder and constructs a [`UpdateUserInput`](crate::operation::update_user::UpdateUserInput).
418 pub fn build(self) -> ::std::result::Result<crate::operation::update_user::UpdateUserInput, ::aws_smithy_types::error::operation::BuildError> {
419 ::std::result::Result::Ok(crate::operation::update_user::UpdateUserInput {
420 user_name: self.user_name,
421 aws_account_id: self.aws_account_id,
422 namespace: self.namespace,
423 email: self.email,
424 role: self.role,
425 custom_permissions_name: self.custom_permissions_name,
426 unapply_custom_permissions: self.unapply_custom_permissions,
427 external_login_federation_provider_type: self.external_login_federation_provider_type,
428 custom_federation_provider_url: self.custom_federation_provider_url,
429 external_login_id: self.external_login_id,
430 })
431 }
432}