aws-sdk-cognitoidentityprovider 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 1ed8de550568144c5a1cb33a032e63b65ebc65ac
4
+ data.tar.gz: 63c6067ac49a296812bbdb53e1304be8c162e27a
5
+ SHA512:
6
+ metadata.gz: f19fefc418129088a0592a53e7835da7a5853a393a00f2402c94237c027add3ed433694a1d553e9d91eb6aad6d1eb0976f1a22d3314a18a93f284a73fe61e3e8
7
+ data.tar.gz: 1a65af28f7f34066c9029982b332bf984961e78bc80af907b278f27f20ec7999c8a3a32735dfa377dbcc47231d40eb3b96654c98026c5fb0b65f8009147744ca
@@ -0,0 +1,47 @@
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
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-cognitoidentityprovider/types'
12
+ require_relative 'aws-sdk-cognitoidentityprovider/client_api'
13
+ require_relative 'aws-sdk-cognitoidentityprovider/client'
14
+ require_relative 'aws-sdk-cognitoidentityprovider/errors'
15
+ require_relative 'aws-sdk-cognitoidentityprovider/resource'
16
+ require_relative 'aws-sdk-cognitoidentityprovider/customizations'
17
+
18
+ # This module provides support for Amazon Cognito Identity Provider. This module is available in the
19
+ # `aws-sdk-cognitoidentityprovider` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from Amazon Cognito Identity Provider all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::CognitoIdentityProvider::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::CognitoIdentityProvider
44
+
45
+ GEM_VERSION = '1.0.0.rc1'
46
+
47
+ end
@@ -0,0 +1,2323 @@
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
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/signature_v4.rb'
22
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
23
+
24
+ Aws::Plugins::GlobalConfiguration.add_identifier(:cognitoidentityprovider)
25
+
26
+ module Aws
27
+ module CognitoIdentityProvider
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :cognitoidentityprovider
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::SignatureV4)
50
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
51
+
52
+ # @option options [required, Aws::CredentialProvider] :credentials
53
+ # Your AWS credentials. This can be an instance of any one of the
54
+ # following classes:
55
+ #
56
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
+ # credentials.
58
+ #
59
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
+ # from an EC2 IMDS on an EC2 instance.
61
+ #
62
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
63
+ # shared file, such as `~/.aws/config`.
64
+ #
65
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
+ #
67
+ # When `:credentials` are not configured directly, the following
68
+ # locations will be searched for credentials:
69
+ #
70
+ # * `Aws.config[:credentials]`
71
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
+ # * `~/.aws/credentials`
74
+ # * `~/.aws/config`
75
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
76
+ # very aggressive. Construct and pass an instance of
77
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
78
+ # timeouts.
79
+ # @option options [required, String] :region
80
+ # The AWS region to connect to. The configured `:region` is
81
+ # used to determine the service `:endpoint`. When not passed,
82
+ # a default `:region` is search for in the following locations:
83
+ #
84
+ # * `Aws.config[:region]`
85
+ # * `ENV['AWS_REGION']`
86
+ # * `ENV['AMAZON_REGION']`
87
+ # * `ENV['AWS_DEFAULT_REGION']`
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ # @option options [String] :access_key_id
91
+ # @option options [Boolean] :convert_params (true)
92
+ # When `true`, an attempt is made to coerce request parameters into
93
+ # the required types.
94
+ # @option options [String] :endpoint
95
+ # The client endpoint is normally constructed from the `:region`
96
+ # option. You should only configure an `:endpoint` when connecting
97
+ # to test endpoints. This should be avalid HTTP(S) URI.
98
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
+ # The log formatter.
100
+ # @option options [Symbol] :log_level (:info)
101
+ # The log level to send messages to the `:logger` at.
102
+ # @option options [Logger] :logger
103
+ # The Logger instance to send log messages to. If this option
104
+ # is not set, logging will be disabled.
105
+ # @option options [String] :profile ("default")
106
+ # Used when loading credentials from the shared credentials file
107
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
108
+ # @option options [Integer] :retry_limit (3)
109
+ # The maximum number of times to retry failed requests. Only
110
+ # ~ 500 level server errors and certain ~ 400 level client errors
111
+ # are retried. Generally, these are throttling errors, data
112
+ # checksum errors, networking errors, timeout errors and auth
113
+ # errors from expired credentials.
114
+ # @option options [String] :secret_access_key
115
+ # @option options [String] :session_token
116
+ # @option options [Boolean] :simple_json (false)
117
+ # Disables request parameter conversion, validation, and formatting.
118
+ # Also disable response data type conversions. This option is useful
119
+ # when you want to ensure the highest level of performance by
120
+ # avoiding overhead of walking request parameters and response data
121
+ # structures.
122
+ #
123
+ # When `:simple_json` is enabled, the request parameters hash must
124
+ # be formatted exactly as the DynamoDB API expects.
125
+ # @option options [Boolean] :stub_responses (false)
126
+ # Causes the client to return stubbed responses. By default
127
+ # fake responses are generated and returned. You can specify
128
+ # the response data to return or errors to raise by calling
129
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
130
+ #
131
+ # ** Please note ** When response stubbing is enabled, no HTTP
132
+ # requests are made, and retries are disabled.
133
+ # @option options [Boolean] :validate_params (true)
134
+ # When `true`, request parameters are validated before
135
+ # sending the request.
136
+ def initialize(*args)
137
+ super
138
+ end
139
+
140
+ # @!group API Operations
141
+
142
+ # Adds additional user attributes to the user pool schema.
143
+ # @option params [required, String] :user_pool_id
144
+ # The user pool ID for the user pool where you want to add custom
145
+ # attributes.
146
+ # @option params [required, Array<Types::SchemaAttributeType>] :custom_attributes
147
+ # An array of custom attributes, such as Mutable and Name.
148
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
149
+ #
150
+ # @example Request syntax with placeholder values
151
+ # resp = client.add_custom_attributes({
152
+ # user_pool_id: "UserPoolIdType", # required
153
+ # custom_attributes: [ # required
154
+ # {
155
+ # name: "CustomAttributeNameType",
156
+ # attribute_data_type: "String", # accepts String, Number, DateTime, Boolean
157
+ # developer_only_attribute: false,
158
+ # mutable: false,
159
+ # required: false,
160
+ # number_attribute_constraints: {
161
+ # min_value: "StringType",
162
+ # max_value: "StringType",
163
+ # },
164
+ # string_attribute_constraints: {
165
+ # min_length: "StringType",
166
+ # max_length: "StringType",
167
+ # },
168
+ # },
169
+ # ],
170
+ # })
171
+ # @overload add_custom_attributes(params = {})
172
+ # @param [Hash] params ({})
173
+ def add_custom_attributes(params = {}, options = {})
174
+ req = build_request(:add_custom_attributes, params)
175
+ req.send_request(options)
176
+ end
177
+
178
+ # Confirms user registration as an admin without using a confirmation
179
+ # code. Works on any user.
180
+ # @option params [required, String] :user_pool_id
181
+ # The user pool ID for which you want to confirm user registration.
182
+ # @option params [required, String] :username
183
+ # The user name for which you want to confirm user registration.
184
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
185
+ #
186
+ # @example Request syntax with placeholder values
187
+ # resp = client.admin_confirm_sign_up({
188
+ # user_pool_id: "UserPoolIdType", # required
189
+ # username: "UsernameType", # required
190
+ # })
191
+ # @overload admin_confirm_sign_up(params = {})
192
+ # @param [Hash] params ({})
193
+ def admin_confirm_sign_up(params = {}, options = {})
194
+ req = build_request(:admin_confirm_sign_up, params)
195
+ req.send_request(options)
196
+ end
197
+
198
+ # Creates a new user in the specified user pool and sends a welcome
199
+ # message via email or phone (SMS). This message is based on a template
200
+ # that you configured in your call to CreateUserPool or UpdateUserPool.
201
+ # This template includes your custom sign-up instructions and
202
+ # placeholders for user name and temporary password.
203
+ #
204
+ # Requires developer credentials.
205
+ # @option params [required, String] :user_pool_id
206
+ # The user pool ID for the user pool where the user will be created.
207
+ # @option params [required, String] :username
208
+ # The username for the user. Must be unique within the user pool. Must
209
+ # be a UTF-8 string between 1 and 128 characters. After the user is
210
+ # created, the username cannot be changed.
211
+ # @option params [Array<Types::AttributeType>] :user_attributes
212
+ # An array of name-value pairs that contain user attributes and
213
+ # attribute values to be set for the user to be created. You can create
214
+ # a user without specifying any attributes other than Username. However,
215
+ # any attributes that you specify as required (in CreateUserPool or in
216
+ # the **Attributes** tab of the console) must be supplied either by you
217
+ # (in your call to AdminCreateUser) or by the user (when he or she signs
218
+ # up in response to your welcome message).
219
+ #
220
+ # To send a message inviting the user to sign up, you must specify the
221
+ # user's email address or phone number. This can be done in your call
222
+ # to AdminCreateUser or in the **Users** tab of the Amazon Cognito
223
+ # console for managing your user pools.
224
+ #
225
+ # In your call to AdminCreateUser, you can set the email\_verified
226
+ # attribute to True, and you can set the phone\_number\_verified
227
+ # attribute to True. (You cannot do this by calling other operations
228
+ # such as AdminUpdateUserAttributes.)
229
+ #
230
+ # * **email**\: The email address of the user to whom the message that
231
+ # contains the code and username will be sent. Required if the
232
+ # email\_verified attribute is set to True, or if "EMAIL" is
233
+ # specified in the DesiredDeliveryMediums parameter.
234
+ #
235
+ # * **phone\_number**\: The phone number of the user to whom the message
236
+ # that contains the code and username will be sent. Required if the
237
+ # phone\_number\_verified attribute is set to True, or if "SMS" is
238
+ # specified in the DesiredDeliveryMediums parameter.
239
+ # @option params [Array<Types::AttributeType>] :validation_data
240
+ # The user's validation data. This is an array of name-value pairs that
241
+ # contain user attributes and attribute values that you can use for
242
+ # custom validation, such as restricting the types of user accounts that
243
+ # can be registered. For example, you might choose to allow or disallow
244
+ # user sign-up based on the user's domain.
245
+ #
246
+ # To configure custom validation, you must create a Pre Sign-up Lambda
247
+ # trigger for the user pool as described in the Amazon Cognito Developer
248
+ # Guide. The Lambda trigger receives the validation data and uses it in
249
+ # the validation process.
250
+ #
251
+ # The user's validation data is not persisted.
252
+ # @option params [String] :temporary_password
253
+ # The user's temporary password. This password must conform to the
254
+ # password policy that you specified when you created the user pool.
255
+ #
256
+ # The temporary password is valid only once. To complete the Admin
257
+ # Create User flow, the user must enter the temporary password in the
258
+ # sign-in page along with a new password to be used in all future
259
+ # sign-ins.
260
+ #
261
+ # This parameter is not required. If you do not specify a value, Amazon
262
+ # Cognito generates one for you.
263
+ #
264
+ # The temporary password can only be used until the user account
265
+ # expiration limit that you specified when you created the user pool. To
266
+ # reset the account after that time limit, you must call AdminCreateUser
267
+ # again, specifying "RESEND" for the MessageAction parameter.
268
+ # @option params [Boolean] :force_alias_creation
269
+ # This parameter is only used if the phone\_number\_verified or
270
+ # email\_verified attribute is set to True. Otherwise, it is ignored.
271
+ #
272
+ # If this parameter is set to True and the phone number or email address
273
+ # specified in the UserAttributes parameter already exists as an alias
274
+ # with a different user, the API call will migrate the alias from the
275
+ # previous user to the newly created user. The previous user will no
276
+ # longer be able to log in using that alias.
277
+ #
278
+ # If this parameter is set to False, the API throws an
279
+ # AliasExistsException error if the alias already exists. The default
280
+ # value is False.
281
+ # @option params [String] :message_action
282
+ # Set to "RESEND" to resend the invitation message to a user that
283
+ # already exists and reset the expiration limit on the user's account.
284
+ # Set to "SUPPRESS" to suppress sending the message. Only one value
285
+ # can be specified.
286
+ # @option params [Array<String>] :desired_delivery_mediums
287
+ # Specify "EMAIL" if email will be used to send the welcome message.
288
+ # Specify "SMS" if the phone number will be used. The default value is
289
+ # "SMS". More than one value can be specified.
290
+ # @return [Types::AdminCreateUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
291
+ #
292
+ # * {Types::AdminCreateUserResponse#user #User} => Types::UserType
293
+ #
294
+ # @example Request syntax with placeholder values
295
+ # resp = client.admin_create_user({
296
+ # user_pool_id: "UserPoolIdType", # required
297
+ # username: "UsernameType", # required
298
+ # user_attributes: [
299
+ # {
300
+ # name: "AttributeNameType", # required
301
+ # value: "AttributeValueType",
302
+ # },
303
+ # ],
304
+ # validation_data: [
305
+ # {
306
+ # name: "AttributeNameType", # required
307
+ # value: "AttributeValueType",
308
+ # },
309
+ # ],
310
+ # temporary_password: "PasswordType",
311
+ # force_alias_creation: false,
312
+ # message_action: "RESEND", # accepts RESEND, SUPPRESS
313
+ # desired_delivery_mediums: ["SMS"], # accepts SMS, EMAIL
314
+ # })
315
+ #
316
+ # @example Response structure
317
+ # resp.user.username #=> String
318
+ # resp.user.attributes #=> Array
319
+ # resp.user.attributes[0].name #=> String
320
+ # resp.user.attributes[0].value #=> String
321
+ # resp.user.user_create_date #=> Time
322
+ # resp.user.user_last_modified_date #=> Time
323
+ # resp.user.enabled #=> Boolean
324
+ # resp.user.user_status #=> String, one of "UNCONFIRMED", "CONFIRMED", "ARCHIVED", "COMPROMISED", "UNKNOWN", "RESET_REQUIRED", "FORCE_CHANGE_PASSWORD"
325
+ # resp.user.mfa_options #=> Array
326
+ # resp.user.mfa_options[0].delivery_medium #=> String, one of "SMS", "EMAIL"
327
+ # resp.user.mfa_options[0].attribute_name #=> String
328
+ # @overload admin_create_user(params = {})
329
+ # @param [Hash] params ({})
330
+ def admin_create_user(params = {}, options = {})
331
+ req = build_request(:admin_create_user, params)
332
+ req.send_request(options)
333
+ end
334
+
335
+ # Deletes a user as an administrator. Works on any user.
336
+ # @option params [required, String] :user_pool_id
337
+ # The user pool ID for the user pool where you want to delete the user.
338
+ # @option params [required, String] :username
339
+ # The user name of the user you wish to delete.
340
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
341
+ #
342
+ # @example Request syntax with placeholder values
343
+ # resp = client.admin_delete_user({
344
+ # user_pool_id: "UserPoolIdType", # required
345
+ # username: "UsernameType", # required
346
+ # })
347
+ # @overload admin_delete_user(params = {})
348
+ # @param [Hash] params ({})
349
+ def admin_delete_user(params = {}, options = {})
350
+ req = build_request(:admin_delete_user, params)
351
+ req.send_request(options)
352
+ end
353
+
354
+ # Deletes the user attributes in a user pool as an administrator. Works
355
+ # on any user.
356
+ # @option params [required, String] :user_pool_id
357
+ # The user pool ID for the user pool where you want to delete user
358
+ # attributes.
359
+ # @option params [required, String] :username
360
+ # The user name of the user from which you would like to delete
361
+ # attributes.
362
+ # @option params [required, Array<String>] :user_attribute_names
363
+ # An array of strings representing the user attribute names you wish to
364
+ # delete.
365
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
366
+ #
367
+ # @example Request syntax with placeholder values
368
+ # resp = client.admin_delete_user_attributes({
369
+ # user_pool_id: "UserPoolIdType", # required
370
+ # username: "UsernameType", # required
371
+ # user_attribute_names: ["AttributeNameType"], # required
372
+ # })
373
+ # @overload admin_delete_user_attributes(params = {})
374
+ # @param [Hash] params ({})
375
+ def admin_delete_user_attributes(params = {}, options = {})
376
+ req = build_request(:admin_delete_user_attributes, params)
377
+ req.send_request(options)
378
+ end
379
+
380
+ # Disables the specified user as an administrator. Works on any user.
381
+ # @option params [required, String] :user_pool_id
382
+ # The user pool ID for the user pool where you want to disable the user.
383
+ # @option params [required, String] :username
384
+ # The user name of the user you wish to disable.
385
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
386
+ #
387
+ # @example Request syntax with placeholder values
388
+ # resp = client.admin_disable_user({
389
+ # user_pool_id: "UserPoolIdType", # required
390
+ # username: "UsernameType", # required
391
+ # })
392
+ # @overload admin_disable_user(params = {})
393
+ # @param [Hash] params ({})
394
+ def admin_disable_user(params = {}, options = {})
395
+ req = build_request(:admin_disable_user, params)
396
+ req.send_request(options)
397
+ end
398
+
399
+ # Enables the specified user as an administrator. Works on any user.
400
+ # @option params [required, String] :user_pool_id
401
+ # The user pool ID for the user pool where you want to enable the user.
402
+ # @option params [required, String] :username
403
+ # The user name of the user you wish to ebable.
404
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
405
+ #
406
+ # @example Request syntax with placeholder values
407
+ # resp = client.admin_enable_user({
408
+ # user_pool_id: "UserPoolIdType", # required
409
+ # username: "UsernameType", # required
410
+ # })
411
+ # @overload admin_enable_user(params = {})
412
+ # @param [Hash] params ({})
413
+ def admin_enable_user(params = {}, options = {})
414
+ req = build_request(:admin_enable_user, params)
415
+ req.send_request(options)
416
+ end
417
+
418
+ # Forgets the device, as an administrator.
419
+ # @option params [required, String] :user_pool_id
420
+ # The user pool ID.
421
+ # @option params [required, String] :username
422
+ # The user name.
423
+ # @option params [required, String] :device_key
424
+ # The device key.
425
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
426
+ #
427
+ # @example Request syntax with placeholder values
428
+ # resp = client.admin_forget_device({
429
+ # user_pool_id: "UserPoolIdType", # required
430
+ # username: "UsernameType", # required
431
+ # device_key: "DeviceKeyType", # required
432
+ # })
433
+ # @overload admin_forget_device(params = {})
434
+ # @param [Hash] params ({})
435
+ def admin_forget_device(params = {}, options = {})
436
+ req = build_request(:admin_forget_device, params)
437
+ req.send_request(options)
438
+ end
439
+
440
+ # Gets the device, as an administrator.
441
+ # @option params [required, String] :device_key
442
+ # The device key.
443
+ # @option params [required, String] :user_pool_id
444
+ # The user pool ID.
445
+ # @option params [required, String] :username
446
+ # The user name.
447
+ # @return [Types::AdminGetDeviceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
448
+ #
449
+ # * {Types::AdminGetDeviceResponse#device #Device} => Types::DeviceType
450
+ #
451
+ # @example Request syntax with placeholder values
452
+ # resp = client.admin_get_device({
453
+ # device_key: "DeviceKeyType", # required
454
+ # user_pool_id: "UserPoolIdType", # required
455
+ # username: "UsernameType", # required
456
+ # })
457
+ #
458
+ # @example Response structure
459
+ # resp.device.device_key #=> String
460
+ # resp.device.device_attributes #=> Array
461
+ # resp.device.device_attributes[0].name #=> String
462
+ # resp.device.device_attributes[0].value #=> String
463
+ # resp.device.device_create_date #=> Time
464
+ # resp.device.device_last_modified_date #=> Time
465
+ # resp.device.device_last_authenticated_date #=> Time
466
+ # @overload admin_get_device(params = {})
467
+ # @param [Hash] params ({})
468
+ def admin_get_device(params = {}, options = {})
469
+ req = build_request(:admin_get_device, params)
470
+ req.send_request(options)
471
+ end
472
+
473
+ # Gets the specified user by user name in a user pool as an
474
+ # administrator. Works on any user.
475
+ # @option params [required, String] :user_pool_id
476
+ # The user pool ID for the user pool where you want to get information
477
+ # about the user.
478
+ # @option params [required, String] :username
479
+ # The user name of the user you wish to retrieve.
480
+ # @return [Types::AdminGetUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
481
+ #
482
+ # * {Types::AdminGetUserResponse#username #Username} => String
483
+ # * {Types::AdminGetUserResponse#user_attributes #UserAttributes} => Array&lt;Types::AttributeType&gt;
484
+ # * {Types::AdminGetUserResponse#user_create_date #UserCreateDate} => Time
485
+ # * {Types::AdminGetUserResponse#user_last_modified_date #UserLastModifiedDate} => Time
486
+ # * {Types::AdminGetUserResponse#enabled #Enabled} => Boolean
487
+ # * {Types::AdminGetUserResponse#user_status #UserStatus} => String
488
+ # * {Types::AdminGetUserResponse#mfa_options #MFAOptions} => Array&lt;Types::MFAOptionType&gt;
489
+ #
490
+ # @example Request syntax with placeholder values
491
+ # resp = client.admin_get_user({
492
+ # user_pool_id: "UserPoolIdType", # required
493
+ # username: "UsernameType", # required
494
+ # })
495
+ #
496
+ # @example Response structure
497
+ # resp.username #=> String
498
+ # resp.user_attributes #=> Array
499
+ # resp.user_attributes[0].name #=> String
500
+ # resp.user_attributes[0].value #=> String
501
+ # resp.user_create_date #=> Time
502
+ # resp.user_last_modified_date #=> Time
503
+ # resp.enabled #=> Boolean
504
+ # resp.user_status #=> String, one of "UNCONFIRMED", "CONFIRMED", "ARCHIVED", "COMPROMISED", "UNKNOWN", "RESET_REQUIRED", "FORCE_CHANGE_PASSWORD"
505
+ # resp.mfa_options #=> Array
506
+ # resp.mfa_options[0].delivery_medium #=> String, one of "SMS", "EMAIL"
507
+ # resp.mfa_options[0].attribute_name #=> String
508
+ # @overload admin_get_user(params = {})
509
+ # @param [Hash] params ({})
510
+ def admin_get_user(params = {}, options = {})
511
+ req = build_request(:admin_get_user, params)
512
+ req.send_request(options)
513
+ end
514
+
515
+ # Initiates the authentication flow, as an administrator.
516
+ # @option params [required, String] :user_pool_id
517
+ # The ID of the Amazon Cognito user pool.
518
+ # @option params [required, String] :client_id
519
+ # The client app ID.
520
+ # @option params [required, String] :auth_flow
521
+ # The authentication flow.
522
+ # @option params [Hash<String,String>] :auth_parameters
523
+ # The authentication parameters.
524
+ # @option params [Hash<String,String>] :client_metadata
525
+ # The client app metadata.
526
+ # @return [Types::AdminInitiateAuthResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
527
+ #
528
+ # * {Types::AdminInitiateAuthResponse#challenge_name #ChallengeName} => String
529
+ # * {Types::AdminInitiateAuthResponse#session #Session} => String
530
+ # * {Types::AdminInitiateAuthResponse#challenge_parameters #ChallengeParameters} => Hash&lt;String,String&gt;
531
+ # * {Types::AdminInitiateAuthResponse#authentication_result #AuthenticationResult} => Types::AuthenticationResultType
532
+ #
533
+ # @example Request syntax with placeholder values
534
+ # resp = client.admin_initiate_auth({
535
+ # user_pool_id: "UserPoolIdType", # required
536
+ # client_id: "ClientIdType", # required
537
+ # auth_flow: "USER_SRP_AUTH", # required, accepts USER_SRP_AUTH, REFRESH_TOKEN_AUTH, REFRESH_TOKEN, CUSTOM_AUTH, ADMIN_NO_SRP_AUTH
538
+ # auth_parameters: {
539
+ # "StringType" => "StringType",
540
+ # },
541
+ # client_metadata: {
542
+ # "StringType" => "StringType",
543
+ # },
544
+ # })
545
+ #
546
+ # @example Response structure
547
+ # resp.challenge_name #=> String, one of "SMS_MFA", "PASSWORD_VERIFIER", "CUSTOM_CHALLENGE", "DEVICE_SRP_AUTH", "DEVICE_PASSWORD_VERIFIER", "ADMIN_NO_SRP_AUTH", "NEW_PASSWORD_REQUIRED"
548
+ # resp.session #=> String
549
+ # resp.challenge_parameters #=> Hash
550
+ # resp.challenge_parameters["StringType"] #=> String
551
+ # resp.authentication_result.access_token #=> String
552
+ # resp.authentication_result.expires_in #=> Integer
553
+ # resp.authentication_result.token_type #=> String
554
+ # resp.authentication_result.refresh_token #=> String
555
+ # resp.authentication_result.id_token #=> String
556
+ # resp.authentication_result.new_device_metadata.device_key #=> String
557
+ # resp.authentication_result.new_device_metadata.device_group_key #=> String
558
+ # @overload admin_initiate_auth(params = {})
559
+ # @param [Hash] params ({})
560
+ def admin_initiate_auth(params = {}, options = {})
561
+ req = build_request(:admin_initiate_auth, params)
562
+ req.send_request(options)
563
+ end
564
+
565
+ # Lists devices, as an administrator.
566
+ # @option params [required, String] :user_pool_id
567
+ # The user pool ID.
568
+ # @option params [required, String] :username
569
+ # The user name.
570
+ # @option params [Integer] :limit
571
+ # The limit of the devices request.
572
+ # @option params [String] :pagination_token
573
+ # The pagination token.
574
+ # @return [Types::AdminListDevicesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
575
+ #
576
+ # * {Types::AdminListDevicesResponse#devices #Devices} => Array&lt;Types::DeviceType&gt;
577
+ # * {Types::AdminListDevicesResponse#pagination_token #PaginationToken} => String
578
+ #
579
+ # @example Request syntax with placeholder values
580
+ # resp = client.admin_list_devices({
581
+ # user_pool_id: "UserPoolIdType", # required
582
+ # username: "UsernameType", # required
583
+ # limit: 1,
584
+ # pagination_token: "SearchPaginationTokenType",
585
+ # })
586
+ #
587
+ # @example Response structure
588
+ # resp.devices #=> Array
589
+ # resp.devices[0].device_key #=> String
590
+ # resp.devices[0].device_attributes #=> Array
591
+ # resp.devices[0].device_attributes[0].name #=> String
592
+ # resp.devices[0].device_attributes[0].value #=> String
593
+ # resp.devices[0].device_create_date #=> Time
594
+ # resp.devices[0].device_last_modified_date #=> Time
595
+ # resp.devices[0].device_last_authenticated_date #=> Time
596
+ # resp.pagination_token #=> String
597
+ # @overload admin_list_devices(params = {})
598
+ # @param [Hash] params ({})
599
+ def admin_list_devices(params = {}, options = {})
600
+ req = build_request(:admin_list_devices, params)
601
+ req.send_request(options)
602
+ end
603
+
604
+ # Resets the specified user's password in a user pool as an
605
+ # administrator. Works on any user.
606
+ #
607
+ # When a developer calls this API, the current password is invalidated,
608
+ # so it must be changed. If a user tries to sign in after the API is
609
+ # called, the app will get a PasswordResetRequiredException exception
610
+ # back and should direct the user down the flow to reset the password,
611
+ # which is the same as the forgot password flow. In addition, if the
612
+ # user pool has phone verification selected and a verified phone number
613
+ # exists for the user, or if email verification is selected and a
614
+ # verified email exists for the user, calling this API will also result
615
+ # in sending a message to the end user with the code to change their
616
+ # password.
617
+ # @option params [required, String] :user_pool_id
618
+ # The user pool ID for the user pool where you want to reset the user's
619
+ # password.
620
+ # @option params [required, String] :username
621
+ # The user name of the user whose password you wish to reset.
622
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
623
+ #
624
+ # @example Request syntax with placeholder values
625
+ # resp = client.admin_reset_user_password({
626
+ # user_pool_id: "UserPoolIdType", # required
627
+ # username: "UsernameType", # required
628
+ # })
629
+ # @overload admin_reset_user_password(params = {})
630
+ # @param [Hash] params ({})
631
+ def admin_reset_user_password(params = {}, options = {})
632
+ req = build_request(:admin_reset_user_password, params)
633
+ req.send_request(options)
634
+ end
635
+
636
+ # Responds to an authentication challenge, as an administrator.
637
+ # @option params [required, String] :user_pool_id
638
+ # The ID of the Amazon Cognito user pool.
639
+ # @option params [required, String] :client_id
640
+ # The client ID.
641
+ # @option params [required, String] :challenge_name
642
+ # The name of the challenge.
643
+ # @option params [Hash<String,String>] :challenge_responses
644
+ # The challenge response.
645
+ # @option params [String] :session
646
+ # The session.
647
+ # @return [Types::AdminRespondToAuthChallengeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
648
+ #
649
+ # * {Types::AdminRespondToAuthChallengeResponse#challenge_name #ChallengeName} => String
650
+ # * {Types::AdminRespondToAuthChallengeResponse#session #Session} => String
651
+ # * {Types::AdminRespondToAuthChallengeResponse#challenge_parameters #ChallengeParameters} => Hash&lt;String,String&gt;
652
+ # * {Types::AdminRespondToAuthChallengeResponse#authentication_result #AuthenticationResult} => Types::AuthenticationResultType
653
+ #
654
+ # @example Request syntax with placeholder values
655
+ # resp = client.admin_respond_to_auth_challenge({
656
+ # user_pool_id: "UserPoolIdType", # required
657
+ # client_id: "ClientIdType", # required
658
+ # 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
659
+ # challenge_responses: {
660
+ # "StringType" => "StringType",
661
+ # },
662
+ # session: "SessionType",
663
+ # })
664
+ #
665
+ # @example Response structure
666
+ # resp.challenge_name #=> String, one of "SMS_MFA", "PASSWORD_VERIFIER", "CUSTOM_CHALLENGE", "DEVICE_SRP_AUTH", "DEVICE_PASSWORD_VERIFIER", "ADMIN_NO_SRP_AUTH", "NEW_PASSWORD_REQUIRED"
667
+ # resp.session #=> String
668
+ # resp.challenge_parameters #=> Hash
669
+ # resp.challenge_parameters["StringType"] #=> String
670
+ # resp.authentication_result.access_token #=> String
671
+ # resp.authentication_result.expires_in #=> Integer
672
+ # resp.authentication_result.token_type #=> String
673
+ # resp.authentication_result.refresh_token #=> String
674
+ # resp.authentication_result.id_token #=> String
675
+ # resp.authentication_result.new_device_metadata.device_key #=> String
676
+ # resp.authentication_result.new_device_metadata.device_group_key #=> String
677
+ # @overload admin_respond_to_auth_challenge(params = {})
678
+ # @param [Hash] params ({})
679
+ def admin_respond_to_auth_challenge(params = {}, options = {})
680
+ req = build_request(:admin_respond_to_auth_challenge, params)
681
+ req.send_request(options)
682
+ end
683
+
684
+ # Sets all the user settings for a specified user name. Works on any
685
+ # user.
686
+ # @option params [required, String] :user_pool_id
687
+ # The user pool ID for the user pool where you want to set the user's
688
+ # settings, such as MFA options.
689
+ # @option params [required, String] :username
690
+ # The user name of the user for whom you wish to set user settings.
691
+ # @option params [required, Array<Types::MFAOptionType>] :mfa_options
692
+ # Specifies the options for MFA (e.g., email or phone number).
693
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
694
+ #
695
+ # @example Request syntax with placeholder values
696
+ # resp = client.admin_set_user_settings({
697
+ # user_pool_id: "UserPoolIdType", # required
698
+ # username: "UsernameType", # required
699
+ # mfa_options: [ # required
700
+ # {
701
+ # delivery_medium: "SMS", # accepts SMS, EMAIL
702
+ # attribute_name: "AttributeNameType",
703
+ # },
704
+ # ],
705
+ # })
706
+ # @overload admin_set_user_settings(params = {})
707
+ # @param [Hash] params ({})
708
+ def admin_set_user_settings(params = {}, options = {})
709
+ req = build_request(:admin_set_user_settings, params)
710
+ req.send_request(options)
711
+ end
712
+
713
+ # Updates the device status as an administrator.
714
+ # @option params [required, String] :user_pool_id
715
+ # The user pool ID&gt;
716
+ # @option params [required, String] :username
717
+ # The user name.
718
+ # @option params [required, String] :device_key
719
+ # The device key.
720
+ # @option params [String] :device_remembered_status
721
+ # The status indicating whether a device has been remembered or not.
722
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
723
+ #
724
+ # @example Request syntax with placeholder values
725
+ # resp = client.admin_update_device_status({
726
+ # user_pool_id: "UserPoolIdType", # required
727
+ # username: "UsernameType", # required
728
+ # device_key: "DeviceKeyType", # required
729
+ # device_remembered_status: "remembered", # accepts remembered, not_remembered
730
+ # })
731
+ # @overload admin_update_device_status(params = {})
732
+ # @param [Hash] params ({})
733
+ def admin_update_device_status(params = {}, options = {})
734
+ req = build_request(:admin_update_device_status, params)
735
+ req.send_request(options)
736
+ end
737
+
738
+ # Updates the specified user's attributes, including developer
739
+ # attributes, as an administrator. Works on any user.
740
+ # @option params [required, String] :user_pool_id
741
+ # The user pool ID for the user pool where you want to update user
742
+ # attributes.
743
+ # @option params [required, String] :username
744
+ # The user name of the user for whom you want to update user attributes.
745
+ # @option params [required, Array<Types::AttributeType>] :user_attributes
746
+ # An array of name-value pairs representing user attributes.
747
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
748
+ #
749
+ # @example Request syntax with placeholder values
750
+ # resp = client.admin_update_user_attributes({
751
+ # user_pool_id: "UserPoolIdType", # required
752
+ # username: "UsernameType", # required
753
+ # user_attributes: [ # required
754
+ # {
755
+ # name: "AttributeNameType", # required
756
+ # value: "AttributeValueType",
757
+ # },
758
+ # ],
759
+ # })
760
+ # @overload admin_update_user_attributes(params = {})
761
+ # @param [Hash] params ({})
762
+ def admin_update_user_attributes(params = {}, options = {})
763
+ req = build_request(:admin_update_user_attributes, params)
764
+ req.send_request(options)
765
+ end
766
+
767
+ # Signs out users from all devices, as an administrator.
768
+ # @option params [required, String] :user_pool_id
769
+ # The user pool ID.
770
+ # @option params [required, String] :username
771
+ # The user name.
772
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
773
+ #
774
+ # @example Request syntax with placeholder values
775
+ # resp = client.admin_user_global_sign_out({
776
+ # user_pool_id: "UserPoolIdType", # required
777
+ # username: "UsernameType", # required
778
+ # })
779
+ # @overload admin_user_global_sign_out(params = {})
780
+ # @param [Hash] params ({})
781
+ def admin_user_global_sign_out(params = {}, options = {})
782
+ req = build_request(:admin_user_global_sign_out, params)
783
+ req.send_request(options)
784
+ end
785
+
786
+ # Changes the password for a specified user in a user pool.
787
+ # @option params [required, String] :previous_password
788
+ # The old password in the change password request.
789
+ # @option params [required, String] :proposed_password
790
+ # The new password in the change password request.
791
+ # @option params [String] :access_token
792
+ # The access token in the change password request.
793
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
794
+ #
795
+ # @example Request syntax with placeholder values
796
+ # resp = client.change_password({
797
+ # previous_password: "PasswordType", # required
798
+ # proposed_password: "PasswordType", # required
799
+ # access_token: "TokenModelType",
800
+ # })
801
+ # @overload change_password(params = {})
802
+ # @param [Hash] params ({})
803
+ def change_password(params = {}, options = {})
804
+ req = build_request(:change_password, params)
805
+ req.send_request(options)
806
+ end
807
+
808
+ # Confirms tracking of the device. This API call is the call that beings
809
+ # device tracking.
810
+ # @option params [required, String] :access_token
811
+ # The access token.
812
+ # @option params [required, String] :device_key
813
+ # The device key.
814
+ # @option params [Types::DeviceSecretVerifierConfigType] :device_secret_verifier_config
815
+ # The configuration of the device secret verifier.
816
+ # @option params [String] :device_name
817
+ # The device name.
818
+ # @return [Types::ConfirmDeviceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
819
+ #
820
+ # * {Types::ConfirmDeviceResponse#user_confirmation_necessary #UserConfirmationNecessary} => Boolean
821
+ #
822
+ # @example Request syntax with placeholder values
823
+ # resp = client.confirm_device({
824
+ # access_token: "TokenModelType", # required
825
+ # device_key: "DeviceKeyType", # required
826
+ # device_secret_verifier_config: {
827
+ # password_verifier: "StringType",
828
+ # salt: "StringType",
829
+ # },
830
+ # device_name: "DeviceNameType",
831
+ # })
832
+ #
833
+ # @example Response structure
834
+ # resp.user_confirmation_necessary #=> Boolean
835
+ # @overload confirm_device(params = {})
836
+ # @param [Hash] params ({})
837
+ def confirm_device(params = {}, options = {})
838
+ req = build_request(:confirm_device, params)
839
+ req.send_request(options)
840
+ end
841
+
842
+ # Allows a user to enter a code provided when they reset their password
843
+ # to update their password.
844
+ # @option params [required, String] :client_id
845
+ # The ID of the client associated with the user pool.
846
+ # @option params [String] :secret_hash
847
+ # A keyed-hash message authentication code (HMAC) calculated using the
848
+ # secret key of a user pool client and username plus the client ID in
849
+ # the message.
850
+ # @option params [required, String] :username
851
+ # The user name of the user for whom you want to enter a code to
852
+ # retrieve a forgotten password.
853
+ # @option params [required, String] :confirmation_code
854
+ # The confirmation code sent by a user's request to retrieve a
855
+ # forgotten password.
856
+ # @option params [required, String] :password
857
+ # The password sent by sent by a user's request to retrieve a forgotten
858
+ # password.
859
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
860
+ #
861
+ # @example Request syntax with placeholder values
862
+ # resp = client.confirm_forgot_password({
863
+ # client_id: "ClientIdType", # required
864
+ # secret_hash: "SecretHashType",
865
+ # username: "UsernameType", # required
866
+ # confirmation_code: "ConfirmationCodeType", # required
867
+ # password: "PasswordType", # required
868
+ # })
869
+ # @overload confirm_forgot_password(params = {})
870
+ # @param [Hash] params ({})
871
+ def confirm_forgot_password(params = {}, options = {})
872
+ req = build_request(:confirm_forgot_password, params)
873
+ req.send_request(options)
874
+ end
875
+
876
+ # Confirms registration of a user and handles the existing alias from a
877
+ # previous user.
878
+ # @option params [required, String] :client_id
879
+ # The ID of the client associated with the user pool.
880
+ # @option params [String] :secret_hash
881
+ # A keyed-hash message authentication code (HMAC) calculated using the
882
+ # secret key of a user pool client and username plus the client ID in
883
+ # the message.
884
+ # @option params [required, String] :username
885
+ # The user name of the user whose registration you wish to confirm.
886
+ # @option params [required, String] :confirmation_code
887
+ # The confirmation code sent by a user's request to confirm
888
+ # registration.
889
+ # @option params [Boolean] :force_alias_creation
890
+ # Boolean to be specified to force user confirmation irrespective of
891
+ # existing alias. By default set to False. If this parameter is set to
892
+ # True and the phone number/email used for sign up confirmation already
893
+ # exists as an alias with a different user, the API call will migrate
894
+ # the alias from the previous user to the newly created user being
895
+ # confirmed. If set to False, the API will throw an
896
+ # **AliasExistsException** error.
897
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
898
+ #
899
+ # @example Request syntax with placeholder values
900
+ # resp = client.confirm_sign_up({
901
+ # client_id: "ClientIdType", # required
902
+ # secret_hash: "SecretHashType",
903
+ # username: "UsernameType", # required
904
+ # confirmation_code: "ConfirmationCodeType", # required
905
+ # force_alias_creation: false,
906
+ # })
907
+ # @overload confirm_sign_up(params = {})
908
+ # @param [Hash] params ({})
909
+ def confirm_sign_up(params = {}, options = {})
910
+ req = build_request(:confirm_sign_up, params)
911
+ req.send_request(options)
912
+ end
913
+
914
+ # Creates the user import job.
915
+ # @option params [required, String] :job_name
916
+ # The job name for the user import job.
917
+ # @option params [required, String] :user_pool_id
918
+ # The user pool ID for the user pool that the users are being imported
919
+ # into.
920
+ # @option params [required, String] :cloud_watch_logs_role_arn
921
+ # The role ARN for the Amazon CloudWatch Logging role for the user
922
+ # import job.
923
+ # @return [Types::CreateUserImportJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
924
+ #
925
+ # * {Types::CreateUserImportJobResponse#user_import_job #UserImportJob} => Types::UserImportJobType
926
+ #
927
+ # @example Request syntax with placeholder values
928
+ # resp = client.create_user_import_job({
929
+ # job_name: "UserImportJobNameType", # required
930
+ # user_pool_id: "UserPoolIdType", # required
931
+ # cloud_watch_logs_role_arn: "ArnType", # required
932
+ # })
933
+ #
934
+ # @example Response structure
935
+ # resp.user_import_job.job_name #=> String
936
+ # resp.user_import_job.job_id #=> String
937
+ # resp.user_import_job.user_pool_id #=> String
938
+ # resp.user_import_job.pre_signed_url #=> String
939
+ # resp.user_import_job.creation_date #=> Time
940
+ # resp.user_import_job.start_date #=> Time
941
+ # resp.user_import_job.completion_date #=> Time
942
+ # resp.user_import_job.status #=> String, one of "Created", "Pending", "InProgress", "Stopping", "Expired", "Stopped", "Failed", "Succeeded"
943
+ # resp.user_import_job.cloud_watch_logs_role_arn #=> String
944
+ # resp.user_import_job.imported_users #=> Integer
945
+ # resp.user_import_job.skipped_users #=> Integer
946
+ # resp.user_import_job.failed_users #=> Integer
947
+ # resp.user_import_job.completion_message #=> String
948
+ # @overload create_user_import_job(params = {})
949
+ # @param [Hash] params ({})
950
+ def create_user_import_job(params = {}, options = {})
951
+ req = build_request(:create_user_import_job, params)
952
+ req.send_request(options)
953
+ end
954
+
955
+ # Creates a new Amazon Cognito user pool and sets the password policy
956
+ # for the pool.
957
+ # @option params [required, String] :pool_name
958
+ # A string used to name the user pool.
959
+ # @option params [Types::UserPoolPolicyType] :policies
960
+ # The policies associated with the new user pool.
961
+ # @option params [Types::LambdaConfigType] :lambda_config
962
+ # The Lambda trigger configuration information for the new user pool.
963
+ # @option params [Array<String>] :auto_verified_attributes
964
+ # The attributes to be auto-verified. Possible values: **email**,
965
+ # **phone\_number**.
966
+ # @option params [Array<String>] :alias_attributes
967
+ # Attributes supported as an alias for this user pool. Possible values:
968
+ # **phone\_number**, **email**, or **preferred\_username**.
969
+ # @option params [String] :sms_verification_message
970
+ # A string representing the SMS verification message.
971
+ # @option params [String] :email_verification_message
972
+ # A string representing the email verification message.
973
+ # @option params [String] :email_verification_subject
974
+ # A string representing the email verification subject.
975
+ # @option params [String] :sms_authentication_message
976
+ # A string representing the SMS authentication message.
977
+ # @option params [String] :mfa_configuration
978
+ # Specifies MFA configuration details.
979
+ # @option params [Types::DeviceConfigurationType] :device_configuration
980
+ # The device configuration.
981
+ # @option params [Types::EmailConfigurationType] :email_configuration
982
+ # The email configuration.
983
+ # @option params [Types::SmsConfigurationType] :sms_configuration
984
+ # The SMS configuration.
985
+ # @option params [Types::AdminCreateUserConfigType] :admin_create_user_config
986
+ # The configuration for AdminCreateUser requests.
987
+ # @option params [Array<Types::SchemaAttributeType>] :schema
988
+ # An array of schema attributes for the new user pool. These attributes
989
+ # can be standard or custom attributes.
990
+ # @return [Types::CreateUserPoolResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
991
+ #
992
+ # * {Types::CreateUserPoolResponse#user_pool #UserPool} => Types::UserPoolType
993
+ #
994
+ # @example Request syntax with placeholder values
995
+ # resp = client.create_user_pool({
996
+ # pool_name: "UserPoolNameType", # required
997
+ # policies: {
998
+ # password_policy: {
999
+ # minimum_length: 1,
1000
+ # require_uppercase: false,
1001
+ # require_lowercase: false,
1002
+ # require_numbers: false,
1003
+ # require_symbols: false,
1004
+ # },
1005
+ # },
1006
+ # lambda_config: {
1007
+ # pre_sign_up: "ArnType",
1008
+ # custom_message: "ArnType",
1009
+ # post_confirmation: "ArnType",
1010
+ # pre_authentication: "ArnType",
1011
+ # post_authentication: "ArnType",
1012
+ # define_auth_challenge: "ArnType",
1013
+ # create_auth_challenge: "ArnType",
1014
+ # verify_auth_challenge_response: "ArnType",
1015
+ # },
1016
+ # auto_verified_attributes: ["phone_number"], # accepts phone_number, email
1017
+ # alias_attributes: ["phone_number"], # accepts phone_number, email, preferred_username
1018
+ # sms_verification_message: "SmsVerificationMessageType",
1019
+ # email_verification_message: "EmailVerificationMessageType",
1020
+ # email_verification_subject: "EmailVerificationSubjectType",
1021
+ # sms_authentication_message: "SmsVerificationMessageType",
1022
+ # mfa_configuration: "OFF", # accepts OFF, ON, OPTIONAL
1023
+ # device_configuration: {
1024
+ # challenge_required_on_new_device: false,
1025
+ # device_only_remembered_on_user_prompt: false,
1026
+ # },
1027
+ # email_configuration: {
1028
+ # source_arn: "ArnType",
1029
+ # reply_to_email_address: "EmailAddressType",
1030
+ # },
1031
+ # sms_configuration: {
1032
+ # sns_caller_arn: "ArnType", # required
1033
+ # external_id: "StringType",
1034
+ # },
1035
+ # admin_create_user_config: {
1036
+ # allow_admin_create_user_only: false,
1037
+ # unused_account_validity_days: 1,
1038
+ # invite_message_template: {
1039
+ # sms_message: "SmsVerificationMessageType",
1040
+ # email_message: "EmailVerificationMessageType",
1041
+ # email_subject: "EmailVerificationSubjectType",
1042
+ # },
1043
+ # },
1044
+ # schema: [
1045
+ # {
1046
+ # name: "CustomAttributeNameType",
1047
+ # attribute_data_type: "String", # accepts String, Number, DateTime, Boolean
1048
+ # developer_only_attribute: false,
1049
+ # mutable: false,
1050
+ # required: false,
1051
+ # number_attribute_constraints: {
1052
+ # min_value: "StringType",
1053
+ # max_value: "StringType",
1054
+ # },
1055
+ # string_attribute_constraints: {
1056
+ # min_length: "StringType",
1057
+ # max_length: "StringType",
1058
+ # },
1059
+ # },
1060
+ # ],
1061
+ # })
1062
+ #
1063
+ # @example Response structure
1064
+ # resp.user_pool.id #=> String
1065
+ # resp.user_pool.name #=> String
1066
+ # resp.user_pool.policies.password_policy.minimum_length #=> Integer
1067
+ # resp.user_pool.policies.password_policy.require_uppercase #=> Boolean
1068
+ # resp.user_pool.policies.password_policy.require_lowercase #=> Boolean
1069
+ # resp.user_pool.policies.password_policy.require_numbers #=> Boolean
1070
+ # resp.user_pool.policies.password_policy.require_symbols #=> Boolean
1071
+ # resp.user_pool.lambda_config.pre_sign_up #=> String
1072
+ # resp.user_pool.lambda_config.custom_message #=> String
1073
+ # resp.user_pool.lambda_config.post_confirmation #=> String
1074
+ # resp.user_pool.lambda_config.pre_authentication #=> String
1075
+ # resp.user_pool.lambda_config.post_authentication #=> String
1076
+ # resp.user_pool.lambda_config.define_auth_challenge #=> String
1077
+ # resp.user_pool.lambda_config.create_auth_challenge #=> String
1078
+ # resp.user_pool.lambda_config.verify_auth_challenge_response #=> String
1079
+ # resp.user_pool.status #=> String, one of "Enabled", "Disabled"
1080
+ # resp.user_pool.last_modified_date #=> Time
1081
+ # resp.user_pool.creation_date #=> Time
1082
+ # resp.user_pool.schema_attributes #=> Array
1083
+ # resp.user_pool.schema_attributes[0].name #=> String
1084
+ # resp.user_pool.schema_attributes[0].attribute_data_type #=> String, one of "String", "Number", "DateTime", "Boolean"
1085
+ # resp.user_pool.schema_attributes[0].developer_only_attribute #=> Boolean
1086
+ # resp.user_pool.schema_attributes[0].mutable #=> Boolean
1087
+ # resp.user_pool.schema_attributes[0].required #=> Boolean
1088
+ # resp.user_pool.schema_attributes[0].number_attribute_constraints.min_value #=> String
1089
+ # resp.user_pool.schema_attributes[0].number_attribute_constraints.max_value #=> String
1090
+ # resp.user_pool.schema_attributes[0].string_attribute_constraints.min_length #=> String
1091
+ # resp.user_pool.schema_attributes[0].string_attribute_constraints.max_length #=> String
1092
+ # resp.user_pool.auto_verified_attributes #=> Array
1093
+ # resp.user_pool.auto_verified_attributes[0] #=> String, one of "phone_number", "email"
1094
+ # resp.user_pool.alias_attributes #=> Array
1095
+ # resp.user_pool.alias_attributes[0] #=> String, one of "phone_number", "email", "preferred_username"
1096
+ # resp.user_pool.sms_verification_message #=> String
1097
+ # resp.user_pool.email_verification_message #=> String
1098
+ # resp.user_pool.email_verification_subject #=> String
1099
+ # resp.user_pool.sms_authentication_message #=> String
1100
+ # resp.user_pool.mfa_configuration #=> String, one of "OFF", "ON", "OPTIONAL"
1101
+ # resp.user_pool.device_configuration.challenge_required_on_new_device #=> Boolean
1102
+ # resp.user_pool.device_configuration.device_only_remembered_on_user_prompt #=> Boolean
1103
+ # resp.user_pool.estimated_number_of_users #=> Integer
1104
+ # resp.user_pool.email_configuration.source_arn #=> String
1105
+ # resp.user_pool.email_configuration.reply_to_email_address #=> String
1106
+ # resp.user_pool.sms_configuration.sns_caller_arn #=> String
1107
+ # resp.user_pool.sms_configuration.external_id #=> String
1108
+ # resp.user_pool.sms_configuration_failure #=> String
1109
+ # resp.user_pool.email_configuration_failure #=> String
1110
+ # resp.user_pool.admin_create_user_config.allow_admin_create_user_only #=> Boolean
1111
+ # resp.user_pool.admin_create_user_config.unused_account_validity_days #=> Integer
1112
+ # resp.user_pool.admin_create_user_config.invite_message_template.sms_message #=> String
1113
+ # resp.user_pool.admin_create_user_config.invite_message_template.email_message #=> String
1114
+ # resp.user_pool.admin_create_user_config.invite_message_template.email_subject #=> String
1115
+ # @overload create_user_pool(params = {})
1116
+ # @param [Hash] params ({})
1117
+ def create_user_pool(params = {}, options = {})
1118
+ req = build_request(:create_user_pool, params)
1119
+ req.send_request(options)
1120
+ end
1121
+
1122
+ # Creates the user pool client.
1123
+ # @option params [required, String] :user_pool_id
1124
+ # The user pool ID for the user pool where you want to create a user
1125
+ # pool client.
1126
+ # @option params [required, String] :client_name
1127
+ # The client name for the user pool client you would like to create.
1128
+ # @option params [Boolean] :generate_secret
1129
+ # Boolean to specify whether you want to generate a secret for the user
1130
+ # pool client being created.
1131
+ # @option params [Integer] :refresh_token_validity
1132
+ # Refreshes the token validity.
1133
+ # @option params [Array<String>] :read_attributes
1134
+ # The read attributes.
1135
+ # @option params [Array<String>] :write_attributes
1136
+ # The write attributes.
1137
+ # @option params [Array<String>] :explicit_auth_flows
1138
+ # The explicit authentication flows.
1139
+ # @return [Types::CreateUserPoolClientResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1140
+ #
1141
+ # * {Types::CreateUserPoolClientResponse#user_pool_client #UserPoolClient} => Types::UserPoolClientType
1142
+ #
1143
+ # @example Request syntax with placeholder values
1144
+ # resp = client.create_user_pool_client({
1145
+ # user_pool_id: "UserPoolIdType", # required
1146
+ # client_name: "ClientNameType", # required
1147
+ # generate_secret: false,
1148
+ # refresh_token_validity: 1,
1149
+ # read_attributes: ["ClientPermissionType"],
1150
+ # write_attributes: ["ClientPermissionType"],
1151
+ # explicit_auth_flows: ["ADMIN_NO_SRP_AUTH"], # accepts ADMIN_NO_SRP_AUTH, CUSTOM_AUTH_FLOW_ONLY
1152
+ # })
1153
+ #
1154
+ # @example Response structure
1155
+ # resp.user_pool_client.user_pool_id #=> String
1156
+ # resp.user_pool_client.client_name #=> String
1157
+ # resp.user_pool_client.client_id #=> String
1158
+ # resp.user_pool_client.client_secret #=> String
1159
+ # resp.user_pool_client.last_modified_date #=> Time
1160
+ # resp.user_pool_client.creation_date #=> Time
1161
+ # resp.user_pool_client.refresh_token_validity #=> Integer
1162
+ # resp.user_pool_client.read_attributes #=> Array
1163
+ # resp.user_pool_client.read_attributes[0] #=> String
1164
+ # resp.user_pool_client.write_attributes #=> Array
1165
+ # resp.user_pool_client.write_attributes[0] #=> String
1166
+ # resp.user_pool_client.explicit_auth_flows #=> Array
1167
+ # resp.user_pool_client.explicit_auth_flows[0] #=> String, one of "ADMIN_NO_SRP_AUTH", "CUSTOM_AUTH_FLOW_ONLY"
1168
+ # @overload create_user_pool_client(params = {})
1169
+ # @param [Hash] params ({})
1170
+ def create_user_pool_client(params = {}, options = {})
1171
+ req = build_request(:create_user_pool_client, params)
1172
+ req.send_request(options)
1173
+ end
1174
+
1175
+ # Allows a user to delete one's self.
1176
+ # @option params [String] :access_token
1177
+ # The access token from a request to delete a user.
1178
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1179
+ #
1180
+ # @example Request syntax with placeholder values
1181
+ # resp = client.delete_user({
1182
+ # access_token: "TokenModelType",
1183
+ # })
1184
+ # @overload delete_user(params = {})
1185
+ # @param [Hash] params ({})
1186
+ def delete_user(params = {}, options = {})
1187
+ req = build_request(:delete_user, params)
1188
+ req.send_request(options)
1189
+ end
1190
+
1191
+ # Deletes the attributes for a user.
1192
+ # @option params [required, Array<String>] :user_attribute_names
1193
+ # An array of strings representing the user attribute names you wish to
1194
+ # delete.
1195
+ # @option params [String] :access_token
1196
+ # The access token used in the request to delete user attributes.
1197
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1198
+ #
1199
+ # @example Request syntax with placeholder values
1200
+ # resp = client.delete_user_attributes({
1201
+ # user_attribute_names: ["AttributeNameType"], # required
1202
+ # access_token: "TokenModelType",
1203
+ # })
1204
+ # @overload delete_user_attributes(params = {})
1205
+ # @param [Hash] params ({})
1206
+ def delete_user_attributes(params = {}, options = {})
1207
+ req = build_request(:delete_user_attributes, params)
1208
+ req.send_request(options)
1209
+ end
1210
+
1211
+ # Deletes the specified Amazon Cognito user pool.
1212
+ # @option params [required, String] :user_pool_id
1213
+ # The user pool ID for the user pool you want to delete.
1214
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1215
+ #
1216
+ # @example Request syntax with placeholder values
1217
+ # resp = client.delete_user_pool({
1218
+ # user_pool_id: "UserPoolIdType", # required
1219
+ # })
1220
+ # @overload delete_user_pool(params = {})
1221
+ # @param [Hash] params ({})
1222
+ def delete_user_pool(params = {}, options = {})
1223
+ req = build_request(:delete_user_pool, params)
1224
+ req.send_request(options)
1225
+ end
1226
+
1227
+ # Allows the developer to delete the user pool client.
1228
+ # @option params [required, String] :user_pool_id
1229
+ # The user pool ID for the user pool where you want to delete the
1230
+ # client.
1231
+ # @option params [required, String] :client_id
1232
+ # The ID of the client associated with the user pool.
1233
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1234
+ #
1235
+ # @example Request syntax with placeholder values
1236
+ # resp = client.delete_user_pool_client({
1237
+ # user_pool_id: "UserPoolIdType", # required
1238
+ # client_id: "ClientIdType", # required
1239
+ # })
1240
+ # @overload delete_user_pool_client(params = {})
1241
+ # @param [Hash] params ({})
1242
+ def delete_user_pool_client(params = {}, options = {})
1243
+ req = build_request(:delete_user_pool_client, params)
1244
+ req.send_request(options)
1245
+ end
1246
+
1247
+ # Describes the user import job.
1248
+ # @option params [required, String] :user_pool_id
1249
+ # The user pool ID for the user pool that the users are being imported
1250
+ # into.
1251
+ # @option params [required, String] :job_id
1252
+ # The job ID for the user import job.
1253
+ # @return [Types::DescribeUserImportJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1254
+ #
1255
+ # * {Types::DescribeUserImportJobResponse#user_import_job #UserImportJob} => Types::UserImportJobType
1256
+ #
1257
+ # @example Request syntax with placeholder values
1258
+ # resp = client.describe_user_import_job({
1259
+ # user_pool_id: "UserPoolIdType", # required
1260
+ # job_id: "UserImportJobIdType", # required
1261
+ # })
1262
+ #
1263
+ # @example Response structure
1264
+ # resp.user_import_job.job_name #=> String
1265
+ # resp.user_import_job.job_id #=> String
1266
+ # resp.user_import_job.user_pool_id #=> String
1267
+ # resp.user_import_job.pre_signed_url #=> String
1268
+ # resp.user_import_job.creation_date #=> Time
1269
+ # resp.user_import_job.start_date #=> Time
1270
+ # resp.user_import_job.completion_date #=> Time
1271
+ # resp.user_import_job.status #=> String, one of "Created", "Pending", "InProgress", "Stopping", "Expired", "Stopped", "Failed", "Succeeded"
1272
+ # resp.user_import_job.cloud_watch_logs_role_arn #=> String
1273
+ # resp.user_import_job.imported_users #=> Integer
1274
+ # resp.user_import_job.skipped_users #=> Integer
1275
+ # resp.user_import_job.failed_users #=> Integer
1276
+ # resp.user_import_job.completion_message #=> String
1277
+ # @overload describe_user_import_job(params = {})
1278
+ # @param [Hash] params ({})
1279
+ def describe_user_import_job(params = {}, options = {})
1280
+ req = build_request(:describe_user_import_job, params)
1281
+ req.send_request(options)
1282
+ end
1283
+
1284
+ # Returns the configuration information and metadata of the specified
1285
+ # user pool.
1286
+ # @option params [required, String] :user_pool_id
1287
+ # The user pool ID for the user pool you want to describe.
1288
+ # @return [Types::DescribeUserPoolResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1289
+ #
1290
+ # * {Types::DescribeUserPoolResponse#user_pool #UserPool} => Types::UserPoolType
1291
+ #
1292
+ # @example Request syntax with placeholder values
1293
+ # resp = client.describe_user_pool({
1294
+ # user_pool_id: "UserPoolIdType", # required
1295
+ # })
1296
+ #
1297
+ # @example Response structure
1298
+ # resp.user_pool.id #=> String
1299
+ # resp.user_pool.name #=> String
1300
+ # resp.user_pool.policies.password_policy.minimum_length #=> Integer
1301
+ # resp.user_pool.policies.password_policy.require_uppercase #=> Boolean
1302
+ # resp.user_pool.policies.password_policy.require_lowercase #=> Boolean
1303
+ # resp.user_pool.policies.password_policy.require_numbers #=> Boolean
1304
+ # resp.user_pool.policies.password_policy.require_symbols #=> Boolean
1305
+ # resp.user_pool.lambda_config.pre_sign_up #=> String
1306
+ # resp.user_pool.lambda_config.custom_message #=> String
1307
+ # resp.user_pool.lambda_config.post_confirmation #=> String
1308
+ # resp.user_pool.lambda_config.pre_authentication #=> String
1309
+ # resp.user_pool.lambda_config.post_authentication #=> String
1310
+ # resp.user_pool.lambda_config.define_auth_challenge #=> String
1311
+ # resp.user_pool.lambda_config.create_auth_challenge #=> String
1312
+ # resp.user_pool.lambda_config.verify_auth_challenge_response #=> String
1313
+ # resp.user_pool.status #=> String, one of "Enabled", "Disabled"
1314
+ # resp.user_pool.last_modified_date #=> Time
1315
+ # resp.user_pool.creation_date #=> Time
1316
+ # resp.user_pool.schema_attributes #=> Array
1317
+ # resp.user_pool.schema_attributes[0].name #=> String
1318
+ # resp.user_pool.schema_attributes[0].attribute_data_type #=> String, one of "String", "Number", "DateTime", "Boolean"
1319
+ # resp.user_pool.schema_attributes[0].developer_only_attribute #=> Boolean
1320
+ # resp.user_pool.schema_attributes[0].mutable #=> Boolean
1321
+ # resp.user_pool.schema_attributes[0].required #=> Boolean
1322
+ # resp.user_pool.schema_attributes[0].number_attribute_constraints.min_value #=> String
1323
+ # resp.user_pool.schema_attributes[0].number_attribute_constraints.max_value #=> String
1324
+ # resp.user_pool.schema_attributes[0].string_attribute_constraints.min_length #=> String
1325
+ # resp.user_pool.schema_attributes[0].string_attribute_constraints.max_length #=> String
1326
+ # resp.user_pool.auto_verified_attributes #=> Array
1327
+ # resp.user_pool.auto_verified_attributes[0] #=> String, one of "phone_number", "email"
1328
+ # resp.user_pool.alias_attributes #=> Array
1329
+ # resp.user_pool.alias_attributes[0] #=> String, one of "phone_number", "email", "preferred_username"
1330
+ # resp.user_pool.sms_verification_message #=> String
1331
+ # resp.user_pool.email_verification_message #=> String
1332
+ # resp.user_pool.email_verification_subject #=> String
1333
+ # resp.user_pool.sms_authentication_message #=> String
1334
+ # resp.user_pool.mfa_configuration #=> String, one of "OFF", "ON", "OPTIONAL"
1335
+ # resp.user_pool.device_configuration.challenge_required_on_new_device #=> Boolean
1336
+ # resp.user_pool.device_configuration.device_only_remembered_on_user_prompt #=> Boolean
1337
+ # resp.user_pool.estimated_number_of_users #=> Integer
1338
+ # resp.user_pool.email_configuration.source_arn #=> String
1339
+ # resp.user_pool.email_configuration.reply_to_email_address #=> String
1340
+ # resp.user_pool.sms_configuration.sns_caller_arn #=> String
1341
+ # resp.user_pool.sms_configuration.external_id #=> String
1342
+ # resp.user_pool.sms_configuration_failure #=> String
1343
+ # resp.user_pool.email_configuration_failure #=> String
1344
+ # resp.user_pool.admin_create_user_config.allow_admin_create_user_only #=> Boolean
1345
+ # resp.user_pool.admin_create_user_config.unused_account_validity_days #=> Integer
1346
+ # resp.user_pool.admin_create_user_config.invite_message_template.sms_message #=> String
1347
+ # resp.user_pool.admin_create_user_config.invite_message_template.email_message #=> String
1348
+ # resp.user_pool.admin_create_user_config.invite_message_template.email_subject #=> String
1349
+ # @overload describe_user_pool(params = {})
1350
+ # @param [Hash] params ({})
1351
+ def describe_user_pool(params = {}, options = {})
1352
+ req = build_request(:describe_user_pool, params)
1353
+ req.send_request(options)
1354
+ end
1355
+
1356
+ # Client method for returning the configuration information and metadata
1357
+ # of the specified user pool client.
1358
+ # @option params [required, String] :user_pool_id
1359
+ # The user pool ID for the user pool you want to describe.
1360
+ # @option params [required, String] :client_id
1361
+ # The ID of the client associated with the user pool.
1362
+ # @return [Types::DescribeUserPoolClientResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1363
+ #
1364
+ # * {Types::DescribeUserPoolClientResponse#user_pool_client #UserPoolClient} => Types::UserPoolClientType
1365
+ #
1366
+ # @example Request syntax with placeholder values
1367
+ # resp = client.describe_user_pool_client({
1368
+ # user_pool_id: "UserPoolIdType", # required
1369
+ # client_id: "ClientIdType", # required
1370
+ # })
1371
+ #
1372
+ # @example Response structure
1373
+ # resp.user_pool_client.user_pool_id #=> String
1374
+ # resp.user_pool_client.client_name #=> String
1375
+ # resp.user_pool_client.client_id #=> String
1376
+ # resp.user_pool_client.client_secret #=> String
1377
+ # resp.user_pool_client.last_modified_date #=> Time
1378
+ # resp.user_pool_client.creation_date #=> Time
1379
+ # resp.user_pool_client.refresh_token_validity #=> Integer
1380
+ # resp.user_pool_client.read_attributes #=> Array
1381
+ # resp.user_pool_client.read_attributes[0] #=> String
1382
+ # resp.user_pool_client.write_attributes #=> Array
1383
+ # resp.user_pool_client.write_attributes[0] #=> String
1384
+ # resp.user_pool_client.explicit_auth_flows #=> Array
1385
+ # resp.user_pool_client.explicit_auth_flows[0] #=> String, one of "ADMIN_NO_SRP_AUTH", "CUSTOM_AUTH_FLOW_ONLY"
1386
+ # @overload describe_user_pool_client(params = {})
1387
+ # @param [Hash] params ({})
1388
+ def describe_user_pool_client(params = {}, options = {})
1389
+ req = build_request(:describe_user_pool_client, params)
1390
+ req.send_request(options)
1391
+ end
1392
+
1393
+ # Forgets the specified device.
1394
+ # @option params [String] :access_token
1395
+ # The access token for the forgotten device request.
1396
+ # @option params [required, String] :device_key
1397
+ # The device key.
1398
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1399
+ #
1400
+ # @example Request syntax with placeholder values
1401
+ # resp = client.forget_device({
1402
+ # access_token: "TokenModelType",
1403
+ # device_key: "DeviceKeyType", # required
1404
+ # })
1405
+ # @overload forget_device(params = {})
1406
+ # @param [Hash] params ({})
1407
+ def forget_device(params = {}, options = {})
1408
+ req = build_request(:forget_device, params)
1409
+ req.send_request(options)
1410
+ end
1411
+
1412
+ # Retrieves the password for the specified client ID or username.
1413
+ # @option params [required, String] :client_id
1414
+ # The ID of the client associated with the user pool.
1415
+ # @option params [String] :secret_hash
1416
+ # A keyed-hash message authentication code (HMAC) calculated using the
1417
+ # secret key of a user pool client and username plus the client ID in
1418
+ # the message.
1419
+ # @option params [required, String] :username
1420
+ # The user name of the user for whom you want to enter a code to reset a
1421
+ # forgotten password.
1422
+ # @return [Types::ForgotPasswordResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1423
+ #
1424
+ # * {Types::ForgotPasswordResponse#code_delivery_details #CodeDeliveryDetails} => Types::CodeDeliveryDetailsType
1425
+ #
1426
+ # @example Request syntax with placeholder values
1427
+ # resp = client.forgot_password({
1428
+ # client_id: "ClientIdType", # required
1429
+ # secret_hash: "SecretHashType",
1430
+ # username: "UsernameType", # required
1431
+ # })
1432
+ #
1433
+ # @example Response structure
1434
+ # resp.code_delivery_details.destination #=> String
1435
+ # resp.code_delivery_details.delivery_medium #=> String, one of "SMS", "EMAIL"
1436
+ # resp.code_delivery_details.attribute_name #=> String
1437
+ # @overload forgot_password(params = {})
1438
+ # @param [Hash] params ({})
1439
+ def forgot_password(params = {}, options = {})
1440
+ req = build_request(:forgot_password, params)
1441
+ req.send_request(options)
1442
+ end
1443
+
1444
+ # Gets the header information for the .csv file to be used as input for
1445
+ # the user import job.
1446
+ # @option params [required, String] :user_pool_id
1447
+ # The user pool ID for the user pool that the users are to be imported
1448
+ # into.
1449
+ # @return [Types::GetCSVHeaderResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1450
+ #
1451
+ # * {Types::GetCSVHeaderResponse#user_pool_id #UserPoolId} => String
1452
+ # * {Types::GetCSVHeaderResponse#csv_header #CSVHeader} => Array&lt;String&gt;
1453
+ #
1454
+ # @example Request syntax with placeholder values
1455
+ # resp = client.get_csv_header({
1456
+ # user_pool_id: "UserPoolIdType", # required
1457
+ # })
1458
+ #
1459
+ # @example Response structure
1460
+ # resp.user_pool_id #=> String
1461
+ # resp.csv_header #=> Array
1462
+ # resp.csv_header[0] #=> String
1463
+ # @overload get_csv_header(params = {})
1464
+ # @param [Hash] params ({})
1465
+ def get_csv_header(params = {}, options = {})
1466
+ req = build_request(:get_csv_header, params)
1467
+ req.send_request(options)
1468
+ end
1469
+
1470
+ # Gets the device.
1471
+ # @option params [required, String] :device_key
1472
+ # The device key.
1473
+ # @option params [String] :access_token
1474
+ # The access token.
1475
+ # @return [Types::GetDeviceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1476
+ #
1477
+ # * {Types::GetDeviceResponse#device #Device} => Types::DeviceType
1478
+ #
1479
+ # @example Request syntax with placeholder values
1480
+ # resp = client.get_device({
1481
+ # device_key: "DeviceKeyType", # required
1482
+ # access_token: "TokenModelType",
1483
+ # })
1484
+ #
1485
+ # @example Response structure
1486
+ # resp.device.device_key #=> String
1487
+ # resp.device.device_attributes #=> Array
1488
+ # resp.device.device_attributes[0].name #=> String
1489
+ # resp.device.device_attributes[0].value #=> String
1490
+ # resp.device.device_create_date #=> Time
1491
+ # resp.device.device_last_modified_date #=> Time
1492
+ # resp.device.device_last_authenticated_date #=> Time
1493
+ # @overload get_device(params = {})
1494
+ # @param [Hash] params ({})
1495
+ def get_device(params = {}, options = {})
1496
+ req = build_request(:get_device, params)
1497
+ req.send_request(options)
1498
+ end
1499
+
1500
+ # Gets the user attributes and metadata for a user.
1501
+ # @option params [String] :access_token
1502
+ # The access token returned by the server response to get information
1503
+ # about the user.
1504
+ # @return [Types::GetUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1505
+ #
1506
+ # * {Types::GetUserResponse#username #Username} => String
1507
+ # * {Types::GetUserResponse#user_attributes #UserAttributes} => Array&lt;Types::AttributeType&gt;
1508
+ # * {Types::GetUserResponse#mfa_options #MFAOptions} => Array&lt;Types::MFAOptionType&gt;
1509
+ #
1510
+ # @example Request syntax with placeholder values
1511
+ # resp = client.get_user({
1512
+ # access_token: "TokenModelType",
1513
+ # })
1514
+ #
1515
+ # @example Response structure
1516
+ # resp.username #=> String
1517
+ # resp.user_attributes #=> Array
1518
+ # resp.user_attributes[0].name #=> String
1519
+ # resp.user_attributes[0].value #=> String
1520
+ # resp.mfa_options #=> Array
1521
+ # resp.mfa_options[0].delivery_medium #=> String, one of "SMS", "EMAIL"
1522
+ # resp.mfa_options[0].attribute_name #=> String
1523
+ # @overload get_user(params = {})
1524
+ # @param [Hash] params ({})
1525
+ def get_user(params = {}, options = {})
1526
+ req = build_request(:get_user, params)
1527
+ req.send_request(options)
1528
+ end
1529
+
1530
+ # Gets the user attribute verification code for the specified attribute
1531
+ # name.
1532
+ # @option params [String] :access_token
1533
+ # The access token returned by the server response to get the user
1534
+ # attribute verification code.
1535
+ # @option params [required, String] :attribute_name
1536
+ # The attribute name returned by the server response to get the user
1537
+ # attribute verification code.
1538
+ # @return [Types::GetUserAttributeVerificationCodeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1539
+ #
1540
+ # * {Types::GetUserAttributeVerificationCodeResponse#code_delivery_details #CodeDeliveryDetails} => Types::CodeDeliveryDetailsType
1541
+ #
1542
+ # @example Request syntax with placeholder values
1543
+ # resp = client.get_user_attribute_verification_code({
1544
+ # access_token: "TokenModelType",
1545
+ # attribute_name: "AttributeNameType", # required
1546
+ # })
1547
+ #
1548
+ # @example Response structure
1549
+ # resp.code_delivery_details.destination #=> String
1550
+ # resp.code_delivery_details.delivery_medium #=> String, one of "SMS", "EMAIL"
1551
+ # resp.code_delivery_details.attribute_name #=> String
1552
+ # @overload get_user_attribute_verification_code(params = {})
1553
+ # @param [Hash] params ({})
1554
+ def get_user_attribute_verification_code(params = {}, options = {})
1555
+ req = build_request(:get_user_attribute_verification_code, params)
1556
+ req.send_request(options)
1557
+ end
1558
+
1559
+ # Signs out users from all devices.
1560
+ # @option params [String] :access_token
1561
+ # The access token.
1562
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1563
+ #
1564
+ # @example Request syntax with placeholder values
1565
+ # resp = client.global_sign_out({
1566
+ # access_token: "TokenModelType",
1567
+ # })
1568
+ # @overload global_sign_out(params = {})
1569
+ # @param [Hash] params ({})
1570
+ def global_sign_out(params = {}, options = {})
1571
+ req = build_request(:global_sign_out, params)
1572
+ req.send_request(options)
1573
+ end
1574
+
1575
+ # Initiates the authentication flow.
1576
+ # @option params [required, String] :auth_flow
1577
+ # The authentication flow.
1578
+ # @option params [Hash<String,String>] :auth_parameters
1579
+ # The authentication parameters.
1580
+ # @option params [Hash<String,String>] :client_metadata
1581
+ # The client app's metadata.
1582
+ # @option params [required, String] :client_id
1583
+ # The client ID.
1584
+ # @return [Types::InitiateAuthResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1585
+ #
1586
+ # * {Types::InitiateAuthResponse#challenge_name #ChallengeName} => String
1587
+ # * {Types::InitiateAuthResponse#session #Session} => String
1588
+ # * {Types::InitiateAuthResponse#challenge_parameters #ChallengeParameters} => Hash&lt;String,String&gt;
1589
+ # * {Types::InitiateAuthResponse#authentication_result #AuthenticationResult} => Types::AuthenticationResultType
1590
+ #
1591
+ # @example Request syntax with placeholder values
1592
+ # resp = client.initiate_auth({
1593
+ # auth_flow: "USER_SRP_AUTH", # required, accepts USER_SRP_AUTH, REFRESH_TOKEN_AUTH, REFRESH_TOKEN, CUSTOM_AUTH, ADMIN_NO_SRP_AUTH
1594
+ # auth_parameters: {
1595
+ # "StringType" => "StringType",
1596
+ # },
1597
+ # client_metadata: {
1598
+ # "StringType" => "StringType",
1599
+ # },
1600
+ # client_id: "ClientIdType", # required
1601
+ # })
1602
+ #
1603
+ # @example Response structure
1604
+ # resp.challenge_name #=> String, one of "SMS_MFA", "PASSWORD_VERIFIER", "CUSTOM_CHALLENGE", "DEVICE_SRP_AUTH", "DEVICE_PASSWORD_VERIFIER", "ADMIN_NO_SRP_AUTH", "NEW_PASSWORD_REQUIRED"
1605
+ # resp.session #=> String
1606
+ # resp.challenge_parameters #=> Hash
1607
+ # resp.challenge_parameters["StringType"] #=> String
1608
+ # resp.authentication_result.access_token #=> String
1609
+ # resp.authentication_result.expires_in #=> Integer
1610
+ # resp.authentication_result.token_type #=> String
1611
+ # resp.authentication_result.refresh_token #=> String
1612
+ # resp.authentication_result.id_token #=> String
1613
+ # resp.authentication_result.new_device_metadata.device_key #=> String
1614
+ # resp.authentication_result.new_device_metadata.device_group_key #=> String
1615
+ # @overload initiate_auth(params = {})
1616
+ # @param [Hash] params ({})
1617
+ def initiate_auth(params = {}, options = {})
1618
+ req = build_request(:initiate_auth, params)
1619
+ req.send_request(options)
1620
+ end
1621
+
1622
+ # Lists the devices.
1623
+ # @option params [required, String] :access_token
1624
+ # The access tokens for the request to list devices.
1625
+ # @option params [Integer] :limit
1626
+ # The limit of the device request.
1627
+ # @option params [String] :pagination_token
1628
+ # The pagination token for the list request.
1629
+ # @return [Types::ListDevicesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1630
+ #
1631
+ # * {Types::ListDevicesResponse#devices #Devices} => Array&lt;Types::DeviceType&gt;
1632
+ # * {Types::ListDevicesResponse#pagination_token #PaginationToken} => String
1633
+ #
1634
+ # @example Request syntax with placeholder values
1635
+ # resp = client.list_devices({
1636
+ # access_token: "TokenModelType", # required
1637
+ # limit: 1,
1638
+ # pagination_token: "SearchPaginationTokenType",
1639
+ # })
1640
+ #
1641
+ # @example Response structure
1642
+ # resp.devices #=> Array
1643
+ # resp.devices[0].device_key #=> String
1644
+ # resp.devices[0].device_attributes #=> Array
1645
+ # resp.devices[0].device_attributes[0].name #=> String
1646
+ # resp.devices[0].device_attributes[0].value #=> String
1647
+ # resp.devices[0].device_create_date #=> Time
1648
+ # resp.devices[0].device_last_modified_date #=> Time
1649
+ # resp.devices[0].device_last_authenticated_date #=> Time
1650
+ # resp.pagination_token #=> String
1651
+ # @overload list_devices(params = {})
1652
+ # @param [Hash] params ({})
1653
+ def list_devices(params = {}, options = {})
1654
+ req = build_request(:list_devices, params)
1655
+ req.send_request(options)
1656
+ end
1657
+
1658
+ # Lists the user import jobs.
1659
+ # @option params [required, String] :user_pool_id
1660
+ # The user pool ID for the user pool that the users are being imported
1661
+ # into.
1662
+ # @option params [required, Integer] :max_results
1663
+ # The maximum number of import jobs you want the request to return.
1664
+ # @option params [String] :pagination_token
1665
+ # An identifier that was returned from the previous call to
1666
+ # ListUserImportJobs, which can be used to return the next set of import
1667
+ # jobs in the list.
1668
+ # @return [Types::ListUserImportJobsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1669
+ #
1670
+ # * {Types::ListUserImportJobsResponse#user_import_jobs #UserImportJobs} => Array&lt;Types::UserImportJobType&gt;
1671
+ # * {Types::ListUserImportJobsResponse#pagination_token #PaginationToken} => String
1672
+ #
1673
+ # @example Request syntax with placeholder values
1674
+ # resp = client.list_user_import_jobs({
1675
+ # user_pool_id: "UserPoolIdType", # required
1676
+ # max_results: 1, # required
1677
+ # pagination_token: "PaginationKeyType",
1678
+ # })
1679
+ #
1680
+ # @example Response structure
1681
+ # resp.user_import_jobs #=> Array
1682
+ # resp.user_import_jobs[0].job_name #=> String
1683
+ # resp.user_import_jobs[0].job_id #=> String
1684
+ # resp.user_import_jobs[0].user_pool_id #=> String
1685
+ # resp.user_import_jobs[0].pre_signed_url #=> String
1686
+ # resp.user_import_jobs[0].creation_date #=> Time
1687
+ # resp.user_import_jobs[0].start_date #=> Time
1688
+ # resp.user_import_jobs[0].completion_date #=> Time
1689
+ # resp.user_import_jobs[0].status #=> String, one of "Created", "Pending", "InProgress", "Stopping", "Expired", "Stopped", "Failed", "Succeeded"
1690
+ # resp.user_import_jobs[0].cloud_watch_logs_role_arn #=> String
1691
+ # resp.user_import_jobs[0].imported_users #=> Integer
1692
+ # resp.user_import_jobs[0].skipped_users #=> Integer
1693
+ # resp.user_import_jobs[0].failed_users #=> Integer
1694
+ # resp.user_import_jobs[0].completion_message #=> String
1695
+ # resp.pagination_token #=> String
1696
+ # @overload list_user_import_jobs(params = {})
1697
+ # @param [Hash] params ({})
1698
+ def list_user_import_jobs(params = {}, options = {})
1699
+ req = build_request(:list_user_import_jobs, params)
1700
+ req.send_request(options)
1701
+ end
1702
+
1703
+ # Lists the clients that have been created for the specified user pool.
1704
+ # @option params [required, String] :user_pool_id
1705
+ # The user pool ID for the user pool where you want to list user pool
1706
+ # clients.
1707
+ # @option params [Integer] :max_results
1708
+ # The maximum number of results you want the request to return when
1709
+ # listing the user pool clients.
1710
+ # @option params [String] :next_token
1711
+ # An identifier that was returned from the previous call to this
1712
+ # operation, which can be used to return the next set of items in the
1713
+ # list.
1714
+ # @return [Types::ListUserPoolClientsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1715
+ #
1716
+ # * {Types::ListUserPoolClientsResponse#user_pool_clients #UserPoolClients} => Array&lt;Types::UserPoolClientDescription&gt;
1717
+ # * {Types::ListUserPoolClientsResponse#next_token #NextToken} => String
1718
+ #
1719
+ # @example Request syntax with placeholder values
1720
+ # resp = client.list_user_pool_clients({
1721
+ # user_pool_id: "UserPoolIdType", # required
1722
+ # max_results: 1,
1723
+ # next_token: "PaginationKey",
1724
+ # })
1725
+ #
1726
+ # @example Response structure
1727
+ # resp.user_pool_clients #=> Array
1728
+ # resp.user_pool_clients[0].client_id #=> String
1729
+ # resp.user_pool_clients[0].user_pool_id #=> String
1730
+ # resp.user_pool_clients[0].client_name #=> String
1731
+ # resp.next_token #=> String
1732
+ # @overload list_user_pool_clients(params = {})
1733
+ # @param [Hash] params ({})
1734
+ def list_user_pool_clients(params = {}, options = {})
1735
+ req = build_request(:list_user_pool_clients, params)
1736
+ req.send_request(options)
1737
+ end
1738
+
1739
+ # Lists the user pools associated with an AWS account.
1740
+ # @option params [String] :next_token
1741
+ # An identifier that was returned from the previous call to this
1742
+ # operation, which can be used to return the next set of items in the
1743
+ # list.
1744
+ # @option params [required, Integer] :max_results
1745
+ # The maximum number of results you want the request to return when
1746
+ # listing the user pools.
1747
+ # @return [Types::ListUserPoolsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1748
+ #
1749
+ # * {Types::ListUserPoolsResponse#user_pools #UserPools} => Array&lt;Types::UserPoolDescriptionType&gt;
1750
+ # * {Types::ListUserPoolsResponse#next_token #NextToken} => String
1751
+ #
1752
+ # @example Request syntax with placeholder values
1753
+ # resp = client.list_user_pools({
1754
+ # next_token: "PaginationKeyType",
1755
+ # max_results: 1, # required
1756
+ # })
1757
+ #
1758
+ # @example Response structure
1759
+ # resp.user_pools #=> Array
1760
+ # resp.user_pools[0].id #=> String
1761
+ # resp.user_pools[0].name #=> String
1762
+ # resp.user_pools[0].lambda_config.pre_sign_up #=> String
1763
+ # resp.user_pools[0].lambda_config.custom_message #=> String
1764
+ # resp.user_pools[0].lambda_config.post_confirmation #=> String
1765
+ # resp.user_pools[0].lambda_config.pre_authentication #=> String
1766
+ # resp.user_pools[0].lambda_config.post_authentication #=> String
1767
+ # resp.user_pools[0].lambda_config.define_auth_challenge #=> String
1768
+ # resp.user_pools[0].lambda_config.create_auth_challenge #=> String
1769
+ # resp.user_pools[0].lambda_config.verify_auth_challenge_response #=> String
1770
+ # resp.user_pools[0].status #=> String, one of "Enabled", "Disabled"
1771
+ # resp.user_pools[0].last_modified_date #=> Time
1772
+ # resp.user_pools[0].creation_date #=> Time
1773
+ # resp.next_token #=> String
1774
+ # @overload list_user_pools(params = {})
1775
+ # @param [Hash] params ({})
1776
+ def list_user_pools(params = {}, options = {})
1777
+ req = build_request(:list_user_pools, params)
1778
+ req.send_request(options)
1779
+ end
1780
+
1781
+ # Lists the users in the Amazon Cognito user pool.
1782
+ # @option params [required, String] :user_pool_id
1783
+ # The user pool ID for which you want to list users.
1784
+ # @option params [Array<String>] :attributes_to_get
1785
+ # The attributes to get from the request to list users.
1786
+ # @option params [Integer] :limit
1787
+ # The limit of the request to list users.
1788
+ # @option params [String] :pagination_token
1789
+ # An identifier that was returned from the previous call to this
1790
+ # operation, which can be used to return the next set of items in the
1791
+ # list.
1792
+ # @option params [String] :filter
1793
+ # The filter for the list users request.
1794
+ # @return [Types::ListUsersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1795
+ #
1796
+ # * {Types::ListUsersResponse#users #Users} => Array&lt;Types::UserType&gt;
1797
+ # * {Types::ListUsersResponse#pagination_token #PaginationToken} => String
1798
+ #
1799
+ # @example Request syntax with placeholder values
1800
+ # resp = client.list_users({
1801
+ # user_pool_id: "UserPoolIdType", # required
1802
+ # attributes_to_get: ["AttributeNameType"],
1803
+ # limit: 1,
1804
+ # pagination_token: "SearchPaginationTokenType",
1805
+ # filter: "UserFilterType",
1806
+ # })
1807
+ #
1808
+ # @example Response structure
1809
+ # resp.users #=> Array
1810
+ # resp.users[0].username #=> String
1811
+ # resp.users[0].attributes #=> Array
1812
+ # resp.users[0].attributes[0].name #=> String
1813
+ # resp.users[0].attributes[0].value #=> String
1814
+ # resp.users[0].user_create_date #=> Time
1815
+ # resp.users[0].user_last_modified_date #=> Time
1816
+ # resp.users[0].enabled #=> Boolean
1817
+ # resp.users[0].user_status #=> String, one of "UNCONFIRMED", "CONFIRMED", "ARCHIVED", "COMPROMISED", "UNKNOWN", "RESET_REQUIRED", "FORCE_CHANGE_PASSWORD"
1818
+ # resp.users[0].mfa_options #=> Array
1819
+ # resp.users[0].mfa_options[0].delivery_medium #=> String, one of "SMS", "EMAIL"
1820
+ # resp.users[0].mfa_options[0].attribute_name #=> String
1821
+ # resp.pagination_token #=> String
1822
+ # @overload list_users(params = {})
1823
+ # @param [Hash] params ({})
1824
+ def list_users(params = {}, options = {})
1825
+ req = build_request(:list_users, params)
1826
+ req.send_request(options)
1827
+ end
1828
+
1829
+ # Resends the confirmation (for confirmation of registration) to a
1830
+ # specific user in the user pool.
1831
+ # @option params [required, String] :client_id
1832
+ # The ID of the client associated with the user pool.
1833
+ # @option params [String] :secret_hash
1834
+ # A keyed-hash message authentication code (HMAC) calculated using the
1835
+ # secret key of a user pool client and username plus the client ID in
1836
+ # the message.
1837
+ # @option params [required, String] :username
1838
+ # The user name of the user to whom you wish to resend a confirmation
1839
+ # code.
1840
+ # @return [Types::ResendConfirmationCodeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1841
+ #
1842
+ # * {Types::ResendConfirmationCodeResponse#code_delivery_details #CodeDeliveryDetails} => Types::CodeDeliveryDetailsType
1843
+ #
1844
+ # @example Request syntax with placeholder values
1845
+ # resp = client.resend_confirmation_code({
1846
+ # client_id: "ClientIdType", # required
1847
+ # secret_hash: "SecretHashType",
1848
+ # username: "UsernameType", # required
1849
+ # })
1850
+ #
1851
+ # @example Response structure
1852
+ # resp.code_delivery_details.destination #=> String
1853
+ # resp.code_delivery_details.delivery_medium #=> String, one of "SMS", "EMAIL"
1854
+ # resp.code_delivery_details.attribute_name #=> String
1855
+ # @overload resend_confirmation_code(params = {})
1856
+ # @param [Hash] params ({})
1857
+ def resend_confirmation_code(params = {}, options = {})
1858
+ req = build_request(:resend_confirmation_code, params)
1859
+ req.send_request(options)
1860
+ end
1861
+
1862
+ # Responds to the authentication challenge.
1863
+ # @option params [required, String] :client_id
1864
+ # The client ID.
1865
+ # @option params [required, String] :challenge_name
1866
+ # The name of the challenge.
1867
+ # @option params [String] :session
1868
+ # The session.
1869
+ # @option params [Hash<String,String>] :challenge_responses
1870
+ # The responses to the authentication challenge.
1871
+ # @return [Types::RespondToAuthChallengeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1872
+ #
1873
+ # * {Types::RespondToAuthChallengeResponse#challenge_name #ChallengeName} => String
1874
+ # * {Types::RespondToAuthChallengeResponse#session #Session} => String
1875
+ # * {Types::RespondToAuthChallengeResponse#challenge_parameters #ChallengeParameters} => Hash&lt;String,String&gt;
1876
+ # * {Types::RespondToAuthChallengeResponse#authentication_result #AuthenticationResult} => Types::AuthenticationResultType
1877
+ #
1878
+ # @example Request syntax with placeholder values
1879
+ # resp = client.respond_to_auth_challenge({
1880
+ # client_id: "ClientIdType", # required
1881
+ # 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
1882
+ # session: "SessionType",
1883
+ # challenge_responses: {
1884
+ # "StringType" => "StringType",
1885
+ # },
1886
+ # })
1887
+ #
1888
+ # @example Response structure
1889
+ # resp.challenge_name #=> String, one of "SMS_MFA", "PASSWORD_VERIFIER", "CUSTOM_CHALLENGE", "DEVICE_SRP_AUTH", "DEVICE_PASSWORD_VERIFIER", "ADMIN_NO_SRP_AUTH", "NEW_PASSWORD_REQUIRED"
1890
+ # resp.session #=> String
1891
+ # resp.challenge_parameters #=> Hash
1892
+ # resp.challenge_parameters["StringType"] #=> String
1893
+ # resp.authentication_result.access_token #=> String
1894
+ # resp.authentication_result.expires_in #=> Integer
1895
+ # resp.authentication_result.token_type #=> String
1896
+ # resp.authentication_result.refresh_token #=> String
1897
+ # resp.authentication_result.id_token #=> String
1898
+ # resp.authentication_result.new_device_metadata.device_key #=> String
1899
+ # resp.authentication_result.new_device_metadata.device_group_key #=> String
1900
+ # @overload respond_to_auth_challenge(params = {})
1901
+ # @param [Hash] params ({})
1902
+ def respond_to_auth_challenge(params = {}, options = {})
1903
+ req = build_request(:respond_to_auth_challenge, params)
1904
+ req.send_request(options)
1905
+ end
1906
+
1907
+ # Sets the user settings like multi-factor authentication (MFA). If MFA
1908
+ # is to be removed for a particular attribute pass the attribute with
1909
+ # code delivery as null. If null list is passed, all MFA options are
1910
+ # removed.
1911
+ # @option params [required, String] :access_token
1912
+ # The access token for the set user settings request.
1913
+ # @option params [required, Array<Types::MFAOptionType>] :mfa_options
1914
+ # Specifies the options for MFA (e.g., email or phone number).
1915
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1916
+ #
1917
+ # @example Request syntax with placeholder values
1918
+ # resp = client.set_user_settings({
1919
+ # access_token: "TokenModelType", # required
1920
+ # mfa_options: [ # required
1921
+ # {
1922
+ # delivery_medium: "SMS", # accepts SMS, EMAIL
1923
+ # attribute_name: "AttributeNameType",
1924
+ # },
1925
+ # ],
1926
+ # })
1927
+ # @overload set_user_settings(params = {})
1928
+ # @param [Hash] params ({})
1929
+ def set_user_settings(params = {}, options = {})
1930
+ req = build_request(:set_user_settings, params)
1931
+ req.send_request(options)
1932
+ end
1933
+
1934
+ # Registers the user in the specified user pool and creates a user name,
1935
+ # password, and user attributes.
1936
+ # @option params [required, String] :client_id
1937
+ # The ID of the client associated with the user pool.
1938
+ # @option params [String] :secret_hash
1939
+ # A keyed-hash message authentication code (HMAC) calculated using the
1940
+ # secret key of a user pool client and username plus the client ID in
1941
+ # the message.
1942
+ # @option params [required, String] :username
1943
+ # The user name of the user you wish to register.
1944
+ # @option params [required, String] :password
1945
+ # The password of the user you wish to register.
1946
+ # @option params [Array<Types::AttributeType>] :user_attributes
1947
+ # An array of name-value pairs representing user attributes.
1948
+ # @option params [Array<Types::AttributeType>] :validation_data
1949
+ # The validation data in the request to register a user.
1950
+ # @return [Types::SignUpResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1951
+ #
1952
+ # * {Types::SignUpResponse#user_confirmed #UserConfirmed} => Boolean
1953
+ # * {Types::SignUpResponse#code_delivery_details #CodeDeliveryDetails} => Types::CodeDeliveryDetailsType
1954
+ #
1955
+ # @example Request syntax with placeholder values
1956
+ # resp = client.sign_up({
1957
+ # client_id: "ClientIdType", # required
1958
+ # secret_hash: "SecretHashType",
1959
+ # username: "UsernameType", # required
1960
+ # password: "PasswordType", # required
1961
+ # user_attributes: [
1962
+ # {
1963
+ # name: "AttributeNameType", # required
1964
+ # value: "AttributeValueType",
1965
+ # },
1966
+ # ],
1967
+ # validation_data: [
1968
+ # {
1969
+ # name: "AttributeNameType", # required
1970
+ # value: "AttributeValueType",
1971
+ # },
1972
+ # ],
1973
+ # })
1974
+ #
1975
+ # @example Response structure
1976
+ # resp.user_confirmed #=> Boolean
1977
+ # resp.code_delivery_details.destination #=> String
1978
+ # resp.code_delivery_details.delivery_medium #=> String, one of "SMS", "EMAIL"
1979
+ # resp.code_delivery_details.attribute_name #=> String
1980
+ # @overload sign_up(params = {})
1981
+ # @param [Hash] params ({})
1982
+ def sign_up(params = {}, options = {})
1983
+ req = build_request(:sign_up, params)
1984
+ req.send_request(options)
1985
+ end
1986
+
1987
+ # Starts the user import.
1988
+ # @option params [required, String] :user_pool_id
1989
+ # The user pool ID for the user pool that the users are being imported
1990
+ # into.
1991
+ # @option params [required, String] :job_id
1992
+ # The job ID for the user import job.
1993
+ # @return [Types::StartUserImportJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1994
+ #
1995
+ # * {Types::StartUserImportJobResponse#user_import_job #UserImportJob} => Types::UserImportJobType
1996
+ #
1997
+ # @example Request syntax with placeholder values
1998
+ # resp = client.start_user_import_job({
1999
+ # user_pool_id: "UserPoolIdType", # required
2000
+ # job_id: "UserImportJobIdType", # required
2001
+ # })
2002
+ #
2003
+ # @example Response structure
2004
+ # resp.user_import_job.job_name #=> String
2005
+ # resp.user_import_job.job_id #=> String
2006
+ # resp.user_import_job.user_pool_id #=> String
2007
+ # resp.user_import_job.pre_signed_url #=> String
2008
+ # resp.user_import_job.creation_date #=> Time
2009
+ # resp.user_import_job.start_date #=> Time
2010
+ # resp.user_import_job.completion_date #=> Time
2011
+ # resp.user_import_job.status #=> String, one of "Created", "Pending", "InProgress", "Stopping", "Expired", "Stopped", "Failed", "Succeeded"
2012
+ # resp.user_import_job.cloud_watch_logs_role_arn #=> String
2013
+ # resp.user_import_job.imported_users #=> Integer
2014
+ # resp.user_import_job.skipped_users #=> Integer
2015
+ # resp.user_import_job.failed_users #=> Integer
2016
+ # resp.user_import_job.completion_message #=> String
2017
+ # @overload start_user_import_job(params = {})
2018
+ # @param [Hash] params ({})
2019
+ def start_user_import_job(params = {}, options = {})
2020
+ req = build_request(:start_user_import_job, params)
2021
+ req.send_request(options)
2022
+ end
2023
+
2024
+ # Stops the user import job.
2025
+ # @option params [required, String] :user_pool_id
2026
+ # The user pool ID for the user pool that the users are being imported
2027
+ # into.
2028
+ # @option params [required, String] :job_id
2029
+ # The job ID for the user import job.
2030
+ # @return [Types::StopUserImportJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2031
+ #
2032
+ # * {Types::StopUserImportJobResponse#user_import_job #UserImportJob} => Types::UserImportJobType
2033
+ #
2034
+ # @example Request syntax with placeholder values
2035
+ # resp = client.stop_user_import_job({
2036
+ # user_pool_id: "UserPoolIdType", # required
2037
+ # job_id: "UserImportJobIdType", # required
2038
+ # })
2039
+ #
2040
+ # @example Response structure
2041
+ # resp.user_import_job.job_name #=> String
2042
+ # resp.user_import_job.job_id #=> String
2043
+ # resp.user_import_job.user_pool_id #=> String
2044
+ # resp.user_import_job.pre_signed_url #=> String
2045
+ # resp.user_import_job.creation_date #=> Time
2046
+ # resp.user_import_job.start_date #=> Time
2047
+ # resp.user_import_job.completion_date #=> Time
2048
+ # resp.user_import_job.status #=> String, one of "Created", "Pending", "InProgress", "Stopping", "Expired", "Stopped", "Failed", "Succeeded"
2049
+ # resp.user_import_job.cloud_watch_logs_role_arn #=> String
2050
+ # resp.user_import_job.imported_users #=> Integer
2051
+ # resp.user_import_job.skipped_users #=> Integer
2052
+ # resp.user_import_job.failed_users #=> Integer
2053
+ # resp.user_import_job.completion_message #=> String
2054
+ # @overload stop_user_import_job(params = {})
2055
+ # @param [Hash] params ({})
2056
+ def stop_user_import_job(params = {}, options = {})
2057
+ req = build_request(:stop_user_import_job, params)
2058
+ req.send_request(options)
2059
+ end
2060
+
2061
+ # Updates the device status.
2062
+ # @option params [required, String] :access_token
2063
+ # The access token.
2064
+ # @option params [required, String] :device_key
2065
+ # The device key.
2066
+ # @option params [String] :device_remembered_status
2067
+ # The status of whether a device is remembered.
2068
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2069
+ #
2070
+ # @example Request syntax with placeholder values
2071
+ # resp = client.update_device_status({
2072
+ # access_token: "TokenModelType", # required
2073
+ # device_key: "DeviceKeyType", # required
2074
+ # device_remembered_status: "remembered", # accepts remembered, not_remembered
2075
+ # })
2076
+ # @overload update_device_status(params = {})
2077
+ # @param [Hash] params ({})
2078
+ def update_device_status(params = {}, options = {})
2079
+ req = build_request(:update_device_status, params)
2080
+ req.send_request(options)
2081
+ end
2082
+
2083
+ # Allows a user to update a specific attribute (one at a time).
2084
+ # @option params [required, Array<Types::AttributeType>] :user_attributes
2085
+ # An array of name-value pairs representing user attributes.
2086
+ # @option params [String] :access_token
2087
+ # The access token for the request to update user attributes.
2088
+ # @return [Types::UpdateUserAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2089
+ #
2090
+ # * {Types::UpdateUserAttributesResponse#code_delivery_details_list #CodeDeliveryDetailsList} => Array&lt;Types::CodeDeliveryDetailsType&gt;
2091
+ #
2092
+ # @example Request syntax with placeholder values
2093
+ # resp = client.update_user_attributes({
2094
+ # user_attributes: [ # required
2095
+ # {
2096
+ # name: "AttributeNameType", # required
2097
+ # value: "AttributeValueType",
2098
+ # },
2099
+ # ],
2100
+ # access_token: "TokenModelType",
2101
+ # })
2102
+ #
2103
+ # @example Response structure
2104
+ # resp.code_delivery_details_list #=> Array
2105
+ # resp.code_delivery_details_list[0].destination #=> String
2106
+ # resp.code_delivery_details_list[0].delivery_medium #=> String, one of "SMS", "EMAIL"
2107
+ # resp.code_delivery_details_list[0].attribute_name #=> String
2108
+ # @overload update_user_attributes(params = {})
2109
+ # @param [Hash] params ({})
2110
+ def update_user_attributes(params = {}, options = {})
2111
+ req = build_request(:update_user_attributes, params)
2112
+ req.send_request(options)
2113
+ end
2114
+
2115
+ # Updates the specified user pool with the specified attributes.
2116
+ # @option params [required, String] :user_pool_id
2117
+ # The user pool ID for the user pool you want to update.
2118
+ # @option params [Types::UserPoolPolicyType] :policies
2119
+ # A container with the policies you wish to update in a user pool.
2120
+ # @option params [Types::LambdaConfigType] :lambda_config
2121
+ # The AWS Lambda configuration information from the request to update
2122
+ # the user pool.
2123
+ # @option params [Array<String>] :auto_verified_attributes
2124
+ # The attributes that are automatically verified when the Amazon Cognito
2125
+ # service makes a request to update user pools.
2126
+ # @option params [String] :sms_verification_message
2127
+ # A container with information about the SMS verification message.
2128
+ # @option params [String] :email_verification_message
2129
+ # The contents of the email verification message.
2130
+ # @option params [String] :email_verification_subject
2131
+ # The subject of the email verfication message.
2132
+ # @option params [String] :sms_authentication_message
2133
+ # The contents of the SMS authentication message.
2134
+ # @option params [String] :mfa_configuration
2135
+ # Can be one of the following values:
2136
+ #
2137
+ # * `OFF` - MFA tokens are not required and cannot be specified during
2138
+ # user registration.
2139
+ #
2140
+ # * `ON` - MFA tokens are required for all user registrations. You can
2141
+ # only specify required when you are initially creating a user pool.
2142
+ #
2143
+ # * `OPTIONAL` - Users have the option when registering to create an MFA
2144
+ # token.
2145
+ # @option params [Types::DeviceConfigurationType] :device_configuration
2146
+ # Device configuration.
2147
+ # @option params [Types::EmailConfigurationType] :email_configuration
2148
+ # Email configuration.
2149
+ # @option params [Types::SmsConfigurationType] :sms_configuration
2150
+ # SMS configuration.
2151
+ # @option params [Types::AdminCreateUserConfigType] :admin_create_user_config
2152
+ # The configuration for AdminCreateUser requests.
2153
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2154
+ #
2155
+ # @example Request syntax with placeholder values
2156
+ # resp = client.update_user_pool({
2157
+ # user_pool_id: "UserPoolIdType", # required
2158
+ # policies: {
2159
+ # password_policy: {
2160
+ # minimum_length: 1,
2161
+ # require_uppercase: false,
2162
+ # require_lowercase: false,
2163
+ # require_numbers: false,
2164
+ # require_symbols: false,
2165
+ # },
2166
+ # },
2167
+ # lambda_config: {
2168
+ # pre_sign_up: "ArnType",
2169
+ # custom_message: "ArnType",
2170
+ # post_confirmation: "ArnType",
2171
+ # pre_authentication: "ArnType",
2172
+ # post_authentication: "ArnType",
2173
+ # define_auth_challenge: "ArnType",
2174
+ # create_auth_challenge: "ArnType",
2175
+ # verify_auth_challenge_response: "ArnType",
2176
+ # },
2177
+ # auto_verified_attributes: ["phone_number"], # accepts phone_number, email
2178
+ # sms_verification_message: "SmsVerificationMessageType",
2179
+ # email_verification_message: "EmailVerificationMessageType",
2180
+ # email_verification_subject: "EmailVerificationSubjectType",
2181
+ # sms_authentication_message: "SmsVerificationMessageType",
2182
+ # mfa_configuration: "OFF", # accepts OFF, ON, OPTIONAL
2183
+ # device_configuration: {
2184
+ # challenge_required_on_new_device: false,
2185
+ # device_only_remembered_on_user_prompt: false,
2186
+ # },
2187
+ # email_configuration: {
2188
+ # source_arn: "ArnType",
2189
+ # reply_to_email_address: "EmailAddressType",
2190
+ # },
2191
+ # sms_configuration: {
2192
+ # sns_caller_arn: "ArnType", # required
2193
+ # external_id: "StringType",
2194
+ # },
2195
+ # admin_create_user_config: {
2196
+ # allow_admin_create_user_only: false,
2197
+ # unused_account_validity_days: 1,
2198
+ # invite_message_template: {
2199
+ # sms_message: "SmsVerificationMessageType",
2200
+ # email_message: "EmailVerificationMessageType",
2201
+ # email_subject: "EmailVerificationSubjectType",
2202
+ # },
2203
+ # },
2204
+ # })
2205
+ # @overload update_user_pool(params = {})
2206
+ # @param [Hash] params ({})
2207
+ def update_user_pool(params = {}, options = {})
2208
+ req = build_request(:update_user_pool, params)
2209
+ req.send_request(options)
2210
+ end
2211
+
2212
+ # Allows the developer to update the specified user pool client and
2213
+ # password policy.
2214
+ # @option params [required, String] :user_pool_id
2215
+ # The user pool ID for the user pool where you want to update the user
2216
+ # pool client.
2217
+ # @option params [required, String] :client_id
2218
+ # The ID of the client associated with the user pool.
2219
+ # @option params [String] :client_name
2220
+ # The client name from the update user pool client request.
2221
+ # @option params [Integer] :refresh_token_validity
2222
+ # The validity of the refresh token.
2223
+ # @option params [Array<String>] :read_attributes
2224
+ # The read-only attributes of the user pool.
2225
+ # @option params [Array<String>] :write_attributes
2226
+ # The writeable attributes of the user pool.
2227
+ # @option params [Array<String>] :explicit_auth_flows
2228
+ # Explicit authentication flows.
2229
+ # @return [Types::UpdateUserPoolClientResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2230
+ #
2231
+ # * {Types::UpdateUserPoolClientResponse#user_pool_client #UserPoolClient} => Types::UserPoolClientType
2232
+ #
2233
+ # @example Request syntax with placeholder values
2234
+ # resp = client.update_user_pool_client({
2235
+ # user_pool_id: "UserPoolIdType", # required
2236
+ # client_id: "ClientIdType", # required
2237
+ # client_name: "ClientNameType",
2238
+ # refresh_token_validity: 1,
2239
+ # read_attributes: ["ClientPermissionType"],
2240
+ # write_attributes: ["ClientPermissionType"],
2241
+ # explicit_auth_flows: ["ADMIN_NO_SRP_AUTH"], # accepts ADMIN_NO_SRP_AUTH, CUSTOM_AUTH_FLOW_ONLY
2242
+ # })
2243
+ #
2244
+ # @example Response structure
2245
+ # resp.user_pool_client.user_pool_id #=> String
2246
+ # resp.user_pool_client.client_name #=> String
2247
+ # resp.user_pool_client.client_id #=> String
2248
+ # resp.user_pool_client.client_secret #=> String
2249
+ # resp.user_pool_client.last_modified_date #=> Time
2250
+ # resp.user_pool_client.creation_date #=> Time
2251
+ # resp.user_pool_client.refresh_token_validity #=> Integer
2252
+ # resp.user_pool_client.read_attributes #=> Array
2253
+ # resp.user_pool_client.read_attributes[0] #=> String
2254
+ # resp.user_pool_client.write_attributes #=> Array
2255
+ # resp.user_pool_client.write_attributes[0] #=> String
2256
+ # resp.user_pool_client.explicit_auth_flows #=> Array
2257
+ # resp.user_pool_client.explicit_auth_flows[0] #=> String, one of "ADMIN_NO_SRP_AUTH", "CUSTOM_AUTH_FLOW_ONLY"
2258
+ # @overload update_user_pool_client(params = {})
2259
+ # @param [Hash] params ({})
2260
+ def update_user_pool_client(params = {}, options = {})
2261
+ req = build_request(:update_user_pool_client, params)
2262
+ req.send_request(options)
2263
+ end
2264
+
2265
+ # Verifies the specified user attributes in the user pool.
2266
+ # @option params [String] :access_token
2267
+ # Represents the access token of the request to verify user attributes.
2268
+ # @option params [required, String] :attribute_name
2269
+ # The attribute name in the request to verify user attributes.
2270
+ # @option params [required, String] :code
2271
+ # The verification code in the request to verify user attributes.
2272
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2273
+ #
2274
+ # @example Request syntax with placeholder values
2275
+ # resp = client.verify_user_attribute({
2276
+ # access_token: "TokenModelType",
2277
+ # attribute_name: "AttributeNameType", # required
2278
+ # code: "ConfirmationCodeType", # required
2279
+ # })
2280
+ # @overload verify_user_attribute(params = {})
2281
+ # @param [Hash] params ({})
2282
+ def verify_user_attribute(params = {}, options = {})
2283
+ req = build_request(:verify_user_attribute, params)
2284
+ req.send_request(options)
2285
+ end
2286
+
2287
+ # @!endgroup
2288
+
2289
+ # @param params ({})
2290
+ # @api private
2291
+ def build_request(operation_name, params = {})
2292
+ handlers = @handlers.for(operation_name)
2293
+ context = Seahorse::Client::RequestContext.new(
2294
+ operation_name: operation_name,
2295
+ operation: config.api.operation(operation_name),
2296
+ client: self,
2297
+ params: params,
2298
+ config: config)
2299
+ context[:gem_name] = 'aws-sdk-cognitoidentityprovider'
2300
+ context[:gem_version] = '1.0.0.rc1'
2301
+ Seahorse::Client::Request.new(handlers, context)
2302
+ end
2303
+
2304
+ # @api private
2305
+ # @deprecated
2306
+ def waiter_names
2307
+ []
2308
+ end
2309
+
2310
+ class << self
2311
+
2312
+ # @api private
2313
+ attr_reader :identifier
2314
+
2315
+ # @api private
2316
+ def errors_module
2317
+ Errors
2318
+ end
2319
+
2320
+ end
2321
+ end
2322
+ end
2323
+ end