aws-sdk-cognitoidentityprovider 1.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module CognitoIdentityProvider
10
+ module Errors
11
+
12
+ extend Aws::Errors::DynamicErrors
13
+
14
+ # Raised when calling #load or #data on a resource class that can not be
15
+ # loaded. This can happen when:
16
+ #
17
+ # * A resource class has identifiers, but no data attributes.
18
+ # * Resource data is only available when making an API call that
19
+ # enumerates all resources of that type.
20
+ class ResourceNotLoadable < RuntimeError; end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module CognitoIdentityProvider
10
+ class Resource
11
+
12
+ # @param options ({})
13
+ # @option options [Client] :client
14
+ def initialize(options = {})
15
+ @client = options[:client] || Client.new(options)
16
+ end
17
+
18
+ # @return [Client]
19
+ def client
20
+ @client
21
+ end
22
+
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,3387 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module CognitoIdentityProvider
10
+ module Types
11
+
12
+ # Represents the request to add custom attributes.
13
+ # @note When making an API call, pass AddCustomAttributesRequest
14
+ # data as a hash:
15
+ #
16
+ # {
17
+ # user_pool_id: "UserPoolIdType", # required
18
+ # custom_attributes: [ # required
19
+ # {
20
+ # name: "CustomAttributeNameType",
21
+ # attribute_data_type: "String", # accepts String, Number, DateTime, Boolean
22
+ # developer_only_attribute: false,
23
+ # mutable: false,
24
+ # required: false,
25
+ # number_attribute_constraints: {
26
+ # min_value: "StringType",
27
+ # max_value: "StringType",
28
+ # },
29
+ # string_attribute_constraints: {
30
+ # min_length: "StringType",
31
+ # max_length: "StringType",
32
+ # },
33
+ # },
34
+ # ],
35
+ # }
36
+ # @!attribute [rw] user_pool_id
37
+ # The user pool ID for the user pool where you want to add custom
38
+ # attributes.
39
+ # @return [String]
40
+ #
41
+ # @!attribute [rw] custom_attributes
42
+ # An array of custom attributes, such as Mutable and Name.
43
+ # @return [Array<Types::SchemaAttributeType>]
44
+ class AddCustomAttributesRequest < Struct.new(
45
+ :user_pool_id,
46
+ :custom_attributes)
47
+ include Aws::Structure
48
+ end
49
+
50
+ # Represents the response from the server for the request to add custom
51
+ # attributes.
52
+ class AddCustomAttributesResponse < Aws::EmptyStructure; end
53
+
54
+ # Represents the request to confirm user registration.
55
+ # @note When making an API call, pass AdminConfirmSignUpRequest
56
+ # data as a hash:
57
+ #
58
+ # {
59
+ # user_pool_id: "UserPoolIdType", # required
60
+ # username: "UsernameType", # required
61
+ # }
62
+ # @!attribute [rw] user_pool_id
63
+ # The user pool ID for which you want to confirm user registration.
64
+ # @return [String]
65
+ #
66
+ # @!attribute [rw] username
67
+ # The user name for which you want to confirm user registration.
68
+ # @return [String]
69
+ class AdminConfirmSignUpRequest < Struct.new(
70
+ :user_pool_id,
71
+ :username)
72
+ include Aws::Structure
73
+ end
74
+
75
+ # Represents the response from the server for the request to confirm
76
+ # registration.
77
+ class AdminConfirmSignUpResponse < Aws::EmptyStructure; end
78
+
79
+ # The type of configuration for creating a new user profile.
80
+ # @note When making an API call, pass AdminCreateUserConfigType
81
+ # data as a hash:
82
+ #
83
+ # {
84
+ # allow_admin_create_user_only: false,
85
+ # unused_account_validity_days: 1,
86
+ # invite_message_template: {
87
+ # sms_message: "SmsVerificationMessageType",
88
+ # email_message: "EmailVerificationMessageType",
89
+ # email_subject: "EmailVerificationSubjectType",
90
+ # },
91
+ # }
92
+ # @!attribute [rw] allow_admin_create_user_only
93
+ # Set to True if only the administrator is allowed to create user
94
+ # profiles. Set to False if users can sign themselves up via an app.
95
+ # @return [Boolean]
96
+ #
97
+ # @!attribute [rw] unused_account_validity_days
98
+ # The user account expiration limit, in days, after which the account
99
+ # is no longer usable. To reset the account after that time limit, you
100
+ # must call AdminCreateUser again, specifying "RESEND" for the
101
+ # MessageAction parameter.
102
+ # @return [Integer]
103
+ #
104
+ # @!attribute [rw] invite_message_template
105
+ # The message template to be used for the welcome message to new
106
+ # users.
107
+ # @return [Types::MessageTemplateType]
108
+ class AdminCreateUserConfigType < Struct.new(
109
+ :allow_admin_create_user_only,
110
+ :unused_account_validity_days,
111
+ :invite_message_template)
112
+ include Aws::Structure
113
+ end
114
+
115
+ # Represents the request to create a user in the specified user pool.
116
+ # @note When making an API call, pass AdminCreateUserRequest
117
+ # data as a hash:
118
+ #
119
+ # {
120
+ # user_pool_id: "UserPoolIdType", # required
121
+ # username: "UsernameType", # required
122
+ # user_attributes: [
123
+ # {
124
+ # name: "AttributeNameType", # required
125
+ # value: "AttributeValueType",
126
+ # },
127
+ # ],
128
+ # validation_data: [
129
+ # {
130
+ # name: "AttributeNameType", # required
131
+ # value: "AttributeValueType",
132
+ # },
133
+ # ],
134
+ # temporary_password: "PasswordType",
135
+ # force_alias_creation: false,
136
+ # message_action: "RESEND", # accepts RESEND, SUPPRESS
137
+ # desired_delivery_mediums: ["SMS"], # accepts SMS, EMAIL
138
+ # }
139
+ # @!attribute [rw] user_pool_id
140
+ # The user pool ID for the user pool where the user will be created.
141
+ # @return [String]
142
+ #
143
+ # @!attribute [rw] username
144
+ # The username for the user. Must be unique within the user pool. Must
145
+ # be a UTF-8 string between 1 and 128 characters. After the user is
146
+ # created, the username cannot be changed.
147
+ # @return [String]
148
+ #
149
+ # @!attribute [rw] user_attributes
150
+ # An array of name-value pairs that contain user attributes and
151
+ # attribute values to be set for the user to be created. You can
152
+ # create a user without specifying any attributes other than Username.
153
+ # However, any attributes that you specify as required (in
154
+ # CreateUserPool or in the **Attributes** tab of the console) must be
155
+ # supplied either by you (in your call to AdminCreateUser) or by the
156
+ # user (when he or she signs up in response to your welcome message).
157
+ #
158
+ # To send a message inviting the user to sign up, you must specify the
159
+ # user's email address or phone number. This can be done in your call
160
+ # to AdminCreateUser or in the **Users** tab of the Amazon Cognito
161
+ # console for managing your user pools.
162
+ #
163
+ # In your call to AdminCreateUser, you can set the email\_verified
164
+ # attribute to True, and you can set the phone\_number\_verified
165
+ # attribute to True. (You cannot do this by calling other operations
166
+ # such as AdminUpdateUserAttributes.)
167
+ #
168
+ # * **email**\: The email address of the user to whom the message that
169
+ # contains the code and username will be sent. Required if the
170
+ # email\_verified attribute is set to True, or if "EMAIL" is
171
+ # specified in the DesiredDeliveryMediums parameter.
172
+ #
173
+ # * **phone\_number**\: The phone number of the user to whom the
174
+ # message that contains the code and username will be sent. Required
175
+ # if the phone\_number\_verified attribute is set to True, or if
176
+ # "SMS" is specified in the DesiredDeliveryMediums parameter.
177
+ # @return [Array<Types::AttributeType>]
178
+ #
179
+ # @!attribute [rw] validation_data
180
+ # The user's validation data. This is an array of name-value pairs
181
+ # that contain user attributes and attribute values that you can use
182
+ # for custom validation, such as restricting the types of user
183
+ # accounts that can be registered. For example, you might choose to
184
+ # allow or disallow user sign-up based on the user's domain.
185
+ #
186
+ # To configure custom validation, you must create a Pre Sign-up Lambda
187
+ # trigger for the user pool as described in the Amazon Cognito
188
+ # Developer Guide. The Lambda trigger receives the validation data and
189
+ # uses it in the validation process.
190
+ #
191
+ # The user's validation data is not persisted.
192
+ # @return [Array<Types::AttributeType>]
193
+ #
194
+ # @!attribute [rw] temporary_password
195
+ # The user's temporary password. This password must conform to the
196
+ # password policy that you specified when you created the user pool.
197
+ #
198
+ # The temporary password is valid only once. To complete the Admin
199
+ # Create User flow, the user must enter the temporary password in the
200
+ # sign-in page along with a new password to be used in all future
201
+ # sign-ins.
202
+ #
203
+ # This parameter is not required. If you do not specify a value,
204
+ # Amazon Cognito generates one for you.
205
+ #
206
+ # The temporary password can only be used until the user account
207
+ # expiration limit that you specified when you created the user pool.
208
+ # To reset the account after that time limit, you must call
209
+ # AdminCreateUser again, specifying "RESEND" for the MessageAction
210
+ # parameter.
211
+ # @return [String]
212
+ #
213
+ # @!attribute [rw] force_alias_creation
214
+ # This parameter is only used if the phone\_number\_verified or
215
+ # email\_verified attribute is set to True. Otherwise, it is ignored.
216
+ #
217
+ # If this parameter is set to True and the phone number or email
218
+ # address specified in the UserAttributes parameter already exists as
219
+ # an alias with a different user, the API call will migrate the alias
220
+ # from the previous user to the newly created user. The previous user
221
+ # will no longer be able to log in using that alias.
222
+ #
223
+ # If this parameter is set to False, the API throws an
224
+ # AliasExistsException error if the alias already exists. The default
225
+ # value is False.
226
+ # @return [Boolean]
227
+ #
228
+ # @!attribute [rw] message_action
229
+ # Set to "RESEND" to resend the invitation message to a user that
230
+ # already exists and reset the expiration limit on the user's
231
+ # account. Set to "SUPPRESS" to suppress sending the message. Only
232
+ # one value can be specified.
233
+ # @return [String]
234
+ #
235
+ # @!attribute [rw] desired_delivery_mediums
236
+ # Specify "EMAIL" if email will be used to send the welcome message.
237
+ # Specify "SMS" if the phone number will be used. The default value
238
+ # is "SMS". More than one value can be specified.
239
+ # @return [Array<String>]
240
+ class AdminCreateUserRequest < Struct.new(
241
+ :user_pool_id,
242
+ :username,
243
+ :user_attributes,
244
+ :validation_data,
245
+ :temporary_password,
246
+ :force_alias_creation,
247
+ :message_action,
248
+ :desired_delivery_mediums)
249
+ include Aws::Structure
250
+ end
251
+
252
+ # Represents the response from the server to the request to create the
253
+ # user.
254
+ # @!attribute [rw] user
255
+ # The user returned in the request to create a new user.
256
+ # @return [Types::UserType]
257
+ class AdminCreateUserResponse < Struct.new(
258
+ :user)
259
+ include Aws::Structure
260
+ end
261
+
262
+ # Represents the request to delete user attributes as an administrator.
263
+ # @note When making an API call, pass AdminDeleteUserAttributesRequest
264
+ # data as a hash:
265
+ #
266
+ # {
267
+ # user_pool_id: "UserPoolIdType", # required
268
+ # username: "UsernameType", # required
269
+ # user_attribute_names: ["AttributeNameType"], # required
270
+ # }
271
+ # @!attribute [rw] user_pool_id
272
+ # The user pool ID for the user pool where you want to delete user
273
+ # attributes.
274
+ # @return [String]
275
+ #
276
+ # @!attribute [rw] username
277
+ # The user name of the user from which you would like to delete
278
+ # attributes.
279
+ # @return [String]
280
+ #
281
+ # @!attribute [rw] user_attribute_names
282
+ # An array of strings representing the user attribute names you wish
283
+ # to delete.
284
+ # @return [Array<String>]
285
+ class AdminDeleteUserAttributesRequest < Struct.new(
286
+ :user_pool_id,
287
+ :username,
288
+ :user_attribute_names)
289
+ include Aws::Structure
290
+ end
291
+
292
+ # Represents the response received from the server for a request to
293
+ # delete user attributes.
294
+ class AdminDeleteUserAttributesResponse < Aws::EmptyStructure; end
295
+
296
+ # Represents the request to delete a user as an administrator.
297
+ # @note When making an API call, pass AdminDeleteUserRequest
298
+ # data as a hash:
299
+ #
300
+ # {
301
+ # user_pool_id: "UserPoolIdType", # required
302
+ # username: "UsernameType", # required
303
+ # }
304
+ # @!attribute [rw] user_pool_id
305
+ # The user pool ID for the user pool where you want to delete the
306
+ # user.
307
+ # @return [String]
308
+ #
309
+ # @!attribute [rw] username
310
+ # The user name of the user you wish to delete.
311
+ # @return [String]
312
+ class AdminDeleteUserRequest < Struct.new(
313
+ :user_pool_id,
314
+ :username)
315
+ include Aws::Structure
316
+ end
317
+
318
+ # Represents the request to disable any user as an administrator.
319
+ # @note When making an API call, pass AdminDisableUserRequest
320
+ # data as a hash:
321
+ #
322
+ # {
323
+ # user_pool_id: "UserPoolIdType", # required
324
+ # username: "UsernameType", # required
325
+ # }
326
+ # @!attribute [rw] user_pool_id
327
+ # The user pool ID for the user pool where you want to disable the
328
+ # user.
329
+ # @return [String]
330
+ #
331
+ # @!attribute [rw] username
332
+ # The user name of the user you wish to disable.
333
+ # @return [String]
334
+ class AdminDisableUserRequest < Struct.new(
335
+ :user_pool_id,
336
+ :username)
337
+ include Aws::Structure
338
+ end
339
+
340
+ # Represents the response received from the server to disable the user
341
+ # as an administrator.
342
+ class AdminDisableUserResponse < Aws::EmptyStructure; end
343
+
344
+ # Represents the request that enables the user as an administrator.
345
+ # @note When making an API call, pass AdminEnableUserRequest
346
+ # data as a hash:
347
+ #
348
+ # {
349
+ # user_pool_id: "UserPoolIdType", # required
350
+ # username: "UsernameType", # required
351
+ # }
352
+ # @!attribute [rw] user_pool_id
353
+ # The user pool ID for the user pool where you want to enable the
354
+ # user.
355
+ # @return [String]
356
+ #
357
+ # @!attribute [rw] username
358
+ # The user name of the user you wish to ebable.
359
+ # @return [String]
360
+ class AdminEnableUserRequest < Struct.new(
361
+ :user_pool_id,
362
+ :username)
363
+ include Aws::Structure
364
+ end
365
+
366
+ # Represents the response from the server for the request to enable a
367
+ # user as an administrator.
368
+ class AdminEnableUserResponse < Aws::EmptyStructure; end
369
+
370
+ # Sends the forgot device request, as an administrator.
371
+ # @note When making an API call, pass AdminForgetDeviceRequest
372
+ # data as a hash:
373
+ #
374
+ # {
375
+ # user_pool_id: "UserPoolIdType", # required
376
+ # username: "UsernameType", # required
377
+ # device_key: "DeviceKeyType", # required
378
+ # }
379
+ # @!attribute [rw] user_pool_id
380
+ # The user pool ID.
381
+ # @return [String]
382
+ #
383
+ # @!attribute [rw] username
384
+ # The user name.
385
+ # @return [String]
386
+ #
387
+ # @!attribute [rw] device_key
388
+ # The device key.
389
+ # @return [String]
390
+ class AdminForgetDeviceRequest < Struct.new(
391
+ :user_pool_id,
392
+ :username,
393
+ :device_key)
394
+ include Aws::Structure
395
+ end
396
+
397
+ # Represents the request to get the device, as an administrator.
398
+ # @note When making an API call, pass AdminGetDeviceRequest
399
+ # data as a hash:
400
+ #
401
+ # {
402
+ # device_key: "DeviceKeyType", # required
403
+ # user_pool_id: "UserPoolIdType", # required
404
+ # username: "UsernameType", # required
405
+ # }
406
+ # @!attribute [rw] device_key
407
+ # The device key.
408
+ # @return [String]
409
+ #
410
+ # @!attribute [rw] user_pool_id
411
+ # The user pool ID.
412
+ # @return [String]
413
+ #
414
+ # @!attribute [rw] username
415
+ # The user name.
416
+ # @return [String]
417
+ class AdminGetDeviceRequest < Struct.new(
418
+ :device_key,
419
+ :user_pool_id,
420
+ :username)
421
+ include Aws::Structure
422
+ end
423
+
424
+ # Gets the device response, as an administrator.
425
+ # @!attribute [rw] device
426
+ # The device.
427
+ # @return [Types::DeviceType]
428
+ class AdminGetDeviceResponse < Struct.new(
429
+ :device)
430
+ include Aws::Structure
431
+ end
432
+
433
+ # Represents the request to get the specified user as an administrator.
434
+ # @note When making an API call, pass AdminGetUserRequest
435
+ # data as a hash:
436
+ #
437
+ # {
438
+ # user_pool_id: "UserPoolIdType", # required
439
+ # username: "UsernameType", # required
440
+ # }
441
+ # @!attribute [rw] user_pool_id
442
+ # The user pool ID for the user pool where you want to get information
443
+ # about the user.
444
+ # @return [String]
445
+ #
446
+ # @!attribute [rw] username
447
+ # The user name of the user you wish to retrieve.
448
+ # @return [String]
449
+ class AdminGetUserRequest < Struct.new(
450
+ :user_pool_id,
451
+ :username)
452
+ include Aws::Structure
453
+ end
454
+
455
+ # Represents the response from the server from the request to get the
456
+ # specified user as an administrator.
457
+ # @!attribute [rw] username
458
+ # The user name of the user about whom you are receiving information.
459
+ # @return [String]
460
+ #
461
+ # @!attribute [rw] user_attributes
462
+ # An array of name-value pairs representing user attributes.
463
+ # @return [Array<Types::AttributeType>]
464
+ #
465
+ # @!attribute [rw] user_create_date
466
+ # The date the user was created.
467
+ # @return [Time]
468
+ #
469
+ # @!attribute [rw] user_last_modified_date
470
+ # The date the user was last modified.
471
+ # @return [Time]
472
+ #
473
+ # @!attribute [rw] enabled
474
+ # Indicates that the status is enabled.
475
+ # @return [Boolean]
476
+ #
477
+ # @!attribute [rw] user_status
478
+ # The user status. Can be one of the following:
479
+ #
480
+ # * UNCONFIRMED - User has been created but not confirmed.
481
+ #
482
+ # * CONFIRMED - User has been confirmed.
483
+ #
484
+ # * ARCHIVED - User is no longer active.
485
+ #
486
+ # * COMPROMISED - User is disabled due to a potential security threat.
487
+ #
488
+ # * UNKNOWN - User status is not known.
489
+ # @return [String]
490
+ #
491
+ # @!attribute [rw] mfa_options
492
+ # Specifies the options for MFA (e.g., email or phone number).
493
+ # @return [Array<Types::MFAOptionType>]
494
+ class AdminGetUserResponse < Struct.new(
495
+ :username,
496
+ :user_attributes,
497
+ :user_create_date,
498
+ :user_last_modified_date,
499
+ :enabled,
500
+ :user_status,
501
+ :mfa_options)
502
+ include Aws::Structure
503
+ end
504
+
505
+ # Initiates the authorization request, as an administrator.
506
+ # @note When making an API call, pass AdminInitiateAuthRequest
507
+ # data as a hash:
508
+ #
509
+ # {
510
+ # user_pool_id: "UserPoolIdType", # required
511
+ # client_id: "ClientIdType", # required
512
+ # auth_flow: "USER_SRP_AUTH", # required, accepts USER_SRP_AUTH, REFRESH_TOKEN_AUTH, REFRESH_TOKEN, CUSTOM_AUTH, ADMIN_NO_SRP_AUTH
513
+ # auth_parameters: {
514
+ # "StringType" => "StringType",
515
+ # },
516
+ # client_metadata: {
517
+ # "StringType" => "StringType",
518
+ # },
519
+ # }
520
+ # @!attribute [rw] user_pool_id
521
+ # The ID of the Amazon Cognito user pool.
522
+ # @return [String]
523
+ #
524
+ # @!attribute [rw] client_id
525
+ # The client app ID.
526
+ # @return [String]
527
+ #
528
+ # @!attribute [rw] auth_flow
529
+ # The authentication flow.
530
+ # @return [String]
531
+ #
532
+ # @!attribute [rw] auth_parameters
533
+ # The authentication parameters.
534
+ # @return [Hash<String,String>]
535
+ #
536
+ # @!attribute [rw] client_metadata
537
+ # The client app metadata.
538
+ # @return [Hash<String,String>]
539
+ class AdminInitiateAuthRequest < Struct.new(
540
+ :user_pool_id,
541
+ :client_id,
542
+ :auth_flow,
543
+ :auth_parameters,
544
+ :client_metadata)
545
+ include Aws::Structure
546
+ end
547
+
548
+ # Initiates the authentication response, as an administrator.
549
+ # @!attribute [rw] challenge_name
550
+ # The name of the challenge.
551
+ # @return [String]
552
+ #
553
+ # @!attribute [rw] session
554
+ # The session.
555
+ # @return [String]
556
+ #
557
+ # @!attribute [rw] challenge_parameters
558
+ # The challenge parameters.
559
+ # @return [Hash<String,String>]
560
+ #
561
+ # @!attribute [rw] authentication_result
562
+ # The result of the authentication response.
563
+ # @return [Types::AuthenticationResultType]
564
+ class AdminInitiateAuthResponse < Struct.new(
565
+ :challenge_name,
566
+ :session,
567
+ :challenge_parameters,
568
+ :authentication_result)
569
+ include Aws::Structure
570
+ end
571
+
572
+ # Represents the request to list devices, as an administrator.
573
+ # @note When making an API call, pass AdminListDevicesRequest
574
+ # data as a hash:
575
+ #
576
+ # {
577
+ # user_pool_id: "UserPoolIdType", # required
578
+ # username: "UsernameType", # required
579
+ # limit: 1,
580
+ # pagination_token: "SearchPaginationTokenType",
581
+ # }
582
+ # @!attribute [rw] user_pool_id
583
+ # The user pool ID.
584
+ # @return [String]
585
+ #
586
+ # @!attribute [rw] username
587
+ # The user name.
588
+ # @return [String]
589
+ #
590
+ # @!attribute [rw] limit
591
+ # The limit of the devices request.
592
+ # @return [Integer]
593
+ #
594
+ # @!attribute [rw] pagination_token
595
+ # The pagination token.
596
+ # @return [String]
597
+ class AdminListDevicesRequest < Struct.new(
598
+ :user_pool_id,
599
+ :username,
600
+ :limit,
601
+ :pagination_token)
602
+ include Aws::Structure
603
+ end
604
+
605
+ # Lists the device's response, as an administrator.
606
+ # @!attribute [rw] devices
607
+ # The devices in the list of devices response.
608
+ # @return [Array<Types::DeviceType>]
609
+ #
610
+ # @!attribute [rw] pagination_token
611
+ # The pagination token.
612
+ # @return [String]
613
+ class AdminListDevicesResponse < Struct.new(
614
+ :devices,
615
+ :pagination_token)
616
+ include Aws::Structure
617
+ end
618
+
619
+ # Represents the request to reset a user's password as an
620
+ # administrator.
621
+ # @note When making an API call, pass AdminResetUserPasswordRequest
622
+ # data as a hash:
623
+ #
624
+ # {
625
+ # user_pool_id: "UserPoolIdType", # required
626
+ # username: "UsernameType", # required
627
+ # }
628
+ # @!attribute [rw] user_pool_id
629
+ # The user pool ID for the user pool where you want to reset the
630
+ # user's password.
631
+ # @return [String]
632
+ #
633
+ # @!attribute [rw] username
634
+ # The user name of the user whose password you wish to reset.
635
+ # @return [String]
636
+ class AdminResetUserPasswordRequest < Struct.new(
637
+ :user_pool_id,
638
+ :username)
639
+ include Aws::Structure
640
+ end
641
+
642
+ # Represents the response from the server to reset a user password as an
643
+ # administrator.
644
+ class AdminResetUserPasswordResponse < Aws::EmptyStructure; end
645
+
646
+ # The request to respond to the authentication challenge, as an
647
+ # administrator.
648
+ # @note When making an API call, pass AdminRespondToAuthChallengeRequest
649
+ # data as a hash:
650
+ #
651
+ # {
652
+ # user_pool_id: "UserPoolIdType", # required
653
+ # client_id: "ClientIdType", # required
654
+ # challenge_name: "SMS_MFA", # required, accepts SMS_MFA, PASSWORD_VERIFIER, CUSTOM_CHALLENGE, DEVICE_SRP_AUTH, DEVICE_PASSWORD_VERIFIER, ADMIN_NO_SRP_AUTH, NEW_PASSWORD_REQUIRED
655
+ # challenge_responses: {
656
+ # "StringType" => "StringType",
657
+ # },
658
+ # session: "SessionType",
659
+ # }
660
+ # @!attribute [rw] user_pool_id
661
+ # The ID of the Amazon Cognito user pool.
662
+ # @return [String]
663
+ #
664
+ # @!attribute [rw] client_id
665
+ # The client ID.
666
+ # @return [String]
667
+ #
668
+ # @!attribute [rw] challenge_name
669
+ # The name of the challenge.
670
+ # @return [String]
671
+ #
672
+ # @!attribute [rw] challenge_responses
673
+ # The challenge response.
674
+ # @return [Hash<String,String>]
675
+ #
676
+ # @!attribute [rw] session
677
+ # The session.
678
+ # @return [String]
679
+ class AdminRespondToAuthChallengeRequest < Struct.new(
680
+ :user_pool_id,
681
+ :client_id,
682
+ :challenge_name,
683
+ :challenge_responses,
684
+ :session)
685
+ include Aws::Structure
686
+ end
687
+
688
+ # Responds to the authentication challenge, as an administrator.
689
+ # @!attribute [rw] challenge_name
690
+ # The name of the challenge.
691
+ # @return [String]
692
+ #
693
+ # @!attribute [rw] session
694
+ # The session.
695
+ # @return [String]
696
+ #
697
+ # @!attribute [rw] challenge_parameters
698
+ # The challenge parameters.
699
+ # @return [Hash<String,String>]
700
+ #
701
+ # @!attribute [rw] authentication_result
702
+ # The result returned by the server in response to the authentication
703
+ # request.
704
+ # @return [Types::AuthenticationResultType]
705
+ class AdminRespondToAuthChallengeResponse < Struct.new(
706
+ :challenge_name,
707
+ :session,
708
+ :challenge_parameters,
709
+ :authentication_result)
710
+ include Aws::Structure
711
+ end
712
+
713
+ # Represents the request to set user settings as an administrator.
714
+ # @note When making an API call, pass AdminSetUserSettingsRequest
715
+ # data as a hash:
716
+ #
717
+ # {
718
+ # user_pool_id: "UserPoolIdType", # required
719
+ # username: "UsernameType", # required
720
+ # mfa_options: [ # required
721
+ # {
722
+ # delivery_medium: "SMS", # accepts SMS, EMAIL
723
+ # attribute_name: "AttributeNameType",
724
+ # },
725
+ # ],
726
+ # }
727
+ # @!attribute [rw] user_pool_id
728
+ # The user pool ID for the user pool where you want to set the user's
729
+ # settings, such as MFA options.
730
+ # @return [String]
731
+ #
732
+ # @!attribute [rw] username
733
+ # The user name of the user for whom you wish to set user settings.
734
+ # @return [String]
735
+ #
736
+ # @!attribute [rw] mfa_options
737
+ # Specifies the options for MFA (e.g., email or phone number).
738
+ # @return [Array<Types::MFAOptionType>]
739
+ class AdminSetUserSettingsRequest < Struct.new(
740
+ :user_pool_id,
741
+ :username,
742
+ :mfa_options)
743
+ include Aws::Structure
744
+ end
745
+
746
+ # Represents the response from the server to set user settings as an
747
+ # administrator.
748
+ class AdminSetUserSettingsResponse < Aws::EmptyStructure; end
749
+
750
+ # The request to update the device status, as an administrator.
751
+ # @note When making an API call, pass AdminUpdateDeviceStatusRequest
752
+ # data as a hash:
753
+ #
754
+ # {
755
+ # user_pool_id: "UserPoolIdType", # required
756
+ # username: "UsernameType", # required
757
+ # device_key: "DeviceKeyType", # required
758
+ # device_remembered_status: "remembered", # accepts remembered, not_remembered
759
+ # }
760
+ # @!attribute [rw] user_pool_id
761
+ # The user pool ID&gt;
762
+ # @return [String]
763
+ #
764
+ # @!attribute [rw] username
765
+ # The user name.
766
+ # @return [String]
767
+ #
768
+ # @!attribute [rw] device_key
769
+ # The device key.
770
+ # @return [String]
771
+ #
772
+ # @!attribute [rw] device_remembered_status
773
+ # The status indicating whether a device has been remembered or not.
774
+ # @return [String]
775
+ class AdminUpdateDeviceStatusRequest < Struct.new(
776
+ :user_pool_id,
777
+ :username,
778
+ :device_key,
779
+ :device_remembered_status)
780
+ include Aws::Structure
781
+ end
782
+
783
+ # The status response from the request to update the device, as an
784
+ # administrator.
785
+ class AdminUpdateDeviceStatusResponse < Aws::EmptyStructure; end
786
+
787
+ # Represents the request to update the user's attributes as an
788
+ # administrator.
789
+ # @note When making an API call, pass AdminUpdateUserAttributesRequest
790
+ # data as a hash:
791
+ #
792
+ # {
793
+ # user_pool_id: "UserPoolIdType", # required
794
+ # username: "UsernameType", # required
795
+ # user_attributes: [ # required
796
+ # {
797
+ # name: "AttributeNameType", # required
798
+ # value: "AttributeValueType",
799
+ # },
800
+ # ],
801
+ # }
802
+ # @!attribute [rw] user_pool_id
803
+ # The user pool ID for the user pool where you want to update user
804
+ # attributes.
805
+ # @return [String]
806
+ #
807
+ # @!attribute [rw] username
808
+ # The user name of the user for whom you want to update user
809
+ # attributes.
810
+ # @return [String]
811
+ #
812
+ # @!attribute [rw] user_attributes
813
+ # An array of name-value pairs representing user attributes.
814
+ # @return [Array<Types::AttributeType>]
815
+ class AdminUpdateUserAttributesRequest < Struct.new(
816
+ :user_pool_id,
817
+ :username,
818
+ :user_attributes)
819
+ include Aws::Structure
820
+ end
821
+
822
+ # Represents the response from the server for the request to update user
823
+ # attributes as an administrator.
824
+ class AdminUpdateUserAttributesResponse < Aws::EmptyStructure; end
825
+
826
+ # The request to sign out of all devices, as an administrator.
827
+ # @note When making an API call, pass AdminUserGlobalSignOutRequest
828
+ # data as a hash:
829
+ #
830
+ # {
831
+ # user_pool_id: "UserPoolIdType", # required
832
+ # username: "UsernameType", # required
833
+ # }
834
+ # @!attribute [rw] user_pool_id
835
+ # The user pool ID.
836
+ # @return [String]
837
+ #
838
+ # @!attribute [rw] username
839
+ # The user name.
840
+ # @return [String]
841
+ class AdminUserGlobalSignOutRequest < Struct.new(
842
+ :user_pool_id,
843
+ :username)
844
+ include Aws::Structure
845
+ end
846
+
847
+ # The global sign-out response, as an administrator.
848
+ class AdminUserGlobalSignOutResponse < Aws::EmptyStructure; end
849
+
850
+ # Specifies whether the attribute is standard or custom.
851
+ # @note When making an API call, pass AttributeType
852
+ # data as a hash:
853
+ #
854
+ # {
855
+ # name: "AttributeNameType", # required
856
+ # value: "AttributeValueType",
857
+ # }
858
+ # @!attribute [rw] name
859
+ # The name of the attribute.
860
+ # @return [String]
861
+ #
862
+ # @!attribute [rw] value
863
+ # The value of the attribute.
864
+ # @return [String]
865
+ class AttributeType < Struct.new(
866
+ :name,
867
+ :value)
868
+ include Aws::Structure
869
+ end
870
+
871
+ # The result type of the authentication result.
872
+ # @!attribute [rw] access_token
873
+ # The access token of the authentication result.
874
+ # @return [String]
875
+ #
876
+ # @!attribute [rw] expires_in
877
+ # The expiration period of the authentication result.
878
+ # @return [Integer]
879
+ #
880
+ # @!attribute [rw] token_type
881
+ # The token type of the authentication result.
882
+ # @return [String]
883
+ #
884
+ # @!attribute [rw] refresh_token
885
+ # The refresh token of the authentication result.
886
+ # @return [String]
887
+ #
888
+ # @!attribute [rw] id_token
889
+ # The ID token of the authentication result.
890
+ # @return [String]
891
+ #
892
+ # @!attribute [rw] new_device_metadata
893
+ # The new device metadata from an authentication result.
894
+ # @return [Types::NewDeviceMetadataType]
895
+ class AuthenticationResultType < Struct.new(
896
+ :access_token,
897
+ :expires_in,
898
+ :token_type,
899
+ :refresh_token,
900
+ :id_token,
901
+ :new_device_metadata)
902
+ include Aws::Structure
903
+ end
904
+
905
+ # Represents the request to change a user password.
906
+ # @note When making an API call, pass ChangePasswordRequest
907
+ # data as a hash:
908
+ #
909
+ # {
910
+ # previous_password: "PasswordType", # required
911
+ # proposed_password: "PasswordType", # required
912
+ # access_token: "TokenModelType",
913
+ # }
914
+ # @!attribute [rw] previous_password
915
+ # The old password in the change password request.
916
+ # @return [String]
917
+ #
918
+ # @!attribute [rw] proposed_password
919
+ # The new password in the change password request.
920
+ # @return [String]
921
+ #
922
+ # @!attribute [rw] access_token
923
+ # The access token in the change password request.
924
+ # @return [String]
925
+ class ChangePasswordRequest < Struct.new(
926
+ :previous_password,
927
+ :proposed_password,
928
+ :access_token)
929
+ include Aws::Structure
930
+ end
931
+
932
+ # The response from the server to the change password request.
933
+ class ChangePasswordResponse < Aws::EmptyStructure; end
934
+
935
+ # The type of code delivery details being returned from the server.
936
+ # @!attribute [rw] destination
937
+ # The destination for the code delivery details.
938
+ # @return [String]
939
+ #
940
+ # @!attribute [rw] delivery_medium
941
+ # The delivery medium (email message or phone number).
942
+ # @return [String]
943
+ #
944
+ # @!attribute [rw] attribute_name
945
+ # The name of the attribute in the code delivery details type.
946
+ # @return [String]
947
+ class CodeDeliveryDetailsType < Struct.new(
948
+ :destination,
949
+ :delivery_medium,
950
+ :attribute_name)
951
+ include Aws::Structure
952
+ end
953
+
954
+ # Confirms the device request.
955
+ # @note When making an API call, pass ConfirmDeviceRequest
956
+ # data as a hash:
957
+ #
958
+ # {
959
+ # access_token: "TokenModelType", # required
960
+ # device_key: "DeviceKeyType", # required
961
+ # device_secret_verifier_config: {
962
+ # password_verifier: "StringType",
963
+ # salt: "StringType",
964
+ # },
965
+ # device_name: "DeviceNameType",
966
+ # }
967
+ # @!attribute [rw] access_token
968
+ # The access token.
969
+ # @return [String]
970
+ #
971
+ # @!attribute [rw] device_key
972
+ # The device key.
973
+ # @return [String]
974
+ #
975
+ # @!attribute [rw] device_secret_verifier_config
976
+ # The configuration of the device secret verifier.
977
+ # @return [Types::DeviceSecretVerifierConfigType]
978
+ #
979
+ # @!attribute [rw] device_name
980
+ # The device name.
981
+ # @return [String]
982
+ class ConfirmDeviceRequest < Struct.new(
983
+ :access_token,
984
+ :device_key,
985
+ :device_secret_verifier_config,
986
+ :device_name)
987
+ include Aws::Structure
988
+ end
989
+
990
+ # Confirms the device response.
991
+ # @!attribute [rw] user_confirmation_necessary
992
+ # Indicates whether the user confirmation is necessary to confirm the
993
+ # device response.
994
+ # @return [Boolean]
995
+ class ConfirmDeviceResponse < Struct.new(
996
+ :user_confirmation_necessary)
997
+ include Aws::Structure
998
+ end
999
+
1000
+ # The request representing the confirmation for a password reset.
1001
+ # @note When making an API call, pass ConfirmForgotPasswordRequest
1002
+ # data as a hash:
1003
+ #
1004
+ # {
1005
+ # client_id: "ClientIdType", # required
1006
+ # secret_hash: "SecretHashType",
1007
+ # username: "UsernameType", # required
1008
+ # confirmation_code: "ConfirmationCodeType", # required
1009
+ # password: "PasswordType", # required
1010
+ # }
1011
+ # @!attribute [rw] client_id
1012
+ # The ID of the client associated with the user pool.
1013
+ # @return [String]
1014
+ #
1015
+ # @!attribute [rw] secret_hash
1016
+ # A keyed-hash message authentication code (HMAC) calculated using the
1017
+ # secret key of a user pool client and username plus the client ID in
1018
+ # the message.
1019
+ # @return [String]
1020
+ #
1021
+ # @!attribute [rw] username
1022
+ # The user name of the user for whom you want to enter a code to
1023
+ # retrieve a forgotten password.
1024
+ # @return [String]
1025
+ #
1026
+ # @!attribute [rw] confirmation_code
1027
+ # The confirmation code sent by a user's request to retrieve a
1028
+ # forgotten password.
1029
+ # @return [String]
1030
+ #
1031
+ # @!attribute [rw] password
1032
+ # The password sent by sent by a user's request to retrieve a
1033
+ # forgotten password.
1034
+ # @return [String]
1035
+ class ConfirmForgotPasswordRequest < Struct.new(
1036
+ :client_id,
1037
+ :secret_hash,
1038
+ :username,
1039
+ :confirmation_code,
1040
+ :password)
1041
+ include Aws::Structure
1042
+ end
1043
+
1044
+ # The response from the server that results from a user's request to
1045
+ # retrieve a forgotten password.
1046
+ class ConfirmForgotPasswordResponse < Aws::EmptyStructure; end
1047
+
1048
+ # Represents the request to confirm registration of a user.
1049
+ # @note When making an API call, pass ConfirmSignUpRequest
1050
+ # data as a hash:
1051
+ #
1052
+ # {
1053
+ # client_id: "ClientIdType", # required
1054
+ # secret_hash: "SecretHashType",
1055
+ # username: "UsernameType", # required
1056
+ # confirmation_code: "ConfirmationCodeType", # required
1057
+ # force_alias_creation: false,
1058
+ # }
1059
+ # @!attribute [rw] client_id
1060
+ # The ID of the client associated with the user pool.
1061
+ # @return [String]
1062
+ #
1063
+ # @!attribute [rw] secret_hash
1064
+ # A keyed-hash message authentication code (HMAC) calculated using the
1065
+ # secret key of a user pool client and username plus the client ID in
1066
+ # the message.
1067
+ # @return [String]
1068
+ #
1069
+ # @!attribute [rw] username
1070
+ # The user name of the user whose registration you wish to confirm.
1071
+ # @return [String]
1072
+ #
1073
+ # @!attribute [rw] confirmation_code
1074
+ # The confirmation code sent by a user's request to confirm
1075
+ # registration.
1076
+ # @return [String]
1077
+ #
1078
+ # @!attribute [rw] force_alias_creation
1079
+ # Boolean to be specified to force user confirmation irrespective of
1080
+ # existing alias. By default set to False. If this parameter is set to
1081
+ # True and the phone number/email used for sign up confirmation
1082
+ # already exists as an alias with a different user, the API call will
1083
+ # migrate the alias from the previous user to the newly created user
1084
+ # being confirmed. If set to False, the API will throw an
1085
+ # **AliasExistsException** error.
1086
+ # @return [Boolean]
1087
+ class ConfirmSignUpRequest < Struct.new(
1088
+ :client_id,
1089
+ :secret_hash,
1090
+ :username,
1091
+ :confirmation_code,
1092
+ :force_alias_creation)
1093
+ include Aws::Structure
1094
+ end
1095
+
1096
+ # Represents the response from the server for the registration
1097
+ # confirmation.
1098
+ class ConfirmSignUpResponse < Aws::EmptyStructure; end
1099
+
1100
+ # Represents the request to create the user import job.
1101
+ # @note When making an API call, pass CreateUserImportJobRequest
1102
+ # data as a hash:
1103
+ #
1104
+ # {
1105
+ # job_name: "UserImportJobNameType", # required
1106
+ # user_pool_id: "UserPoolIdType", # required
1107
+ # cloud_watch_logs_role_arn: "ArnType", # required
1108
+ # }
1109
+ # @!attribute [rw] job_name
1110
+ # The job name for the user import job.
1111
+ # @return [String]
1112
+ #
1113
+ # @!attribute [rw] user_pool_id
1114
+ # The user pool ID for the user pool that the users are being imported
1115
+ # into.
1116
+ # @return [String]
1117
+ #
1118
+ # @!attribute [rw] cloud_watch_logs_role_arn
1119
+ # The role ARN for the Amazon CloudWatch Logging role for the user
1120
+ # import job.
1121
+ # @return [String]
1122
+ class CreateUserImportJobRequest < Struct.new(
1123
+ :job_name,
1124
+ :user_pool_id,
1125
+ :cloud_watch_logs_role_arn)
1126
+ include Aws::Structure
1127
+ end
1128
+
1129
+ # Represents the response from the server to the request to create the
1130
+ # user import job.
1131
+ # @!attribute [rw] user_import_job
1132
+ # The job object that represents the user import job.
1133
+ # @return [Types::UserImportJobType]
1134
+ class CreateUserImportJobResponse < Struct.new(
1135
+ :user_import_job)
1136
+ include Aws::Structure
1137
+ end
1138
+
1139
+ # Represents the request to create a user pool client.
1140
+ # @note When making an API call, pass CreateUserPoolClientRequest
1141
+ # data as a hash:
1142
+ #
1143
+ # {
1144
+ # user_pool_id: "UserPoolIdType", # required
1145
+ # client_name: "ClientNameType", # required
1146
+ # generate_secret: false,
1147
+ # refresh_token_validity: 1,
1148
+ # read_attributes: ["ClientPermissionType"],
1149
+ # write_attributes: ["ClientPermissionType"],
1150
+ # explicit_auth_flows: ["ADMIN_NO_SRP_AUTH"], # accepts ADMIN_NO_SRP_AUTH, CUSTOM_AUTH_FLOW_ONLY
1151
+ # }
1152
+ # @!attribute [rw] user_pool_id
1153
+ # The user pool ID for the user pool where you want to create a user
1154
+ # pool client.
1155
+ # @return [String]
1156
+ #
1157
+ # @!attribute [rw] client_name
1158
+ # The client name for the user pool client you would like to create.
1159
+ # @return [String]
1160
+ #
1161
+ # @!attribute [rw] generate_secret
1162
+ # Boolean to specify whether you want to generate a secret for the
1163
+ # user pool client being created.
1164
+ # @return [Boolean]
1165
+ #
1166
+ # @!attribute [rw] refresh_token_validity
1167
+ # Refreshes the token validity.
1168
+ # @return [Integer]
1169
+ #
1170
+ # @!attribute [rw] read_attributes
1171
+ # The read attributes.
1172
+ # @return [Array<String>]
1173
+ #
1174
+ # @!attribute [rw] write_attributes
1175
+ # The write attributes.
1176
+ # @return [Array<String>]
1177
+ #
1178
+ # @!attribute [rw] explicit_auth_flows
1179
+ # The explicit authentication flows.
1180
+ # @return [Array<String>]
1181
+ class CreateUserPoolClientRequest < Struct.new(
1182
+ :user_pool_id,
1183
+ :client_name,
1184
+ :generate_secret,
1185
+ :refresh_token_validity,
1186
+ :read_attributes,
1187
+ :write_attributes,
1188
+ :explicit_auth_flows)
1189
+ include Aws::Structure
1190
+ end
1191
+
1192
+ # Represents the response from the server to create a user pool client.
1193
+ # @!attribute [rw] user_pool_client
1194
+ # The user pool client that was just created.
1195
+ # @return [Types::UserPoolClientType]
1196
+ class CreateUserPoolClientResponse < Struct.new(
1197
+ :user_pool_client)
1198
+ include Aws::Structure
1199
+ end
1200
+
1201
+ # Represents the request to create a user pool.
1202
+ # @note When making an API call, pass CreateUserPoolRequest
1203
+ # data as a hash:
1204
+ #
1205
+ # {
1206
+ # pool_name: "UserPoolNameType", # required
1207
+ # policies: {
1208
+ # password_policy: {
1209
+ # minimum_length: 1,
1210
+ # require_uppercase: false,
1211
+ # require_lowercase: false,
1212
+ # require_numbers: false,
1213
+ # require_symbols: false,
1214
+ # },
1215
+ # },
1216
+ # lambda_config: {
1217
+ # pre_sign_up: "ArnType",
1218
+ # custom_message: "ArnType",
1219
+ # post_confirmation: "ArnType",
1220
+ # pre_authentication: "ArnType",
1221
+ # post_authentication: "ArnType",
1222
+ # define_auth_challenge: "ArnType",
1223
+ # create_auth_challenge: "ArnType",
1224
+ # verify_auth_challenge_response: "ArnType",
1225
+ # },
1226
+ # auto_verified_attributes: ["phone_number"], # accepts phone_number, email
1227
+ # alias_attributes: ["phone_number"], # accepts phone_number, email, preferred_username
1228
+ # sms_verification_message: "SmsVerificationMessageType",
1229
+ # email_verification_message: "EmailVerificationMessageType",
1230
+ # email_verification_subject: "EmailVerificationSubjectType",
1231
+ # sms_authentication_message: "SmsVerificationMessageType",
1232
+ # mfa_configuration: "OFF", # accepts OFF, ON, OPTIONAL
1233
+ # device_configuration: {
1234
+ # challenge_required_on_new_device: false,
1235
+ # device_only_remembered_on_user_prompt: false,
1236
+ # },
1237
+ # email_configuration: {
1238
+ # source_arn: "ArnType",
1239
+ # reply_to_email_address: "EmailAddressType",
1240
+ # },
1241
+ # sms_configuration: {
1242
+ # sns_caller_arn: "ArnType", # required
1243
+ # external_id: "StringType",
1244
+ # },
1245
+ # admin_create_user_config: {
1246
+ # allow_admin_create_user_only: false,
1247
+ # unused_account_validity_days: 1,
1248
+ # invite_message_template: {
1249
+ # sms_message: "SmsVerificationMessageType",
1250
+ # email_message: "EmailVerificationMessageType",
1251
+ # email_subject: "EmailVerificationSubjectType",
1252
+ # },
1253
+ # },
1254
+ # schema: [
1255
+ # {
1256
+ # name: "CustomAttributeNameType",
1257
+ # attribute_data_type: "String", # accepts String, Number, DateTime, Boolean
1258
+ # developer_only_attribute: false,
1259
+ # mutable: false,
1260
+ # required: false,
1261
+ # number_attribute_constraints: {
1262
+ # min_value: "StringType",
1263
+ # max_value: "StringType",
1264
+ # },
1265
+ # string_attribute_constraints: {
1266
+ # min_length: "StringType",
1267
+ # max_length: "StringType",
1268
+ # },
1269
+ # },
1270
+ # ],
1271
+ # }
1272
+ # @!attribute [rw] pool_name
1273
+ # A string used to name the user pool.
1274
+ # @return [String]
1275
+ #
1276
+ # @!attribute [rw] policies
1277
+ # The policies associated with the new user pool.
1278
+ # @return [Types::UserPoolPolicyType]
1279
+ #
1280
+ # @!attribute [rw] lambda_config
1281
+ # The Lambda trigger configuration information for the new user pool.
1282
+ # @return [Types::LambdaConfigType]
1283
+ #
1284
+ # @!attribute [rw] auto_verified_attributes
1285
+ # The attributes to be auto-verified. Possible values: **email**,
1286
+ # **phone\_number**.
1287
+ # @return [Array<String>]
1288
+ #
1289
+ # @!attribute [rw] alias_attributes
1290
+ # Attributes supported as an alias for this user pool. Possible
1291
+ # values: **phone\_number**, **email**, or **preferred\_username**.
1292
+ # @return [Array<String>]
1293
+ #
1294
+ # @!attribute [rw] sms_verification_message
1295
+ # A string representing the SMS verification message.
1296
+ # @return [String]
1297
+ #
1298
+ # @!attribute [rw] email_verification_message
1299
+ # A string representing the email verification message.
1300
+ # @return [String]
1301
+ #
1302
+ # @!attribute [rw] email_verification_subject
1303
+ # A string representing the email verification subject.
1304
+ # @return [String]
1305
+ #
1306
+ # @!attribute [rw] sms_authentication_message
1307
+ # A string representing the SMS authentication message.
1308
+ # @return [String]
1309
+ #
1310
+ # @!attribute [rw] mfa_configuration
1311
+ # Specifies MFA configuration details.
1312
+ # @return [String]
1313
+ #
1314
+ # @!attribute [rw] device_configuration
1315
+ # The device configuration.
1316
+ # @return [Types::DeviceConfigurationType]
1317
+ #
1318
+ # @!attribute [rw] email_configuration
1319
+ # The email configuration.
1320
+ # @return [Types::EmailConfigurationType]
1321
+ #
1322
+ # @!attribute [rw] sms_configuration
1323
+ # The SMS configuration.
1324
+ # @return [Types::SmsConfigurationType]
1325
+ #
1326
+ # @!attribute [rw] admin_create_user_config
1327
+ # The configuration for AdminCreateUser requests.
1328
+ # @return [Types::AdminCreateUserConfigType]
1329
+ #
1330
+ # @!attribute [rw] schema
1331
+ # An array of schema attributes for the new user pool. These
1332
+ # attributes can be standard or custom attributes.
1333
+ # @return [Array<Types::SchemaAttributeType>]
1334
+ class CreateUserPoolRequest < Struct.new(
1335
+ :pool_name,
1336
+ :policies,
1337
+ :lambda_config,
1338
+ :auto_verified_attributes,
1339
+ :alias_attributes,
1340
+ :sms_verification_message,
1341
+ :email_verification_message,
1342
+ :email_verification_subject,
1343
+ :sms_authentication_message,
1344
+ :mfa_configuration,
1345
+ :device_configuration,
1346
+ :email_configuration,
1347
+ :sms_configuration,
1348
+ :admin_create_user_config,
1349
+ :schema)
1350
+ include Aws::Structure
1351
+ end
1352
+
1353
+ # Represents the response from the server for the request to create a
1354
+ # user pool.
1355
+ # @!attribute [rw] user_pool
1356
+ # A container for the user pool details.
1357
+ # @return [Types::UserPoolType]
1358
+ class CreateUserPoolResponse < Struct.new(
1359
+ :user_pool)
1360
+ include Aws::Structure
1361
+ end
1362
+
1363
+ # Represents the request to delete user attributes.
1364
+ # @note When making an API call, pass DeleteUserAttributesRequest
1365
+ # data as a hash:
1366
+ #
1367
+ # {
1368
+ # user_attribute_names: ["AttributeNameType"], # required
1369
+ # access_token: "TokenModelType",
1370
+ # }
1371
+ # @!attribute [rw] user_attribute_names
1372
+ # An array of strings representing the user attribute names you wish
1373
+ # to delete.
1374
+ # @return [Array<String>]
1375
+ #
1376
+ # @!attribute [rw] access_token
1377
+ # The access token used in the request to delete user attributes.
1378
+ # @return [String]
1379
+ class DeleteUserAttributesRequest < Struct.new(
1380
+ :user_attribute_names,
1381
+ :access_token)
1382
+ include Aws::Structure
1383
+ end
1384
+
1385
+ # Represents the response from the server to delete user attributes.
1386
+ class DeleteUserAttributesResponse < Aws::EmptyStructure; end
1387
+
1388
+ # Represents the request to delete a user pool client.
1389
+ # @note When making an API call, pass DeleteUserPoolClientRequest
1390
+ # data as a hash:
1391
+ #
1392
+ # {
1393
+ # user_pool_id: "UserPoolIdType", # required
1394
+ # client_id: "ClientIdType", # required
1395
+ # }
1396
+ # @!attribute [rw] user_pool_id
1397
+ # The user pool ID for the user pool where you want to delete the
1398
+ # client.
1399
+ # @return [String]
1400
+ #
1401
+ # @!attribute [rw] client_id
1402
+ # The ID of the client associated with the user pool.
1403
+ # @return [String]
1404
+ class DeleteUserPoolClientRequest < Struct.new(
1405
+ :user_pool_id,
1406
+ :client_id)
1407
+ include Aws::Structure
1408
+ end
1409
+
1410
+ # Represents the request to delete a user pool.
1411
+ # @note When making an API call, pass DeleteUserPoolRequest
1412
+ # data as a hash:
1413
+ #
1414
+ # {
1415
+ # user_pool_id: "UserPoolIdType", # required
1416
+ # }
1417
+ # @!attribute [rw] user_pool_id
1418
+ # The user pool ID for the user pool you want to delete.
1419
+ # @return [String]
1420
+ class DeleteUserPoolRequest < Struct.new(
1421
+ :user_pool_id)
1422
+ include Aws::Structure
1423
+ end
1424
+
1425
+ # Represents the request to delete a user.
1426
+ # @note When making an API call, pass DeleteUserRequest
1427
+ # data as a hash:
1428
+ #
1429
+ # {
1430
+ # access_token: "TokenModelType",
1431
+ # }
1432
+ # @!attribute [rw] access_token
1433
+ # The access token from a request to delete a user.
1434
+ # @return [String]
1435
+ class DeleteUserRequest < Struct.new(
1436
+ :access_token)
1437
+ include Aws::Structure
1438
+ end
1439
+
1440
+ # Represents the request to describe the user import job.
1441
+ # @note When making an API call, pass DescribeUserImportJobRequest
1442
+ # data as a hash:
1443
+ #
1444
+ # {
1445
+ # user_pool_id: "UserPoolIdType", # required
1446
+ # job_id: "UserImportJobIdType", # required
1447
+ # }
1448
+ # @!attribute [rw] user_pool_id
1449
+ # The user pool ID for the user pool that the users are being imported
1450
+ # into.
1451
+ # @return [String]
1452
+ #
1453
+ # @!attribute [rw] job_id
1454
+ # The job ID for the user import job.
1455
+ # @return [String]
1456
+ class DescribeUserImportJobRequest < Struct.new(
1457
+ :user_pool_id,
1458
+ :job_id)
1459
+ include Aws::Structure
1460
+ end
1461
+
1462
+ # Represents the response from the server to the request to describe the
1463
+ # user import job.
1464
+ # @!attribute [rw] user_import_job
1465
+ # The job object that represents the user import job.
1466
+ # @return [Types::UserImportJobType]
1467
+ class DescribeUserImportJobResponse < Struct.new(
1468
+ :user_import_job)
1469
+ include Aws::Structure
1470
+ end
1471
+
1472
+ # Represents the request to describe a user pool client.
1473
+ # @note When making an API call, pass DescribeUserPoolClientRequest
1474
+ # data as a hash:
1475
+ #
1476
+ # {
1477
+ # user_pool_id: "UserPoolIdType", # required
1478
+ # client_id: "ClientIdType", # required
1479
+ # }
1480
+ # @!attribute [rw] user_pool_id
1481
+ # The user pool ID for the user pool you want to describe.
1482
+ # @return [String]
1483
+ #
1484
+ # @!attribute [rw] client_id
1485
+ # The ID of the client associated with the user pool.
1486
+ # @return [String]
1487
+ class DescribeUserPoolClientRequest < Struct.new(
1488
+ :user_pool_id,
1489
+ :client_id)
1490
+ include Aws::Structure
1491
+ end
1492
+
1493
+ # Represents the response from the server from a request to describe the
1494
+ # user pool client.
1495
+ # @!attribute [rw] user_pool_client
1496
+ # The user pool client from a server response to describe the user
1497
+ # pool client.
1498
+ # @return [Types::UserPoolClientType]
1499
+ class DescribeUserPoolClientResponse < Struct.new(
1500
+ :user_pool_client)
1501
+ include Aws::Structure
1502
+ end
1503
+
1504
+ # Represents the request to describe the user pool.
1505
+ # @note When making an API call, pass DescribeUserPoolRequest
1506
+ # data as a hash:
1507
+ #
1508
+ # {
1509
+ # user_pool_id: "UserPoolIdType", # required
1510
+ # }
1511
+ # @!attribute [rw] user_pool_id
1512
+ # The user pool ID for the user pool you want to describe.
1513
+ # @return [String]
1514
+ class DescribeUserPoolRequest < Struct.new(
1515
+ :user_pool_id)
1516
+ include Aws::Structure
1517
+ end
1518
+
1519
+ # Represents the response to describe the user pool.
1520
+ # @!attribute [rw] user_pool
1521
+ # The container of metadata returned by the server to describe the
1522
+ # pool.
1523
+ # @return [Types::UserPoolType]
1524
+ class DescribeUserPoolResponse < Struct.new(
1525
+ :user_pool)
1526
+ include Aws::Structure
1527
+ end
1528
+
1529
+ # The type of configuration for the user pool's device tracking.
1530
+ # @note When making an API call, pass DeviceConfigurationType
1531
+ # data as a hash:
1532
+ #
1533
+ # {
1534
+ # challenge_required_on_new_device: false,
1535
+ # device_only_remembered_on_user_prompt: false,
1536
+ # }
1537
+ # @!attribute [rw] challenge_required_on_new_device
1538
+ # Indicates whether a challenge is required on a new device. Only
1539
+ # applicable to a new device.
1540
+ # @return [Boolean]
1541
+ #
1542
+ # @!attribute [rw] device_only_remembered_on_user_prompt
1543
+ # If true, a device is only remembered on user prompt.
1544
+ # @return [Boolean]
1545
+ class DeviceConfigurationType < Struct.new(
1546
+ :challenge_required_on_new_device,
1547
+ :device_only_remembered_on_user_prompt)
1548
+ include Aws::Structure
1549
+ end
1550
+
1551
+ # The device verifier against which it will be authenticated.
1552
+ # @note When making an API call, pass DeviceSecretVerifierConfigType
1553
+ # data as a hash:
1554
+ #
1555
+ # {
1556
+ # password_verifier: "StringType",
1557
+ # salt: "StringType",
1558
+ # }
1559
+ # @!attribute [rw] password_verifier
1560
+ # The password verifier.
1561
+ # @return [String]
1562
+ #
1563
+ # @!attribute [rw] salt
1564
+ # The salt.
1565
+ # @return [String]
1566
+ class DeviceSecretVerifierConfigType < Struct.new(
1567
+ :password_verifier,
1568
+ :salt)
1569
+ include Aws::Structure
1570
+ end
1571
+
1572
+ # The device type.
1573
+ # @!attribute [rw] device_key
1574
+ # The device key.
1575
+ # @return [String]
1576
+ #
1577
+ # @!attribute [rw] device_attributes
1578
+ # The device attributes.
1579
+ # @return [Array<Types::AttributeType>]
1580
+ #
1581
+ # @!attribute [rw] device_create_date
1582
+ # The creation date of the device.
1583
+ # @return [Time]
1584
+ #
1585
+ # @!attribute [rw] device_last_modified_date
1586
+ # The last modified date of the device.
1587
+ # @return [Time]
1588
+ #
1589
+ # @!attribute [rw] device_last_authenticated_date
1590
+ # The date in which the device was last authenticated.
1591
+ # @return [Time]
1592
+ class DeviceType < Struct.new(
1593
+ :device_key,
1594
+ :device_attributes,
1595
+ :device_create_date,
1596
+ :device_last_modified_date,
1597
+ :device_last_authenticated_date)
1598
+ include Aws::Structure
1599
+ end
1600
+
1601
+ # The email configuration type.
1602
+ # @note When making an API call, pass EmailConfigurationType
1603
+ # data as a hash:
1604
+ #
1605
+ # {
1606
+ # source_arn: "ArnType",
1607
+ # reply_to_email_address: "EmailAddressType",
1608
+ # }
1609
+ # @!attribute [rw] source_arn
1610
+ # The Amazon Resource Name (ARN) of the email source.
1611
+ # @return [String]
1612
+ #
1613
+ # @!attribute [rw] reply_to_email_address
1614
+ # The REPLY-TO email address.
1615
+ # @return [String]
1616
+ class EmailConfigurationType < Struct.new(
1617
+ :source_arn,
1618
+ :reply_to_email_address)
1619
+ include Aws::Structure
1620
+ end
1621
+
1622
+ # Represents the request to forget the device.
1623
+ # @note When making an API call, pass ForgetDeviceRequest
1624
+ # data as a hash:
1625
+ #
1626
+ # {
1627
+ # access_token: "TokenModelType",
1628
+ # device_key: "DeviceKeyType", # required
1629
+ # }
1630
+ # @!attribute [rw] access_token
1631
+ # The access token for the forgotten device request.
1632
+ # @return [String]
1633
+ #
1634
+ # @!attribute [rw] device_key
1635
+ # The device key.
1636
+ # @return [String]
1637
+ class ForgetDeviceRequest < Struct.new(
1638
+ :access_token,
1639
+ :device_key)
1640
+ include Aws::Structure
1641
+ end
1642
+
1643
+ # Represents the request to reset a user's password.
1644
+ # @note When making an API call, pass ForgotPasswordRequest
1645
+ # data as a hash:
1646
+ #
1647
+ # {
1648
+ # client_id: "ClientIdType", # required
1649
+ # secret_hash: "SecretHashType",
1650
+ # username: "UsernameType", # required
1651
+ # }
1652
+ # @!attribute [rw] client_id
1653
+ # The ID of the client associated with the user pool.
1654
+ # @return [String]
1655
+ #
1656
+ # @!attribute [rw] secret_hash
1657
+ # A keyed-hash message authentication code (HMAC) calculated using the
1658
+ # secret key of a user pool client and username plus the client ID in
1659
+ # the message.
1660
+ # @return [String]
1661
+ #
1662
+ # @!attribute [rw] username
1663
+ # The user name of the user for whom you want to enter a code to reset
1664
+ # a forgotten password.
1665
+ # @return [String]
1666
+ class ForgotPasswordRequest < Struct.new(
1667
+ :client_id,
1668
+ :secret_hash,
1669
+ :username)
1670
+ include Aws::Structure
1671
+ end
1672
+
1673
+ # Respresents the response from the server regarding the request to
1674
+ # reset a password.
1675
+ # @!attribute [rw] code_delivery_details
1676
+ # The code delivery details returned by the server in response to the
1677
+ # request to reset a password.
1678
+ # @return [Types::CodeDeliveryDetailsType]
1679
+ class ForgotPasswordResponse < Struct.new(
1680
+ :code_delivery_details)
1681
+ include Aws::Structure
1682
+ end
1683
+
1684
+ # Represents the request to get the header information for the .csv file
1685
+ # for the user import job.
1686
+ # @note When making an API call, pass GetCSVHeaderRequest
1687
+ # data as a hash:
1688
+ #
1689
+ # {
1690
+ # user_pool_id: "UserPoolIdType", # required
1691
+ # }
1692
+ # @!attribute [rw] user_pool_id
1693
+ # The user pool ID for the user pool that the users are to be imported
1694
+ # into.
1695
+ # @return [String]
1696
+ class GetCSVHeaderRequest < Struct.new(
1697
+ :user_pool_id)
1698
+ include Aws::Structure
1699
+ end
1700
+
1701
+ # Represents the response from the server to the request to get the
1702
+ # header information for the .csv file for the user import job.
1703
+ # @!attribute [rw] user_pool_id
1704
+ # The user pool ID for the user pool that the users are to be imported
1705
+ # into.
1706
+ # @return [String]
1707
+ #
1708
+ # @!attribute [rw] csv_header
1709
+ # The header information for the .csv file for the user import job.
1710
+ # @return [Array<String>]
1711
+ class GetCSVHeaderResponse < Struct.new(
1712
+ :user_pool_id,
1713
+ :csv_header)
1714
+ include Aws::Structure
1715
+ end
1716
+
1717
+ # Represents the request to get the device.
1718
+ # @note When making an API call, pass GetDeviceRequest
1719
+ # data as a hash:
1720
+ #
1721
+ # {
1722
+ # device_key: "DeviceKeyType", # required
1723
+ # access_token: "TokenModelType",
1724
+ # }
1725
+ # @!attribute [rw] device_key
1726
+ # The device key.
1727
+ # @return [String]
1728
+ #
1729
+ # @!attribute [rw] access_token
1730
+ # The access token.
1731
+ # @return [String]
1732
+ class GetDeviceRequest < Struct.new(
1733
+ :device_key,
1734
+ :access_token)
1735
+ include Aws::Structure
1736
+ end
1737
+
1738
+ # Gets the device response.
1739
+ # @!attribute [rw] device
1740
+ # The device.
1741
+ # @return [Types::DeviceType]
1742
+ class GetDeviceResponse < Struct.new(
1743
+ :device)
1744
+ include Aws::Structure
1745
+ end
1746
+
1747
+ # Represents the request to get user attribute verification.
1748
+ # @note When making an API call, pass GetUserAttributeVerificationCodeRequest
1749
+ # data as a hash:
1750
+ #
1751
+ # {
1752
+ # access_token: "TokenModelType",
1753
+ # attribute_name: "AttributeNameType", # required
1754
+ # }
1755
+ # @!attribute [rw] access_token
1756
+ # The access token returned by the server response to get the user
1757
+ # attribute verification code.
1758
+ # @return [String]
1759
+ #
1760
+ # @!attribute [rw] attribute_name
1761
+ # The attribute name returned by the server response to get the user
1762
+ # attribute verification code.
1763
+ # @return [String]
1764
+ class GetUserAttributeVerificationCodeRequest < Struct.new(
1765
+ :access_token,
1766
+ :attribute_name)
1767
+ include Aws::Structure
1768
+ end
1769
+
1770
+ # The verification code response returned by the server response to get
1771
+ # the user attribute verification code.
1772
+ # @!attribute [rw] code_delivery_details
1773
+ # The code delivery details returned by the server in response to the
1774
+ # request to get the user attribute verification code.
1775
+ # @return [Types::CodeDeliveryDetailsType]
1776
+ class GetUserAttributeVerificationCodeResponse < Struct.new(
1777
+ :code_delivery_details)
1778
+ include Aws::Structure
1779
+ end
1780
+
1781
+ # Represents the request to get information about the user.
1782
+ # @note When making an API call, pass GetUserRequest
1783
+ # data as a hash:
1784
+ #
1785
+ # {
1786
+ # access_token: "TokenModelType",
1787
+ # }
1788
+ # @!attribute [rw] access_token
1789
+ # The access token returned by the server response to get information
1790
+ # about the user.
1791
+ # @return [String]
1792
+ class GetUserRequest < Struct.new(
1793
+ :access_token)
1794
+ include Aws::Structure
1795
+ end
1796
+
1797
+ # Represents the response from the server from the request to get
1798
+ # information about the user.
1799
+ # @!attribute [rw] username
1800
+ # The user name of the user you wish to retrieve from the get user
1801
+ # request.
1802
+ # @return [String]
1803
+ #
1804
+ # @!attribute [rw] user_attributes
1805
+ # An array of name-value pairs representing user attributes.
1806
+ # @return [Array<Types::AttributeType>]
1807
+ #
1808
+ # @!attribute [rw] mfa_options
1809
+ # Specifies the options for MFA (e.g., email or phone number).
1810
+ # @return [Array<Types::MFAOptionType>]
1811
+ class GetUserResponse < Struct.new(
1812
+ :username,
1813
+ :user_attributes,
1814
+ :mfa_options)
1815
+ include Aws::Structure
1816
+ end
1817
+
1818
+ # Represents the request to sign out all devices.
1819
+ # @note When making an API call, pass GlobalSignOutRequest
1820
+ # data as a hash:
1821
+ #
1822
+ # {
1823
+ # access_token: "TokenModelType",
1824
+ # }
1825
+ # @!attribute [rw] access_token
1826
+ # The access token.
1827
+ # @return [String]
1828
+ class GlobalSignOutRequest < Struct.new(
1829
+ :access_token)
1830
+ include Aws::Structure
1831
+ end
1832
+
1833
+ # The response to the request to sign out all devices.
1834
+ class GlobalSignOutResponse < Aws::EmptyStructure; end
1835
+
1836
+ # Initiates the authentication request.
1837
+ # @note When making an API call, pass InitiateAuthRequest
1838
+ # data as a hash:
1839
+ #
1840
+ # {
1841
+ # auth_flow: "USER_SRP_AUTH", # required, accepts USER_SRP_AUTH, REFRESH_TOKEN_AUTH, REFRESH_TOKEN, CUSTOM_AUTH, ADMIN_NO_SRP_AUTH
1842
+ # auth_parameters: {
1843
+ # "StringType" => "StringType",
1844
+ # },
1845
+ # client_metadata: {
1846
+ # "StringType" => "StringType",
1847
+ # },
1848
+ # client_id: "ClientIdType", # required
1849
+ # }
1850
+ # @!attribute [rw] auth_flow
1851
+ # The authentication flow.
1852
+ # @return [String]
1853
+ #
1854
+ # @!attribute [rw] auth_parameters
1855
+ # The authentication parameters.
1856
+ # @return [Hash<String,String>]
1857
+ #
1858
+ # @!attribute [rw] client_metadata
1859
+ # The client app's metadata.
1860
+ # @return [Hash<String,String>]
1861
+ #
1862
+ # @!attribute [rw] client_id
1863
+ # The client ID.
1864
+ # @return [String]
1865
+ class InitiateAuthRequest < Struct.new(
1866
+ :auth_flow,
1867
+ :auth_parameters,
1868
+ :client_metadata,
1869
+ :client_id)
1870
+ include Aws::Structure
1871
+ end
1872
+
1873
+ # Initiates the authentication response.
1874
+ # @!attribute [rw] challenge_name
1875
+ # The name of the challenge.
1876
+ # @return [String]
1877
+ #
1878
+ # @!attribute [rw] session
1879
+ # The session.
1880
+ # @return [String]
1881
+ #
1882
+ # @!attribute [rw] challenge_parameters
1883
+ # The challenge parameters.
1884
+ # @return [Hash<String,String>]
1885
+ #
1886
+ # @!attribute [rw] authentication_result
1887
+ # The result returned by the server in response to the request to
1888
+ # initiate authentication.
1889
+ # @return [Types::AuthenticationResultType]
1890
+ class InitiateAuthResponse < Struct.new(
1891
+ :challenge_name,
1892
+ :session,
1893
+ :challenge_parameters,
1894
+ :authentication_result)
1895
+ include Aws::Structure
1896
+ end
1897
+
1898
+ # Specifies the type of configuration for AWS Lambda triggers.
1899
+ # @note When making an API call, pass LambdaConfigType
1900
+ # data as a hash:
1901
+ #
1902
+ # {
1903
+ # pre_sign_up: "ArnType",
1904
+ # custom_message: "ArnType",
1905
+ # post_confirmation: "ArnType",
1906
+ # pre_authentication: "ArnType",
1907
+ # post_authentication: "ArnType",
1908
+ # define_auth_challenge: "ArnType",
1909
+ # create_auth_challenge: "ArnType",
1910
+ # verify_auth_challenge_response: "ArnType",
1911
+ # }
1912
+ # @!attribute [rw] pre_sign_up
1913
+ # A pre-registration AWS Lambda trigger.
1914
+ # @return [String]
1915
+ #
1916
+ # @!attribute [rw] custom_message
1917
+ # A custom Message AWS Lambda trigger.
1918
+ # @return [String]
1919
+ #
1920
+ # @!attribute [rw] post_confirmation
1921
+ # A post-confirmation AWS Lambda trigger.
1922
+ # @return [String]
1923
+ #
1924
+ # @!attribute [rw] pre_authentication
1925
+ # A pre-authentication AWS Lambda trigger.
1926
+ # @return [String]
1927
+ #
1928
+ # @!attribute [rw] post_authentication
1929
+ # A post-authentication AWS Lambda trigger.
1930
+ # @return [String]
1931
+ #
1932
+ # @!attribute [rw] define_auth_challenge
1933
+ # Defines the authentication challenge.
1934
+ # @return [String]
1935
+ #
1936
+ # @!attribute [rw] create_auth_challenge
1937
+ # Creates an authentication challenge.
1938
+ # @return [String]
1939
+ #
1940
+ # @!attribute [rw] verify_auth_challenge_response
1941
+ # Verifies the authentication challenge response.
1942
+ # @return [String]
1943
+ class LambdaConfigType < Struct.new(
1944
+ :pre_sign_up,
1945
+ :custom_message,
1946
+ :post_confirmation,
1947
+ :pre_authentication,
1948
+ :post_authentication,
1949
+ :define_auth_challenge,
1950
+ :create_auth_challenge,
1951
+ :verify_auth_challenge_response)
1952
+ include Aws::Structure
1953
+ end
1954
+
1955
+ # Represents the request to list the devices.
1956
+ # @note When making an API call, pass ListDevicesRequest
1957
+ # data as a hash:
1958
+ #
1959
+ # {
1960
+ # access_token: "TokenModelType", # required
1961
+ # limit: 1,
1962
+ # pagination_token: "SearchPaginationTokenType",
1963
+ # }
1964
+ # @!attribute [rw] access_token
1965
+ # The access tokens for the request to list devices.
1966
+ # @return [String]
1967
+ #
1968
+ # @!attribute [rw] limit
1969
+ # The limit of the device request.
1970
+ # @return [Integer]
1971
+ #
1972
+ # @!attribute [rw] pagination_token
1973
+ # The pagination token for the list request.
1974
+ # @return [String]
1975
+ class ListDevicesRequest < Struct.new(
1976
+ :access_token,
1977
+ :limit,
1978
+ :pagination_token)
1979
+ include Aws::Structure
1980
+ end
1981
+
1982
+ # Represents the response to list devices.
1983
+ # @!attribute [rw] devices
1984
+ # The devices returned in the list devices response.
1985
+ # @return [Array<Types::DeviceType>]
1986
+ #
1987
+ # @!attribute [rw] pagination_token
1988
+ # The pagination token for the list device response.
1989
+ # @return [String]
1990
+ class ListDevicesResponse < Struct.new(
1991
+ :devices,
1992
+ :pagination_token)
1993
+ include Aws::Structure
1994
+ end
1995
+
1996
+ # Represents the request to list the user import jobs.
1997
+ # @note When making an API call, pass ListUserImportJobsRequest
1998
+ # data as a hash:
1999
+ #
2000
+ # {
2001
+ # user_pool_id: "UserPoolIdType", # required
2002
+ # max_results: 1, # required
2003
+ # pagination_token: "PaginationKeyType",
2004
+ # }
2005
+ # @!attribute [rw] user_pool_id
2006
+ # The user pool ID for the user pool that the users are being imported
2007
+ # into.
2008
+ # @return [String]
2009
+ #
2010
+ # @!attribute [rw] max_results
2011
+ # The maximum number of import jobs you want the request to return.
2012
+ # @return [Integer]
2013
+ #
2014
+ # @!attribute [rw] pagination_token
2015
+ # An identifier that was returned from the previous call to
2016
+ # ListUserImportJobs, which can be used to return the next set of
2017
+ # import jobs in the list.
2018
+ # @return [String]
2019
+ class ListUserImportJobsRequest < Struct.new(
2020
+ :user_pool_id,
2021
+ :max_results,
2022
+ :pagination_token)
2023
+ include Aws::Structure
2024
+ end
2025
+
2026
+ # Represents the response from the server to the request to list the
2027
+ # user import jobs.
2028
+ # @!attribute [rw] user_import_jobs
2029
+ # The user import jobs.
2030
+ # @return [Array<Types::UserImportJobType>]
2031
+ #
2032
+ # @!attribute [rw] pagination_token
2033
+ # An identifier that can be used to return the next set of user import
2034
+ # jobs in the list.
2035
+ # @return [String]
2036
+ class ListUserImportJobsResponse < Struct.new(
2037
+ :user_import_jobs,
2038
+ :pagination_token)
2039
+ include Aws::Structure
2040
+ end
2041
+
2042
+ # Represents the request to list the user pool clients.
2043
+ # @note When making an API call, pass ListUserPoolClientsRequest
2044
+ # data as a hash:
2045
+ #
2046
+ # {
2047
+ # user_pool_id: "UserPoolIdType", # required
2048
+ # max_results: 1,
2049
+ # next_token: "PaginationKey",
2050
+ # }
2051
+ # @!attribute [rw] user_pool_id
2052
+ # The user pool ID for the user pool where you want to list user pool
2053
+ # clients.
2054
+ # @return [String]
2055
+ #
2056
+ # @!attribute [rw] max_results
2057
+ # The maximum number of results you want the request to return when
2058
+ # listing the user pool clients.
2059
+ # @return [Integer]
2060
+ #
2061
+ # @!attribute [rw] next_token
2062
+ # An identifier that was returned from the previous call to this
2063
+ # operation, which can be used to return the next set of items in the
2064
+ # list.
2065
+ # @return [String]
2066
+ class ListUserPoolClientsRequest < Struct.new(
2067
+ :user_pool_id,
2068
+ :max_results,
2069
+ :next_token)
2070
+ include Aws::Structure
2071
+ end
2072
+
2073
+ # Represents the response from the server that lists user pool clients.
2074
+ # @!attribute [rw] user_pool_clients
2075
+ # The user pool clients in the response that lists user pool clients.
2076
+ # @return [Array<Types::UserPoolClientDescription>]
2077
+ #
2078
+ # @!attribute [rw] next_token
2079
+ # An identifier that was returned from the previous call to this
2080
+ # operation, which can be used to return the next set of items in the
2081
+ # list.
2082
+ # @return [String]
2083
+ class ListUserPoolClientsResponse < Struct.new(
2084
+ :user_pool_clients,
2085
+ :next_token)
2086
+ include Aws::Structure
2087
+ end
2088
+
2089
+ # Represents the request to list user pools.
2090
+ # @note When making an API call, pass ListUserPoolsRequest
2091
+ # data as a hash:
2092
+ #
2093
+ # {
2094
+ # next_token: "PaginationKeyType",
2095
+ # max_results: 1, # required
2096
+ # }
2097
+ # @!attribute [rw] next_token
2098
+ # An identifier that was returned from the previous call to this
2099
+ # operation, which can be used to return the next set of items in the
2100
+ # list.
2101
+ # @return [String]
2102
+ #
2103
+ # @!attribute [rw] max_results
2104
+ # The maximum number of results you want the request to return when
2105
+ # listing the user pools.
2106
+ # @return [Integer]
2107
+ class ListUserPoolsRequest < Struct.new(
2108
+ :next_token,
2109
+ :max_results)
2110
+ include Aws::Structure
2111
+ end
2112
+
2113
+ # Represents the response to list user pools.
2114
+ # @!attribute [rw] user_pools
2115
+ # The user pools from the response to list users.
2116
+ # @return [Array<Types::UserPoolDescriptionType>]
2117
+ #
2118
+ # @!attribute [rw] next_token
2119
+ # An identifier that was returned from the previous call to this
2120
+ # operation, which can be used to return the next set of items in the
2121
+ # list.
2122
+ # @return [String]
2123
+ class ListUserPoolsResponse < Struct.new(
2124
+ :user_pools,
2125
+ :next_token)
2126
+ include Aws::Structure
2127
+ end
2128
+
2129
+ # Represents the request to list users.
2130
+ # @note When making an API call, pass ListUsersRequest
2131
+ # data as a hash:
2132
+ #
2133
+ # {
2134
+ # user_pool_id: "UserPoolIdType", # required
2135
+ # attributes_to_get: ["AttributeNameType"],
2136
+ # limit: 1,
2137
+ # pagination_token: "SearchPaginationTokenType",
2138
+ # filter: "UserFilterType",
2139
+ # }
2140
+ # @!attribute [rw] user_pool_id
2141
+ # The user pool ID for which you want to list users.
2142
+ # @return [String]
2143
+ #
2144
+ # @!attribute [rw] attributes_to_get
2145
+ # The attributes to get from the request to list users.
2146
+ # @return [Array<String>]
2147
+ #
2148
+ # @!attribute [rw] limit
2149
+ # The limit of the request to list users.
2150
+ # @return [Integer]
2151
+ #
2152
+ # @!attribute [rw] pagination_token
2153
+ # An identifier that was returned from the previous call to this
2154
+ # operation, which can be used to return the next set of items in the
2155
+ # list.
2156
+ # @return [String]
2157
+ #
2158
+ # @!attribute [rw] filter
2159
+ # The filter for the list users request.
2160
+ # @return [String]
2161
+ class ListUsersRequest < Struct.new(
2162
+ :user_pool_id,
2163
+ :attributes_to_get,
2164
+ :limit,
2165
+ :pagination_token,
2166
+ :filter)
2167
+ include Aws::Structure
2168
+ end
2169
+
2170
+ # The response from the request to list users.
2171
+ # @!attribute [rw] users
2172
+ # The users returned in the request to list users.
2173
+ # @return [Array<Types::UserType>]
2174
+ #
2175
+ # @!attribute [rw] pagination_token
2176
+ # An identifier that was returned from the previous call to this
2177
+ # operation, which can be used to return the next set of items in the
2178
+ # list.
2179
+ # @return [String]
2180
+ class ListUsersResponse < Struct.new(
2181
+ :users,
2182
+ :pagination_token)
2183
+ include Aws::Structure
2184
+ end
2185
+
2186
+ # Specifies the different settings for multi-factor authentication
2187
+ # (MFA).
2188
+ # @note When making an API call, pass MFAOptionType
2189
+ # data as a hash:
2190
+ #
2191
+ # {
2192
+ # delivery_medium: "SMS", # accepts SMS, EMAIL
2193
+ # attribute_name: "AttributeNameType",
2194
+ # }
2195
+ # @!attribute [rw] delivery_medium
2196
+ # The delivery medium (email message or SMS message) to send the MFA
2197
+ # code.
2198
+ # @return [String]
2199
+ #
2200
+ # @!attribute [rw] attribute_name
2201
+ # The attribute name of the MFA option type.
2202
+ # @return [String]
2203
+ class MFAOptionType < Struct.new(
2204
+ :delivery_medium,
2205
+ :attribute_name)
2206
+ include Aws::Structure
2207
+ end
2208
+
2209
+ # The message template structure.
2210
+ # @note When making an API call, pass MessageTemplateType
2211
+ # data as a hash:
2212
+ #
2213
+ # {
2214
+ # sms_message: "SmsVerificationMessageType",
2215
+ # email_message: "EmailVerificationMessageType",
2216
+ # email_subject: "EmailVerificationSubjectType",
2217
+ # }
2218
+ # @!attribute [rw] sms_message
2219
+ # The message template for SMS messages.
2220
+ # @return [String]
2221
+ #
2222
+ # @!attribute [rw] email_message
2223
+ # The message template for email messages.
2224
+ # @return [String]
2225
+ #
2226
+ # @!attribute [rw] email_subject
2227
+ # The subject line for email messages.
2228
+ # @return [String]
2229
+ class MessageTemplateType < Struct.new(
2230
+ :sms_message,
2231
+ :email_message,
2232
+ :email_subject)
2233
+ include Aws::Structure
2234
+ end
2235
+
2236
+ # The new device metadata type.
2237
+ # @!attribute [rw] device_key
2238
+ # The device key.
2239
+ # @return [String]
2240
+ #
2241
+ # @!attribute [rw] device_group_key
2242
+ # The device group key.
2243
+ # @return [String]
2244
+ class NewDeviceMetadataType < Struct.new(
2245
+ :device_key,
2246
+ :device_group_key)
2247
+ include Aws::Structure
2248
+ end
2249
+
2250
+ # The minimum and maximum value of an attribute that is of the number
2251
+ # data type.
2252
+ # @note When making an API call, pass NumberAttributeConstraintsType
2253
+ # data as a hash:
2254
+ #
2255
+ # {
2256
+ # min_value: "StringType",
2257
+ # max_value: "StringType",
2258
+ # }
2259
+ # @!attribute [rw] min_value
2260
+ # The minimum value of an attribute that is of the number data type.
2261
+ # @return [String]
2262
+ #
2263
+ # @!attribute [rw] max_value
2264
+ # The maximum value of an attribute that is of the number data type.
2265
+ # @return [String]
2266
+ class NumberAttributeConstraintsType < Struct.new(
2267
+ :min_value,
2268
+ :max_value)
2269
+ include Aws::Structure
2270
+ end
2271
+
2272
+ # The password policy type.
2273
+ # @note When making an API call, pass PasswordPolicyType
2274
+ # data as a hash:
2275
+ #
2276
+ # {
2277
+ # minimum_length: 1,
2278
+ # require_uppercase: false,
2279
+ # require_lowercase: false,
2280
+ # require_numbers: false,
2281
+ # require_symbols: false,
2282
+ # }
2283
+ # @!attribute [rw] minimum_length
2284
+ # The minimum length of the password policy that you have set. Cannot
2285
+ # be less than 6.
2286
+ # @return [Integer]
2287
+ #
2288
+ # @!attribute [rw] require_uppercase
2289
+ # In the password policy that you have set, refers to whether you have
2290
+ # required users to use at least one uppercase letter in their
2291
+ # password.
2292
+ # @return [Boolean]
2293
+ #
2294
+ # @!attribute [rw] require_lowercase
2295
+ # In the password policy that you have set, refers to whether you have
2296
+ # required users to use at least one lowercase letter in their
2297
+ # password.
2298
+ # @return [Boolean]
2299
+ #
2300
+ # @!attribute [rw] require_numbers
2301
+ # In the password policy that you have set, refers to whether you have
2302
+ # required users to use at least one number in their password.
2303
+ # @return [Boolean]
2304
+ #
2305
+ # @!attribute [rw] require_symbols
2306
+ # In the password policy that you have set, refers to whether you have
2307
+ # required users to use at least one symbol in their password.
2308
+ # @return [Boolean]
2309
+ class PasswordPolicyType < Struct.new(
2310
+ :minimum_length,
2311
+ :require_uppercase,
2312
+ :require_lowercase,
2313
+ :require_numbers,
2314
+ :require_symbols)
2315
+ include Aws::Structure
2316
+ end
2317
+
2318
+ # Represents the request to resend the confirmation code.
2319
+ # @note When making an API call, pass ResendConfirmationCodeRequest
2320
+ # data as a hash:
2321
+ #
2322
+ # {
2323
+ # client_id: "ClientIdType", # required
2324
+ # secret_hash: "SecretHashType",
2325
+ # username: "UsernameType", # required
2326
+ # }
2327
+ # @!attribute [rw] client_id
2328
+ # The ID of the client associated with the user pool.
2329
+ # @return [String]
2330
+ #
2331
+ # @!attribute [rw] secret_hash
2332
+ # A keyed-hash message authentication code (HMAC) calculated using the
2333
+ # secret key of a user pool client and username plus the client ID in
2334
+ # the message.
2335
+ # @return [String]
2336
+ #
2337
+ # @!attribute [rw] username
2338
+ # The user name of the user to whom you wish to resend a confirmation
2339
+ # code.
2340
+ # @return [String]
2341
+ class ResendConfirmationCodeRequest < Struct.new(
2342
+ :client_id,
2343
+ :secret_hash,
2344
+ :username)
2345
+ include Aws::Structure
2346
+ end
2347
+
2348
+ # The response from the server when the Amazon Cognito Your User Pools
2349
+ # service makes the request to resend a confirmation code.
2350
+ # @!attribute [rw] code_delivery_details
2351
+ # The code delivery details returned by the server in response to the
2352
+ # request to resend the confirmation code.
2353
+ # @return [Types::CodeDeliveryDetailsType]
2354
+ class ResendConfirmationCodeResponse < Struct.new(
2355
+ :code_delivery_details)
2356
+ include Aws::Structure
2357
+ end
2358
+
2359
+ # The request to respond to an authentication challenge.
2360
+ # @note When making an API call, pass RespondToAuthChallengeRequest
2361
+ # data as a hash:
2362
+ #
2363
+ # {
2364
+ # client_id: "ClientIdType", # required
2365
+ # challenge_name: "SMS_MFA", # required, accepts SMS_MFA, PASSWORD_VERIFIER, CUSTOM_CHALLENGE, DEVICE_SRP_AUTH, DEVICE_PASSWORD_VERIFIER, ADMIN_NO_SRP_AUTH, NEW_PASSWORD_REQUIRED
2366
+ # session: "SessionType",
2367
+ # challenge_responses: {
2368
+ # "StringType" => "StringType",
2369
+ # },
2370
+ # }
2371
+ # @!attribute [rw] client_id
2372
+ # The client ID.
2373
+ # @return [String]
2374
+ #
2375
+ # @!attribute [rw] challenge_name
2376
+ # The name of the challenge.
2377
+ # @return [String]
2378
+ #
2379
+ # @!attribute [rw] session
2380
+ # The session.
2381
+ # @return [String]
2382
+ #
2383
+ # @!attribute [rw] challenge_responses
2384
+ # The responses to the authentication challenge.
2385
+ # @return [Hash<String,String>]
2386
+ class RespondToAuthChallengeRequest < Struct.new(
2387
+ :client_id,
2388
+ :challenge_name,
2389
+ :session,
2390
+ :challenge_responses)
2391
+ include Aws::Structure
2392
+ end
2393
+
2394
+ # The response to respond to the authentication challenge.
2395
+ # @!attribute [rw] challenge_name
2396
+ # The challenge name.
2397
+ # @return [String]
2398
+ #
2399
+ # @!attribute [rw] session
2400
+ # The session.
2401
+ # @return [String]
2402
+ #
2403
+ # @!attribute [rw] challenge_parameters
2404
+ # The challenge parameters.
2405
+ # @return [Hash<String,String>]
2406
+ #
2407
+ # @!attribute [rw] authentication_result
2408
+ # The result returned by the server in response to the request to
2409
+ # respond to the authentication challenge.
2410
+ # @return [Types::AuthenticationResultType]
2411
+ class RespondToAuthChallengeResponse < Struct.new(
2412
+ :challenge_name,
2413
+ :session,
2414
+ :challenge_parameters,
2415
+ :authentication_result)
2416
+ include Aws::Structure
2417
+ end
2418
+
2419
+ # Contains information about the schema attribute.
2420
+ # @note When making an API call, pass SchemaAttributeType
2421
+ # data as a hash:
2422
+ #
2423
+ # {
2424
+ # name: "CustomAttributeNameType",
2425
+ # attribute_data_type: "String", # accepts String, Number, DateTime, Boolean
2426
+ # developer_only_attribute: false,
2427
+ # mutable: false,
2428
+ # required: false,
2429
+ # number_attribute_constraints: {
2430
+ # min_value: "StringType",
2431
+ # max_value: "StringType",
2432
+ # },
2433
+ # string_attribute_constraints: {
2434
+ # min_length: "StringType",
2435
+ # max_length: "StringType",
2436
+ # },
2437
+ # }
2438
+ # @!attribute [rw] name
2439
+ # A schema attribute of the name type.
2440
+ # @return [String]
2441
+ #
2442
+ # @!attribute [rw] attribute_data_type
2443
+ # The attribute data type.
2444
+ # @return [String]
2445
+ #
2446
+ # @!attribute [rw] developer_only_attribute
2447
+ # Specifies whether the attribute type is developer only.
2448
+ # @return [Boolean]
2449
+ #
2450
+ # @!attribute [rw] mutable
2451
+ # Specifies whether the attribute can be changed once it has been
2452
+ # created.
2453
+ # @return [Boolean]
2454
+ #
2455
+ # @!attribute [rw] required
2456
+ # Specifies whether a user pool attribute is required. If the
2457
+ # attribute is required and the user does not provide a value,
2458
+ # registration or sign-in will fail.
2459
+ # @return [Boolean]
2460
+ #
2461
+ # @!attribute [rw] number_attribute_constraints
2462
+ # Specifies the constraints for an attribute of the number type.
2463
+ # @return [Types::NumberAttributeConstraintsType]
2464
+ #
2465
+ # @!attribute [rw] string_attribute_constraints
2466
+ # Specifies the constraints for an attribute of the string type.
2467
+ # @return [Types::StringAttributeConstraintsType]
2468
+ class SchemaAttributeType < Struct.new(
2469
+ :name,
2470
+ :attribute_data_type,
2471
+ :developer_only_attribute,
2472
+ :mutable,
2473
+ :required,
2474
+ :number_attribute_constraints,
2475
+ :string_attribute_constraints)
2476
+ include Aws::Structure
2477
+ end
2478
+
2479
+ # Represents the request to set user settings.
2480
+ # @note When making an API call, pass SetUserSettingsRequest
2481
+ # data as a hash:
2482
+ #
2483
+ # {
2484
+ # access_token: "TokenModelType", # required
2485
+ # mfa_options: [ # required
2486
+ # {
2487
+ # delivery_medium: "SMS", # accepts SMS, EMAIL
2488
+ # attribute_name: "AttributeNameType",
2489
+ # },
2490
+ # ],
2491
+ # }
2492
+ # @!attribute [rw] access_token
2493
+ # The access token for the set user settings request.
2494
+ # @return [String]
2495
+ #
2496
+ # @!attribute [rw] mfa_options
2497
+ # Specifies the options for MFA (e.g., email or phone number).
2498
+ # @return [Array<Types::MFAOptionType>]
2499
+ class SetUserSettingsRequest < Struct.new(
2500
+ :access_token,
2501
+ :mfa_options)
2502
+ include Aws::Structure
2503
+ end
2504
+
2505
+ # The response from the server for a set user settings request.
2506
+ class SetUserSettingsResponse < Aws::EmptyStructure; end
2507
+
2508
+ # Represents the request to register a user.
2509
+ # @note When making an API call, pass SignUpRequest
2510
+ # data as a hash:
2511
+ #
2512
+ # {
2513
+ # client_id: "ClientIdType", # required
2514
+ # secret_hash: "SecretHashType",
2515
+ # username: "UsernameType", # required
2516
+ # password: "PasswordType", # required
2517
+ # user_attributes: [
2518
+ # {
2519
+ # name: "AttributeNameType", # required
2520
+ # value: "AttributeValueType",
2521
+ # },
2522
+ # ],
2523
+ # validation_data: [
2524
+ # {
2525
+ # name: "AttributeNameType", # required
2526
+ # value: "AttributeValueType",
2527
+ # },
2528
+ # ],
2529
+ # }
2530
+ # @!attribute [rw] client_id
2531
+ # The ID of the client associated with the user pool.
2532
+ # @return [String]
2533
+ #
2534
+ # @!attribute [rw] secret_hash
2535
+ # A keyed-hash message authentication code (HMAC) calculated using the
2536
+ # secret key of a user pool client and username plus the client ID in
2537
+ # the message.
2538
+ # @return [String]
2539
+ #
2540
+ # @!attribute [rw] username
2541
+ # The user name of the user you wish to register.
2542
+ # @return [String]
2543
+ #
2544
+ # @!attribute [rw] password
2545
+ # The password of the user you wish to register.
2546
+ # @return [String]
2547
+ #
2548
+ # @!attribute [rw] user_attributes
2549
+ # An array of name-value pairs representing user attributes.
2550
+ # @return [Array<Types::AttributeType>]
2551
+ #
2552
+ # @!attribute [rw] validation_data
2553
+ # The validation data in the request to register a user.
2554
+ # @return [Array<Types::AttributeType>]
2555
+ class SignUpRequest < Struct.new(
2556
+ :client_id,
2557
+ :secret_hash,
2558
+ :username,
2559
+ :password,
2560
+ :user_attributes,
2561
+ :validation_data)
2562
+ include Aws::Structure
2563
+ end
2564
+
2565
+ # The response from the server for a registration request.
2566
+ # @!attribute [rw] user_confirmed
2567
+ # A response from the server indicating that a user registration has
2568
+ # been confirmed.
2569
+ # @return [Boolean]
2570
+ #
2571
+ # @!attribute [rw] code_delivery_details
2572
+ # The code delivery details returned by the server response to the
2573
+ # user registration request.
2574
+ # @return [Types::CodeDeliveryDetailsType]
2575
+ class SignUpResponse < Struct.new(
2576
+ :user_confirmed,
2577
+ :code_delivery_details)
2578
+ include Aws::Structure
2579
+ end
2580
+
2581
+ # The SMS configuratoin type.
2582
+ # @note When making an API call, pass SmsConfigurationType
2583
+ # data as a hash:
2584
+ #
2585
+ # {
2586
+ # sns_caller_arn: "ArnType", # required
2587
+ # external_id: "StringType",
2588
+ # }
2589
+ # @!attribute [rw] sns_caller_arn
2590
+ # The Amazon Resource Name (ARN) of the Amazon Simple Notification
2591
+ # Service (SNS) caller.
2592
+ # @return [String]
2593
+ #
2594
+ # @!attribute [rw] external_id
2595
+ # The external ID.
2596
+ # @return [String]
2597
+ class SmsConfigurationType < Struct.new(
2598
+ :sns_caller_arn,
2599
+ :external_id)
2600
+ include Aws::Structure
2601
+ end
2602
+
2603
+ # Represents the request to start the user import job.
2604
+ # @note When making an API call, pass StartUserImportJobRequest
2605
+ # data as a hash:
2606
+ #
2607
+ # {
2608
+ # user_pool_id: "UserPoolIdType", # required
2609
+ # job_id: "UserImportJobIdType", # required
2610
+ # }
2611
+ # @!attribute [rw] user_pool_id
2612
+ # The user pool ID for the user pool that the users are being imported
2613
+ # into.
2614
+ # @return [String]
2615
+ #
2616
+ # @!attribute [rw] job_id
2617
+ # The job ID for the user import job.
2618
+ # @return [String]
2619
+ class StartUserImportJobRequest < Struct.new(
2620
+ :user_pool_id,
2621
+ :job_id)
2622
+ include Aws::Structure
2623
+ end
2624
+
2625
+ # Represents the response from the server to the request to start the
2626
+ # user import job.
2627
+ # @!attribute [rw] user_import_job
2628
+ # The job object that represents the user import job.
2629
+ # @return [Types::UserImportJobType]
2630
+ class StartUserImportJobResponse < Struct.new(
2631
+ :user_import_job)
2632
+ include Aws::Structure
2633
+ end
2634
+
2635
+ # Represents the request to stop the user import job.
2636
+ # @note When making an API call, pass StopUserImportJobRequest
2637
+ # data as a hash:
2638
+ #
2639
+ # {
2640
+ # user_pool_id: "UserPoolIdType", # required
2641
+ # job_id: "UserImportJobIdType", # required
2642
+ # }
2643
+ # @!attribute [rw] user_pool_id
2644
+ # The user pool ID for the user pool that the users are being imported
2645
+ # into.
2646
+ # @return [String]
2647
+ #
2648
+ # @!attribute [rw] job_id
2649
+ # The job ID for the user import job.
2650
+ # @return [String]
2651
+ class StopUserImportJobRequest < Struct.new(
2652
+ :user_pool_id,
2653
+ :job_id)
2654
+ include Aws::Structure
2655
+ end
2656
+
2657
+ # Represents the response from the server to the request to stop the
2658
+ # user import job.
2659
+ # @!attribute [rw] user_import_job
2660
+ # The job object that represents the user import job.
2661
+ # @return [Types::UserImportJobType]
2662
+ class StopUserImportJobResponse < Struct.new(
2663
+ :user_import_job)
2664
+ include Aws::Structure
2665
+ end
2666
+
2667
+ # The type of constraints associated with an attribute of the string
2668
+ # type.
2669
+ # @note When making an API call, pass StringAttributeConstraintsType
2670
+ # data as a hash:
2671
+ #
2672
+ # {
2673
+ # min_length: "StringType",
2674
+ # max_length: "StringType",
2675
+ # }
2676
+ # @!attribute [rw] min_length
2677
+ # The minimum length of an attribute value of the string type.
2678
+ # @return [String]
2679
+ #
2680
+ # @!attribute [rw] max_length
2681
+ # The maximum length of an attribute value of the string type.
2682
+ # @return [String]
2683
+ class StringAttributeConstraintsType < Struct.new(
2684
+ :min_length,
2685
+ :max_length)
2686
+ include Aws::Structure
2687
+ end
2688
+
2689
+ # Represents the request to update the device status.
2690
+ # @note When making an API call, pass UpdateDeviceStatusRequest
2691
+ # data as a hash:
2692
+ #
2693
+ # {
2694
+ # access_token: "TokenModelType", # required
2695
+ # device_key: "DeviceKeyType", # required
2696
+ # device_remembered_status: "remembered", # accepts remembered, not_remembered
2697
+ # }
2698
+ # @!attribute [rw] access_token
2699
+ # The access token.
2700
+ # @return [String]
2701
+ #
2702
+ # @!attribute [rw] device_key
2703
+ # The device key.
2704
+ # @return [String]
2705
+ #
2706
+ # @!attribute [rw] device_remembered_status
2707
+ # The status of whether a device is remembered.
2708
+ # @return [String]
2709
+ class UpdateDeviceStatusRequest < Struct.new(
2710
+ :access_token,
2711
+ :device_key,
2712
+ :device_remembered_status)
2713
+ include Aws::Structure
2714
+ end
2715
+
2716
+ # The response to the request to update the device status.
2717
+ class UpdateDeviceStatusResponse < Aws::EmptyStructure; end
2718
+
2719
+ # Represents the request to update user attributes.
2720
+ # @note When making an API call, pass UpdateUserAttributesRequest
2721
+ # data as a hash:
2722
+ #
2723
+ # {
2724
+ # user_attributes: [ # required
2725
+ # {
2726
+ # name: "AttributeNameType", # required
2727
+ # value: "AttributeValueType",
2728
+ # },
2729
+ # ],
2730
+ # access_token: "TokenModelType",
2731
+ # }
2732
+ # @!attribute [rw] user_attributes
2733
+ # An array of name-value pairs representing user attributes.
2734
+ # @return [Array<Types::AttributeType>]
2735
+ #
2736
+ # @!attribute [rw] access_token
2737
+ # The access token for the request to update user attributes.
2738
+ # @return [String]
2739
+ class UpdateUserAttributesRequest < Struct.new(
2740
+ :user_attributes,
2741
+ :access_token)
2742
+ include Aws::Structure
2743
+ end
2744
+
2745
+ # Represents the response from the server for the request to update user
2746
+ # attributes.
2747
+ # @!attribute [rw] code_delivery_details_list
2748
+ # The code delivery details list from the server for the request to
2749
+ # update user attributes.
2750
+ # @return [Array<Types::CodeDeliveryDetailsType>]
2751
+ class UpdateUserAttributesResponse < Struct.new(
2752
+ :code_delivery_details_list)
2753
+ include Aws::Structure
2754
+ end
2755
+
2756
+ # Represents the request to update the user pool client.
2757
+ # @note When making an API call, pass UpdateUserPoolClientRequest
2758
+ # data as a hash:
2759
+ #
2760
+ # {
2761
+ # user_pool_id: "UserPoolIdType", # required
2762
+ # client_id: "ClientIdType", # required
2763
+ # client_name: "ClientNameType",
2764
+ # refresh_token_validity: 1,
2765
+ # read_attributes: ["ClientPermissionType"],
2766
+ # write_attributes: ["ClientPermissionType"],
2767
+ # explicit_auth_flows: ["ADMIN_NO_SRP_AUTH"], # accepts ADMIN_NO_SRP_AUTH, CUSTOM_AUTH_FLOW_ONLY
2768
+ # }
2769
+ # @!attribute [rw] user_pool_id
2770
+ # The user pool ID for the user pool where you want to update the user
2771
+ # pool client.
2772
+ # @return [String]
2773
+ #
2774
+ # @!attribute [rw] client_id
2775
+ # The ID of the client associated with the user pool.
2776
+ # @return [String]
2777
+ #
2778
+ # @!attribute [rw] client_name
2779
+ # The client name from the update user pool client request.
2780
+ # @return [String]
2781
+ #
2782
+ # @!attribute [rw] refresh_token_validity
2783
+ # The validity of the refresh token.
2784
+ # @return [Integer]
2785
+ #
2786
+ # @!attribute [rw] read_attributes
2787
+ # The read-only attributes of the user pool.
2788
+ # @return [Array<String>]
2789
+ #
2790
+ # @!attribute [rw] write_attributes
2791
+ # The writeable attributes of the user pool.
2792
+ # @return [Array<String>]
2793
+ #
2794
+ # @!attribute [rw] explicit_auth_flows
2795
+ # Explicit authentication flows.
2796
+ # @return [Array<String>]
2797
+ class UpdateUserPoolClientRequest < Struct.new(
2798
+ :user_pool_id,
2799
+ :client_id,
2800
+ :client_name,
2801
+ :refresh_token_validity,
2802
+ :read_attributes,
2803
+ :write_attributes,
2804
+ :explicit_auth_flows)
2805
+ include Aws::Structure
2806
+ end
2807
+
2808
+ # Represents the response from the server to the request to update the
2809
+ # user pool client.
2810
+ # @!attribute [rw] user_pool_client
2811
+ # The user pool client value from the response from the server when an
2812
+ # update user pool client request is made.
2813
+ # @return [Types::UserPoolClientType]
2814
+ class UpdateUserPoolClientResponse < Struct.new(
2815
+ :user_pool_client)
2816
+ include Aws::Structure
2817
+ end
2818
+
2819
+ # Represents the request to update the user pool.
2820
+ # @note When making an API call, pass UpdateUserPoolRequest
2821
+ # data as a hash:
2822
+ #
2823
+ # {
2824
+ # user_pool_id: "UserPoolIdType", # required
2825
+ # policies: {
2826
+ # password_policy: {
2827
+ # minimum_length: 1,
2828
+ # require_uppercase: false,
2829
+ # require_lowercase: false,
2830
+ # require_numbers: false,
2831
+ # require_symbols: false,
2832
+ # },
2833
+ # },
2834
+ # lambda_config: {
2835
+ # pre_sign_up: "ArnType",
2836
+ # custom_message: "ArnType",
2837
+ # post_confirmation: "ArnType",
2838
+ # pre_authentication: "ArnType",
2839
+ # post_authentication: "ArnType",
2840
+ # define_auth_challenge: "ArnType",
2841
+ # create_auth_challenge: "ArnType",
2842
+ # verify_auth_challenge_response: "ArnType",
2843
+ # },
2844
+ # auto_verified_attributes: ["phone_number"], # accepts phone_number, email
2845
+ # sms_verification_message: "SmsVerificationMessageType",
2846
+ # email_verification_message: "EmailVerificationMessageType",
2847
+ # email_verification_subject: "EmailVerificationSubjectType",
2848
+ # sms_authentication_message: "SmsVerificationMessageType",
2849
+ # mfa_configuration: "OFF", # accepts OFF, ON, OPTIONAL
2850
+ # device_configuration: {
2851
+ # challenge_required_on_new_device: false,
2852
+ # device_only_remembered_on_user_prompt: false,
2853
+ # },
2854
+ # email_configuration: {
2855
+ # source_arn: "ArnType",
2856
+ # reply_to_email_address: "EmailAddressType",
2857
+ # },
2858
+ # sms_configuration: {
2859
+ # sns_caller_arn: "ArnType", # required
2860
+ # external_id: "StringType",
2861
+ # },
2862
+ # admin_create_user_config: {
2863
+ # allow_admin_create_user_only: false,
2864
+ # unused_account_validity_days: 1,
2865
+ # invite_message_template: {
2866
+ # sms_message: "SmsVerificationMessageType",
2867
+ # email_message: "EmailVerificationMessageType",
2868
+ # email_subject: "EmailVerificationSubjectType",
2869
+ # },
2870
+ # },
2871
+ # }
2872
+ # @!attribute [rw] user_pool_id
2873
+ # The user pool ID for the user pool you want to update.
2874
+ # @return [String]
2875
+ #
2876
+ # @!attribute [rw] policies
2877
+ # A container with the policies you wish to update in a user pool.
2878
+ # @return [Types::UserPoolPolicyType]
2879
+ #
2880
+ # @!attribute [rw] lambda_config
2881
+ # The AWS Lambda configuration information from the request to update
2882
+ # the user pool.
2883
+ # @return [Types::LambdaConfigType]
2884
+ #
2885
+ # @!attribute [rw] auto_verified_attributes
2886
+ # The attributes that are automatically verified when the Amazon
2887
+ # Cognito service makes a request to update user pools.
2888
+ # @return [Array<String>]
2889
+ #
2890
+ # @!attribute [rw] sms_verification_message
2891
+ # A container with information about the SMS verification message.
2892
+ # @return [String]
2893
+ #
2894
+ # @!attribute [rw] email_verification_message
2895
+ # The contents of the email verification message.
2896
+ # @return [String]
2897
+ #
2898
+ # @!attribute [rw] email_verification_subject
2899
+ # The subject of the email verfication message.
2900
+ # @return [String]
2901
+ #
2902
+ # @!attribute [rw] sms_authentication_message
2903
+ # The contents of the SMS authentication message.
2904
+ # @return [String]
2905
+ #
2906
+ # @!attribute [rw] mfa_configuration
2907
+ # Can be one of the following values:
2908
+ #
2909
+ # * `OFF` - MFA tokens are not required and cannot be specified during
2910
+ # user registration.
2911
+ #
2912
+ # * `ON` - MFA tokens are required for all user registrations. You can
2913
+ # only specify required when you are initially creating a user pool.
2914
+ #
2915
+ # * `OPTIONAL` - Users have the option when registering to create an
2916
+ # MFA token.
2917
+ # @return [String]
2918
+ #
2919
+ # @!attribute [rw] device_configuration
2920
+ # Device configuration.
2921
+ # @return [Types::DeviceConfigurationType]
2922
+ #
2923
+ # @!attribute [rw] email_configuration
2924
+ # Email configuration.
2925
+ # @return [Types::EmailConfigurationType]
2926
+ #
2927
+ # @!attribute [rw] sms_configuration
2928
+ # SMS configuration.
2929
+ # @return [Types::SmsConfigurationType]
2930
+ #
2931
+ # @!attribute [rw] admin_create_user_config
2932
+ # The configuration for AdminCreateUser requests.
2933
+ # @return [Types::AdminCreateUserConfigType]
2934
+ class UpdateUserPoolRequest < Struct.new(
2935
+ :user_pool_id,
2936
+ :policies,
2937
+ :lambda_config,
2938
+ :auto_verified_attributes,
2939
+ :sms_verification_message,
2940
+ :email_verification_message,
2941
+ :email_verification_subject,
2942
+ :sms_authentication_message,
2943
+ :mfa_configuration,
2944
+ :device_configuration,
2945
+ :email_configuration,
2946
+ :sms_configuration,
2947
+ :admin_create_user_config)
2948
+ include Aws::Structure
2949
+ end
2950
+
2951
+ # Represents the response from the server when you make a request to
2952
+ # update the user pool.
2953
+ class UpdateUserPoolResponse < Aws::EmptyStructure; end
2954
+
2955
+ # The user import job type.
2956
+ # @!attribute [rw] job_name
2957
+ # The job name for the user import job.
2958
+ # @return [String]
2959
+ #
2960
+ # @!attribute [rw] job_id
2961
+ # The job ID for the user import job.
2962
+ # @return [String]
2963
+ #
2964
+ # @!attribute [rw] user_pool_id
2965
+ # The user pool ID for the user pool that the users are being imported
2966
+ # into.
2967
+ # @return [String]
2968
+ #
2969
+ # @!attribute [rw] pre_signed_url
2970
+ # The pre-signed URL to be used to upload the .csv file.
2971
+ # @return [String]
2972
+ #
2973
+ # @!attribute [rw] creation_date
2974
+ # The date when the user import job was created.
2975
+ # @return [Time]
2976
+ #
2977
+ # @!attribute [rw] start_date
2978
+ # The date when the user import job was started.
2979
+ # @return [Time]
2980
+ #
2981
+ # @!attribute [rw] completion_date
2982
+ # The date when the user imoprt job was completed.
2983
+ # @return [Time]
2984
+ #
2985
+ # @!attribute [rw] status
2986
+ # The status of the user import job. One of the following:
2987
+ #
2988
+ # * Created - The job was created but not started.
2989
+ #
2990
+ # * Pending - A transition state. You have started the job, but it has
2991
+ # not begun importing users yet.
2992
+ #
2993
+ # * InProgress - The job has started, and users are being imported.
2994
+ #
2995
+ # * Stopping - You have stopped the job, but the job has not stopped
2996
+ # importing users yet.
2997
+ #
2998
+ # * Stopped - You have stopped the job, and the job has stopped
2999
+ # importing users.
3000
+ #
3001
+ # * Succeeded - The job has completed successfully.
3002
+ #
3003
+ # * Failed - The job has stopped due to an error.
3004
+ #
3005
+ # * Expired - You created a job, but did not start the job within
3006
+ # 24-48 hours. All data associated with the job was deleted, and the
3007
+ # job cannot be started.
3008
+ # @return [String]
3009
+ #
3010
+ # @!attribute [rw] cloud_watch_logs_role_arn
3011
+ # The role ARN for the Amazon CloudWatch Logging role for the user
3012
+ # import job. For more information, see "Creating the CloudWatch Logs
3013
+ # IAM Role" in the Amazon Cognito Developer Guide.
3014
+ # @return [String]
3015
+ #
3016
+ # @!attribute [rw] imported_users
3017
+ # The number of users that were successfully imported.
3018
+ # @return [Integer]
3019
+ #
3020
+ # @!attribute [rw] skipped_users
3021
+ # The number of users that were skipped.
3022
+ # @return [Integer]
3023
+ #
3024
+ # @!attribute [rw] failed_users
3025
+ # The number of users that could not be imported.
3026
+ # @return [Integer]
3027
+ #
3028
+ # @!attribute [rw] completion_message
3029
+ # The message returned when the user import job is completed.
3030
+ # @return [String]
3031
+ class UserImportJobType < Struct.new(
3032
+ :job_name,
3033
+ :job_id,
3034
+ :user_pool_id,
3035
+ :pre_signed_url,
3036
+ :creation_date,
3037
+ :start_date,
3038
+ :completion_date,
3039
+ :status,
3040
+ :cloud_watch_logs_role_arn,
3041
+ :imported_users,
3042
+ :skipped_users,
3043
+ :failed_users,
3044
+ :completion_message)
3045
+ include Aws::Structure
3046
+ end
3047
+
3048
+ # The description of the user poool client.
3049
+ # @!attribute [rw] client_id
3050
+ # The ID of the client associated with the user pool.
3051
+ # @return [String]
3052
+ #
3053
+ # @!attribute [rw] user_pool_id
3054
+ # The user pool ID for the user pool where you want to describe the
3055
+ # user pool client.
3056
+ # @return [String]
3057
+ #
3058
+ # @!attribute [rw] client_name
3059
+ # The client name from the user pool client description.
3060
+ # @return [String]
3061
+ class UserPoolClientDescription < Struct.new(
3062
+ :client_id,
3063
+ :user_pool_id,
3064
+ :client_name)
3065
+ include Aws::Structure
3066
+ end
3067
+
3068
+ # A user pool of the client type.
3069
+ # @!attribute [rw] user_pool_id
3070
+ # The user pool ID for the user pool client.
3071
+ # @return [String]
3072
+ #
3073
+ # @!attribute [rw] client_name
3074
+ # The client name from the user pool request of the client type.
3075
+ # @return [String]
3076
+ #
3077
+ # @!attribute [rw] client_id
3078
+ # The ID of the client associated with the user pool.
3079
+ # @return [String]
3080
+ #
3081
+ # @!attribute [rw] client_secret
3082
+ # The client secret from the user pool request of the client type.
3083
+ # @return [String]
3084
+ #
3085
+ # @!attribute [rw] last_modified_date
3086
+ # The last modified date from the user pool request of the client
3087
+ # type.
3088
+ # @return [Time]
3089
+ #
3090
+ # @!attribute [rw] creation_date
3091
+ # The creation date from the user pool request of the client type.
3092
+ # @return [Time]
3093
+ #
3094
+ # @!attribute [rw] refresh_token_validity
3095
+ # The validity of the refresh token.
3096
+ # @return [Integer]
3097
+ #
3098
+ # @!attribute [rw] read_attributes
3099
+ # The Read-only attributes.
3100
+ # @return [Array<String>]
3101
+ #
3102
+ # @!attribute [rw] write_attributes
3103
+ # The writeable attributes.
3104
+ # @return [Array<String>]
3105
+ #
3106
+ # @!attribute [rw] explicit_auth_flows
3107
+ # The explicit authentication flows.
3108
+ # @return [Array<String>]
3109
+ class UserPoolClientType < Struct.new(
3110
+ :user_pool_id,
3111
+ :client_name,
3112
+ :client_id,
3113
+ :client_secret,
3114
+ :last_modified_date,
3115
+ :creation_date,
3116
+ :refresh_token_validity,
3117
+ :read_attributes,
3118
+ :write_attributes,
3119
+ :explicit_auth_flows)
3120
+ include Aws::Structure
3121
+ end
3122
+
3123
+ # A user pool description.
3124
+ # @!attribute [rw] id
3125
+ # The ID in a user pool description.
3126
+ # @return [String]
3127
+ #
3128
+ # @!attribute [rw] name
3129
+ # The name in a user pool description.
3130
+ # @return [String]
3131
+ #
3132
+ # @!attribute [rw] lambda_config
3133
+ # The AWS Lambda configuration information in a user pool description.
3134
+ # @return [Types::LambdaConfigType]
3135
+ #
3136
+ # @!attribute [rw] status
3137
+ # The user pool status in a user pool description.
3138
+ # @return [String]
3139
+ #
3140
+ # @!attribute [rw] last_modified_date
3141
+ # The last modified date in a user pool description.
3142
+ # @return [Time]
3143
+ #
3144
+ # @!attribute [rw] creation_date
3145
+ # The creation date in a user pool description.
3146
+ # @return [Time]
3147
+ class UserPoolDescriptionType < Struct.new(
3148
+ :id,
3149
+ :name,
3150
+ :lambda_config,
3151
+ :status,
3152
+ :last_modified_date,
3153
+ :creation_date)
3154
+ include Aws::Structure
3155
+ end
3156
+
3157
+ # The type of policy in a user pool.
3158
+ # @note When making an API call, pass UserPoolPolicyType
3159
+ # data as a hash:
3160
+ #
3161
+ # {
3162
+ # password_policy: {
3163
+ # minimum_length: 1,
3164
+ # require_uppercase: false,
3165
+ # require_lowercase: false,
3166
+ # require_numbers: false,
3167
+ # require_symbols: false,
3168
+ # },
3169
+ # }
3170
+ # @!attribute [rw] password_policy
3171
+ # A container with information about the user pool password policy.
3172
+ # @return [Types::PasswordPolicyType]
3173
+ class UserPoolPolicyType < Struct.new(
3174
+ :password_policy)
3175
+ include Aws::Structure
3176
+ end
3177
+
3178
+ # A container with information about the user pool type.
3179
+ # @!attribute [rw] id
3180
+ # The ID of the user pool.
3181
+ # @return [String]
3182
+ #
3183
+ # @!attribute [rw] name
3184
+ # The name of the user pool.
3185
+ # @return [String]
3186
+ #
3187
+ # @!attribute [rw] policies
3188
+ # A container describing the policies associated with a user pool.
3189
+ # @return [Types::UserPoolPolicyType]
3190
+ #
3191
+ # @!attribute [rw] lambda_config
3192
+ # A container describing the AWS Lambda triggers associated with a
3193
+ # user pool.
3194
+ # @return [Types::LambdaConfigType]
3195
+ #
3196
+ # @!attribute [rw] status
3197
+ # The status of a user pool.
3198
+ # @return [String]
3199
+ #
3200
+ # @!attribute [rw] last_modified_date
3201
+ # The last modified date of a user pool.
3202
+ # @return [Time]
3203
+ #
3204
+ # @!attribute [rw] creation_date
3205
+ # The creation date of a user pool.
3206
+ # @return [Time]
3207
+ #
3208
+ # @!attribute [rw] schema_attributes
3209
+ # A container with the schema attributes of a user pool.
3210
+ # @return [Array<Types::SchemaAttributeType>]
3211
+ #
3212
+ # @!attribute [rw] auto_verified_attributes
3213
+ # Specifies the attributes that are auto-verified in a user pool.
3214
+ # @return [Array<String>]
3215
+ #
3216
+ # @!attribute [rw] alias_attributes
3217
+ # Specifies the attributes that are aliased in a user pool.
3218
+ # @return [Array<String>]
3219
+ #
3220
+ # @!attribute [rw] sms_verification_message
3221
+ # The contents of the SMS verification message.
3222
+ # @return [String]
3223
+ #
3224
+ # @!attribute [rw] email_verification_message
3225
+ # The contents of the email verification message.
3226
+ # @return [String]
3227
+ #
3228
+ # @!attribute [rw] email_verification_subject
3229
+ # The subject of the email verification message.
3230
+ # @return [String]
3231
+ #
3232
+ # @!attribute [rw] sms_authentication_message
3233
+ # The contents of the SMS authentication message.
3234
+ # @return [String]
3235
+ #
3236
+ # @!attribute [rw] mfa_configuration
3237
+ # Can be one of the following values:
3238
+ #
3239
+ # * `OFF` - MFA tokens are not required and cannot be specified during
3240
+ # user registration.
3241
+ #
3242
+ # * `ON` - MFA tokens are required for all user registrations. You can
3243
+ # only specify required when you are initially creating a user pool.
3244
+ #
3245
+ # * `OPTIONAL` - Users have the option when registering to create an
3246
+ # MFA token.
3247
+ # @return [String]
3248
+ #
3249
+ # @!attribute [rw] device_configuration
3250
+ # The device configuration.
3251
+ # @return [Types::DeviceConfigurationType]
3252
+ #
3253
+ # @!attribute [rw] estimated_number_of_users
3254
+ # A number estimating the size of the user pool.
3255
+ # @return [Integer]
3256
+ #
3257
+ # @!attribute [rw] email_configuration
3258
+ # The email configuration.
3259
+ # @return [Types::EmailConfigurationType]
3260
+ #
3261
+ # @!attribute [rw] sms_configuration
3262
+ # The SMS configuration.
3263
+ # @return [Types::SmsConfigurationType]
3264
+ #
3265
+ # @!attribute [rw] sms_configuration_failure
3266
+ # The reason why the SMS configuration cannot send the message(s) to
3267
+ # your users.
3268
+ # @return [String]
3269
+ #
3270
+ # @!attribute [rw] email_configuration_failure
3271
+ # The reason why the email configuration cannot send the messages to
3272
+ # your users.
3273
+ # @return [String]
3274
+ #
3275
+ # @!attribute [rw] admin_create_user_config
3276
+ # The configuration for AdminCreateUser requests.
3277
+ # @return [Types::AdminCreateUserConfigType]
3278
+ class UserPoolType < Struct.new(
3279
+ :id,
3280
+ :name,
3281
+ :policies,
3282
+ :lambda_config,
3283
+ :status,
3284
+ :last_modified_date,
3285
+ :creation_date,
3286
+ :schema_attributes,
3287
+ :auto_verified_attributes,
3288
+ :alias_attributes,
3289
+ :sms_verification_message,
3290
+ :email_verification_message,
3291
+ :email_verification_subject,
3292
+ :sms_authentication_message,
3293
+ :mfa_configuration,
3294
+ :device_configuration,
3295
+ :estimated_number_of_users,
3296
+ :email_configuration,
3297
+ :sms_configuration,
3298
+ :sms_configuration_failure,
3299
+ :email_configuration_failure,
3300
+ :admin_create_user_config)
3301
+ include Aws::Structure
3302
+ end
3303
+
3304
+ # The user type.
3305
+ # @!attribute [rw] username
3306
+ # The user name of the user you wish to describe.
3307
+ # @return [String]
3308
+ #
3309
+ # @!attribute [rw] attributes
3310
+ # A container with information about the user type attributes.
3311
+ # @return [Array<Types::AttributeType>]
3312
+ #
3313
+ # @!attribute [rw] user_create_date
3314
+ # The creation date of the user.
3315
+ # @return [Time]
3316
+ #
3317
+ # @!attribute [rw] user_last_modified_date
3318
+ # The last modified date of the user.
3319
+ # @return [Time]
3320
+ #
3321
+ # @!attribute [rw] enabled
3322
+ # Specifies whether the user is enabled.
3323
+ # @return [Boolean]
3324
+ #
3325
+ # @!attribute [rw] user_status
3326
+ # The user status. Can be one of the following:
3327
+ #
3328
+ # * UNCONFIRMED - User has been created but not confirmed.
3329
+ #
3330
+ # * CONFIRMED - User has been confirmed.
3331
+ #
3332
+ # * ARCHIVED - User is no longer active.
3333
+ #
3334
+ # * COMPROMISED - User is disabled due to a potential security threat.
3335
+ #
3336
+ # * UNKNOWN - User status is not known.
3337
+ # @return [String]
3338
+ #
3339
+ # @!attribute [rw] mfa_options
3340
+ # The MFA options for the user.
3341
+ # @return [Array<Types::MFAOptionType>]
3342
+ class UserType < Struct.new(
3343
+ :username,
3344
+ :attributes,
3345
+ :user_create_date,
3346
+ :user_last_modified_date,
3347
+ :enabled,
3348
+ :user_status,
3349
+ :mfa_options)
3350
+ include Aws::Structure
3351
+ end
3352
+
3353
+ # Represents the request to verify user attributes.
3354
+ # @note When making an API call, pass VerifyUserAttributeRequest
3355
+ # data as a hash:
3356
+ #
3357
+ # {
3358
+ # access_token: "TokenModelType",
3359
+ # attribute_name: "AttributeNameType", # required
3360
+ # code: "ConfirmationCodeType", # required
3361
+ # }
3362
+ # @!attribute [rw] access_token
3363
+ # Represents the access token of the request to verify user
3364
+ # attributes.
3365
+ # @return [String]
3366
+ #
3367
+ # @!attribute [rw] attribute_name
3368
+ # The attribute name in the request to verify user attributes.
3369
+ # @return [String]
3370
+ #
3371
+ # @!attribute [rw] code
3372
+ # The verification code in the request to verify user attributes.
3373
+ # @return [String]
3374
+ class VerifyUserAttributeRequest < Struct.new(
3375
+ :access_token,
3376
+ :attribute_name,
3377
+ :code)
3378
+ include Aws::Structure
3379
+ end
3380
+
3381
+ # A container representing the response from the server from the request
3382
+ # to verify user attributes.
3383
+ class VerifyUserAttributeResponse < Aws::EmptyStructure; end
3384
+
3385
+ end
3386
+ end
3387
+ end