aws-sdk-cognitoidentityprovider 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 86a276a1f40b918ed9554d03e268a6a3e7a3d4bb
4
- data.tar.gz: 7e14ad3e699efa53132c28a7308fc624006e7766
3
+ metadata.gz: 56e2545561b049897e6757fbbb6f3e9f2097137d
4
+ data.tar.gz: e4489d46a02c643959ab6025646c6d4494119003
5
5
  SHA512:
6
- metadata.gz: b9760fac75022b2b3ca85b2332027254a66c5e4ad87e29be19bc3bfb76f6204adee71e559441ca913b2138595b4d6221a5332bd5aaf37484f8011a2949c2a139
7
- data.tar.gz: 9515d946c53895a2a6e166271299ba96615fecdc55bb549fe5cae407484a2561efe6a89a6b4670bbdc6b7d9df2fc8a51878e74b2c4ff70e9ef9bc4dc43b9f29f
6
+ metadata.gz: e9063cab3bbe4319e7a6c484de715eec9b35e857b1e7c9330a13c8feaeb3454e36a882e29a470d273096da9d3638102ec6eafe1db57a71293dc2b0e99d3f0db5
7
+ data.tar.gz: 37e45fdae56a9d32e666461aaa444a7ad2c385b7c3c8e2654d6b4f3b7ce54bace636ed15ef31eda663404ddaeee3075140a2c05b179c563e17fb061855ff51ec
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-cognitoidentityprovider/customizations'
42
42
  # @service
43
43
  module Aws::CognitoIdentityProvider
44
44
 
45
- GEM_VERSION = '1.0.0'
45
+ GEM_VERSION = '1.1.0'
46
46
 
47
47
  end
@@ -259,15 +259,24 @@ module Aws::CognitoIdentityProvider
259
259
  req.send_request(options)
260
260
  end
261
261
 
262
- # Creates a new user in the specified user pool and sends a welcome
263
- # message via email or phone (SMS). This message is based on a template
264
- # that you configured in your call to
265
- # [CreateUserPool](API_CreateUserPool.html) or
266
- # [UpdateUserPool](API_UpdateUserPool.html). This template includes your
267
- # custom sign-up instructions and placeholders for user name and
268
- # temporary password.
262
+ # Creates a new user in the specified user pool.
269
263
  #
270
- # Requires developer credentials.
264
+ # If `MessageAction` is not set, the default is to send a welcome
265
+ # message via email or phone (SMS).
266
+ #
267
+ # <note markdown="1"> This message is based on a template that you configured in your call
268
+ # to or . This template includes your custom sign-up instructions and
269
+ # placeholders for user name and temporary password.
270
+ #
271
+ # </note>
272
+ #
273
+ # Alternatively, you can call AdminCreateUser with “SUPPRESS” for the
274
+ # `MessageAction` parameter, and Amazon Cognito will not send any email.
275
+ #
276
+ # In either case, the user will be in the `FORCE_CHANGE_PASSWORD` state
277
+ # until they sign in and change their password.
278
+ #
279
+ # AdminCreateUser requires developer credentials.
271
280
  #
272
281
  # @option params [required, String] :user_pool_id
273
282
  # The user pool ID for the user pool where the user will be created.
@@ -281,11 +290,10 @@ module Aws::CognitoIdentityProvider
281
290
  # An array of name-value pairs that contain user attributes and
282
291
  # attribute values to be set for the user to be created. You can create
283
292
  # a user without specifying any attributes other than `Username`.
284
- # However, any attributes that you specify as required (in
285
- # [CreateUserPool](API_CreateUserPool.html) or in the **Attributes** tab
286
- # of the console) must be supplied either by you (in your call to
287
- # `AdminCreateUser`) or by the user (when he or she signs up in response
288
- # to your welcome message).
293
+ # However, any attributes that you specify as required (in or in the
294
+ # **Attributes** tab of the console) must be supplied either by you (in
295
+ # your call to `AdminCreateUser`) or by the user (when he or she signs
296
+ # up in response to your welcome message).
289
297
  #
290
298
  # For custom attributes, you must prepend the `custom:` prefix to the
291
299
  # attribute name.
@@ -297,8 +305,7 @@ module Aws::CognitoIdentityProvider
297
305
  #
298
306
  # In your call to `AdminCreateUser`, you can set the `email_verified`
299
307
  # attribute to `True`, and you can set the `phone_number_verified`
300
- # attribute to `True`. (You can also do this by calling
301
- # [AdminUpdateUserAttributes](API_AdminUpdateUserAttributes.html).)
308
+ # attribute to `True`. (You can also do this by calling .)
302
309
  #
303
310
  # * **email**\: The email address of the user to whom the message that
304
311
  # contains the code and username will be sent. Required if the
@@ -491,8 +498,7 @@ module Aws::CognitoIdentityProvider
491
498
  # IdP user, any link between that user and an existing user is removed.
492
499
  # The next time the external user (no longer attached to the previously
493
500
  # linked `DestinationUser`) signs in, they must create a new user
494
- # account. See
495
- # [AdminLinkProviderForUser](API_AdminLinkProviderForUser.html).
501
+ # account. See .
496
502
  #
497
503
  # This action is enabled only for admin access and requires developer
498
504
  # credentials.
@@ -514,8 +520,7 @@ module Aws::CognitoIdentityProvider
514
520
  # identity has not yet been used to sign-in, the `ProviderAttributeName`
515
521
  # and `ProviderAttributeValue` must be the same values that were used
516
522
  # for the `SourceUser` when the identities were originally linked in the
517
- # [AdminLinkProviderForUser](API_AdminLinkProviderForUser.html) call.
518
- # (If the linking was done with `ProviderAttributeName` set to
523
+ # call. (If the linking was done with `ProviderAttributeName` set to
519
524
  # `Cognito_Subject`, the same applies here). However, if the user has
520
525
  # already signed in, the `ProviderAttributeName` must be
521
526
  # `Cognito_Subject` and `ProviderAttributeValue` must be the subject of
@@ -702,6 +707,8 @@ module Aws::CognitoIdentityProvider
702
707
  # * {Types::AdminGetUserResponse#enabled #enabled} => Boolean
703
708
  # * {Types::AdminGetUserResponse#user_status #user_status} => String
704
709
  # * {Types::AdminGetUserResponse#mfa_options #mfa_options} => Array&lt;Types::MFAOptionType&gt;
710
+ # * {Types::AdminGetUserResponse#preferred_mfa_setting #preferred_mfa_setting} => String
711
+ # * {Types::AdminGetUserResponse#user_mfa_setting_list #user_mfa_setting_list} => Array&lt;String&gt;
705
712
  #
706
713
  # @example Request syntax with placeholder values
707
714
  #
@@ -723,6 +730,9 @@ module Aws::CognitoIdentityProvider
723
730
  # resp.mfa_options #=> Array
724
731
  # resp.mfa_options[0].delivery_medium #=> String, one of "SMS", "EMAIL"
725
732
  # resp.mfa_options[0].attribute_name #=> String
733
+ # resp.preferred_mfa_setting #=> String
734
+ # resp.user_mfa_setting_list #=> Array
735
+ # resp.user_mfa_setting_list[0] #=> String
726
736
  #
727
737
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminGetUser AWS API Documentation
728
738
  #
@@ -793,6 +803,15 @@ module Aws::CognitoIdentityProvider
793
803
  # be passed to your PreAuthentication Lambda trigger as-is. It can be
794
804
  # used to implement additional validations around authentication.
795
805
  #
806
+ # @option params [Types::AnalyticsMetadataType] :analytics_metadata
807
+ # The analytics metadata for collecting Amazon Pinpoint metrics for
808
+ # `AdminInitiateAuth` calls.
809
+ #
810
+ # @option params [Types::ContextDataType] :context_data
811
+ # Contextual data such as the user's device fingerprint, IP address, or
812
+ # location used for evaluating the risk of an unexpected event by Amazon
813
+ # Cognito advanced security.
814
+ #
796
815
  # @return [Types::AdminInitiateAuthResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
797
816
  #
798
817
  # * {Types::AdminInitiateAuthResponse#challenge_name #challenge_name} => String
@@ -812,11 +831,26 @@ module Aws::CognitoIdentityProvider
812
831
  # client_metadata: {
813
832
  # "StringType" => "StringType",
814
833
  # },
834
+ # analytics_metadata: {
835
+ # analytics_endpoint_id: "StringType",
836
+ # },
837
+ # context_data: {
838
+ # ip_address: "StringType", # required
839
+ # server_name: "StringType", # required
840
+ # server_path: "StringType", # required
841
+ # http_headers: [ # required
842
+ # {
843
+ # header_name: "StringType",
844
+ # header_value: "StringType",
845
+ # },
846
+ # ],
847
+ # encoded_data: "StringType",
848
+ # },
815
849
  # })
816
850
  #
817
851
  # @example Response structure
818
852
  #
819
- # 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"
853
+ # resp.challenge_name #=> String, one of "SMS_MFA", "SOFTWARE_TOKEN_MFA", "SELECT_MFA_TYPE", "MFA_SETUP", "PASSWORD_VERIFIER", "CUSTOM_CHALLENGE", "DEVICE_SRP_AUTH", "DEVICE_PASSWORD_VERIFIER", "ADMIN_NO_SRP_AUTH", "NEW_PASSWORD_REQUIRED"
820
854
  # resp.session #=> String
821
855
  # resp.challenge_parameters #=> Hash
822
856
  # resp.challenge_parameters["StringType"] #=> String
@@ -855,8 +889,7 @@ module Aws::CognitoIdentityProvider
855
889
  # only be used with external identity providers and provider attributes
856
890
  # that have been trusted by the application owner.
857
891
  #
858
- # See also
859
- # [AdminDisableProviderForUser](API_AdminDisableProviderForUser.html).
892
+ # See also .
860
893
  #
861
894
  # This action is enabled only for admin access and requires developer
862
895
  # credentials.
@@ -872,9 +905,14 @@ module Aws::CognitoIdentityProvider
872
905
  # This is the user that is returned when the new user (with the linked
873
906
  # identity provider attribute) signs in.
874
907
  #
875
- # The `ProviderAttributeValue` for the `DestinationUser` must match the
876
- # username for the user in the user pool. The `ProviderAttributeName`
877
- # will always be ignored.
908
+ # For a native username + password user, the `ProviderAttributeValue`
909
+ # for the `DestinationUser` should be the username in the user pool. For
910
+ # a federated user, it should be the provider-specific `user_id`.
911
+ #
912
+ # The `ProviderAttributeName` of the `DestinationUser` is ignored.
913
+ #
914
+ # The `ProviderName` should be set to `Cognito` for users in Cognito
915
+ # user pools.
878
916
  #
879
917
  # @option params [required, Types::ProviderUserIdentifierType] :source_user
880
918
  # An external identity provider account for a user who does not
@@ -1032,6 +1070,66 @@ module Aws::CognitoIdentityProvider
1032
1070
  req.send_request(options)
1033
1071
  end
1034
1072
 
1073
+ # Lists a history of user activity and any risks detected as part of
1074
+ # Amazon Cognito advanced security.
1075
+ #
1076
+ # @option params [required, String] :user_pool_id
1077
+ # The user pool ID.
1078
+ #
1079
+ # @option params [required, String] :username
1080
+ # The user pool username.
1081
+ #
1082
+ # @option params [Integer] :max_results
1083
+ # The maximum number of authentication events to return.
1084
+ #
1085
+ # @option params [String] :next_token
1086
+ # A pagination token.
1087
+ #
1088
+ # @return [Types::AdminListUserAuthEventsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1089
+ #
1090
+ # * {Types::AdminListUserAuthEventsResponse#auth_events #auth_events} => Array&lt;Types::AuthEventType&gt;
1091
+ # * {Types::AdminListUserAuthEventsResponse#next_token #next_token} => String
1092
+ #
1093
+ # @example Request syntax with placeholder values
1094
+ #
1095
+ # resp = client.admin_list_user_auth_events({
1096
+ # user_pool_id: "UserPoolIdType", # required
1097
+ # username: "UsernameType", # required
1098
+ # max_results: 1,
1099
+ # next_token: "PaginationKey",
1100
+ # })
1101
+ #
1102
+ # @example Response structure
1103
+ #
1104
+ # resp.auth_events #=> Array
1105
+ # resp.auth_events[0].event_id #=> String
1106
+ # resp.auth_events[0].event_type #=> String, one of "SignIn", "SignUp", "ForgotPassword"
1107
+ # resp.auth_events[0].creation_date #=> Time
1108
+ # resp.auth_events[0].event_response #=> String, one of "Success", "Failure"
1109
+ # resp.auth_events[0].event_risk.risk_decision #=> String, one of "NoRisk", "AccountTakeover", "Block"
1110
+ # resp.auth_events[0].event_risk.risk_level #=> String, one of "Low", "Medium", "High"
1111
+ # resp.auth_events[0].challenge_responses #=> Array
1112
+ # resp.auth_events[0].challenge_responses[0].challenge_name #=> String, one of "Password", "Mfa"
1113
+ # resp.auth_events[0].challenge_responses[0].challenge_response #=> String, one of "Success", "Failure"
1114
+ # resp.auth_events[0].event_context_data.ip_address #=> String
1115
+ # resp.auth_events[0].event_context_data.device_name #=> String
1116
+ # resp.auth_events[0].event_context_data.timezone #=> String
1117
+ # resp.auth_events[0].event_context_data.city #=> String
1118
+ # resp.auth_events[0].event_context_data.country #=> String
1119
+ # resp.auth_events[0].event_feedback.feedback_value #=> String, one of "Valid", "Invalid"
1120
+ # resp.auth_events[0].event_feedback.provider #=> String
1121
+ # resp.auth_events[0].event_feedback.feedback_date #=> Time
1122
+ # resp.next_token #=> String
1123
+ #
1124
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminListUserAuthEvents AWS API Documentation
1125
+ #
1126
+ # @overload admin_list_user_auth_events(params = {})
1127
+ # @param [Hash] params ({})
1128
+ def admin_list_user_auth_events(params = {}, options = {})
1129
+ req = build_request(:admin_list_user_auth_events, params)
1130
+ req.send_request(options)
1131
+ end
1132
+
1035
1133
  # Removes the specified user from the specified group.
1036
1134
  #
1037
1135
  # Requires developer credentials.
@@ -1116,8 +1214,7 @@ module Aws::CognitoIdentityProvider
1116
1214
  # The app client ID.
1117
1215
  #
1118
1216
  # @option params [required, String] :challenge_name
1119
- # The challenge name. For more information, see
1120
- # [AdminInitiateAuth](API_AdminInitiateAuth.html).
1217
+ # The challenge name. For more information, see .
1121
1218
  #
1122
1219
  # @option params [Hash<String,String>] :challenge_responses
1123
1220
  # The challenge responses. These are inputs corresponding to the value
@@ -1151,6 +1248,15 @@ module Aws::CognitoIdentityProvider
1151
1248
  # session should be passed as it is to the next `RespondToAuthChallenge`
1152
1249
  # API call.
1153
1250
  #
1251
+ # @option params [Types::AnalyticsMetadataType] :analytics_metadata
1252
+ # The analytics metadata for collecting Amazon Pinpoint metrics for
1253
+ # `AdminRespondToAuthChallenge` calls.
1254
+ #
1255
+ # @option params [Types::ContextDataType] :context_data
1256
+ # Contextual data such as the user's device fingerprint, IP address, or
1257
+ # location used for evaluating the risk of an unexpected event by Amazon
1258
+ # Cognito advanced security.
1259
+ #
1154
1260
  # @return [Types::AdminRespondToAuthChallengeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1155
1261
  #
1156
1262
  # * {Types::AdminRespondToAuthChallengeResponse#challenge_name #challenge_name} => String
@@ -1163,16 +1269,31 @@ module Aws::CognitoIdentityProvider
1163
1269
  # resp = client.admin_respond_to_auth_challenge({
1164
1270
  # user_pool_id: "UserPoolIdType", # required
1165
1271
  # client_id: "ClientIdType", # required
1166
- # 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
1272
+ # challenge_name: "SMS_MFA", # required, accepts SMS_MFA, SOFTWARE_TOKEN_MFA, SELECT_MFA_TYPE, MFA_SETUP, PASSWORD_VERIFIER, CUSTOM_CHALLENGE, DEVICE_SRP_AUTH, DEVICE_PASSWORD_VERIFIER, ADMIN_NO_SRP_AUTH, NEW_PASSWORD_REQUIRED
1167
1273
  # challenge_responses: {
1168
1274
  # "StringType" => "StringType",
1169
1275
  # },
1170
1276
  # session: "SessionType",
1277
+ # analytics_metadata: {
1278
+ # analytics_endpoint_id: "StringType",
1279
+ # },
1280
+ # context_data: {
1281
+ # ip_address: "StringType", # required
1282
+ # server_name: "StringType", # required
1283
+ # server_path: "StringType", # required
1284
+ # http_headers: [ # required
1285
+ # {
1286
+ # header_name: "StringType",
1287
+ # header_value: "StringType",
1288
+ # },
1289
+ # ],
1290
+ # encoded_data: "StringType",
1291
+ # },
1171
1292
  # })
1172
1293
  #
1173
1294
  # @example Response structure
1174
1295
  #
1175
- # 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"
1296
+ # resp.challenge_name #=> String, one of "SMS_MFA", "SOFTWARE_TOKEN_MFA", "SELECT_MFA_TYPE", "MFA_SETUP", "PASSWORD_VERIFIER", "CUSTOM_CHALLENGE", "DEVICE_SRP_AUTH", "DEVICE_PASSWORD_VERIFIER", "ADMIN_NO_SRP_AUTH", "NEW_PASSWORD_REQUIRED"
1176
1297
  # resp.session #=> String
1177
1298
  # resp.challenge_parameters #=> Hash
1178
1299
  # resp.challenge_parameters["StringType"] #=> String
@@ -1193,6 +1314,46 @@ module Aws::CognitoIdentityProvider
1193
1314
  req.send_request(options)
1194
1315
  end
1195
1316
 
1317
+ # Sets the user's multi-factor authentication (MFA) preference.
1318
+ #
1319
+ # @option params [Types::SMSMfaSettingsType] :sms_mfa_settings
1320
+ # The SMS text message MFA settings.
1321
+ #
1322
+ # @option params [Types::SoftwareTokenMfaSettingsType] :software_token_mfa_settings
1323
+ # The time-based one-time password software token MFA settings.
1324
+ #
1325
+ # @option params [required, String] :username
1326
+ # The user pool username.
1327
+ #
1328
+ # @option params [required, String] :user_pool_id
1329
+ # The user pool ID.
1330
+ #
1331
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1332
+ #
1333
+ # @example Request syntax with placeholder values
1334
+ #
1335
+ # resp = client.admin_set_user_mfa_preference({
1336
+ # sms_mfa_settings: {
1337
+ # enabled: false,
1338
+ # preferred_mfa: false,
1339
+ # },
1340
+ # software_token_mfa_settings: {
1341
+ # enabled: false,
1342
+ # preferred_mfa: false,
1343
+ # },
1344
+ # username: "UsernameType", # required
1345
+ # user_pool_id: "UserPoolIdType", # required
1346
+ # })
1347
+ #
1348
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminSetUserMFAPreference AWS API Documentation
1349
+ #
1350
+ # @overload admin_set_user_mfa_preference(params = {})
1351
+ # @param [Hash] params ({})
1352
+ def admin_set_user_mfa_preference(params = {}, options = {})
1353
+ req = build_request(:admin_set_user_mfa_preference, params)
1354
+ req.send_request(options)
1355
+ end
1356
+
1196
1357
  # Sets all the user settings for a specified user name. Works on any
1197
1358
  # user.
1198
1359
  #
@@ -1232,6 +1393,43 @@ module Aws::CognitoIdentityProvider
1232
1393
  req.send_request(options)
1233
1394
  end
1234
1395
 
1396
+ # Provides feedback for an authentication event as to whether it was
1397
+ # from a valid user. This feedback is used for improving the risk
1398
+ # evaluation decision for the user pool as part of Amazon Cognito
1399
+ # advanced security.
1400
+ #
1401
+ # @option params [required, String] :user_pool_id
1402
+ # The user pool ID.
1403
+ #
1404
+ # @option params [required, String] :username
1405
+ # The user pool username.
1406
+ #
1407
+ # @option params [required, String] :event_id
1408
+ # The authentication event ID.
1409
+ #
1410
+ # @option params [required, String] :feedback_value
1411
+ # The authentication event feedback value.
1412
+ #
1413
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1414
+ #
1415
+ # @example Request syntax with placeholder values
1416
+ #
1417
+ # resp = client.admin_update_auth_event_feedback({
1418
+ # user_pool_id: "UserPoolIdType", # required
1419
+ # username: "UsernameType", # required
1420
+ # event_id: "EventIdType", # required
1421
+ # feedback_value: "Valid", # required, accepts Valid, Invalid
1422
+ # })
1423
+ #
1424
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminUpdateAuthEventFeedback AWS API Documentation
1425
+ #
1426
+ # @overload admin_update_auth_event_feedback(params = {})
1427
+ # @param [Hash] params ({})
1428
+ def admin_update_auth_event_feedback(params = {}, options = {})
1429
+ req = build_request(:admin_update_auth_event_feedback, params)
1430
+ req.send_request(options)
1431
+ end
1432
+
1235
1433
  # Updates the device status as an administrator.
1236
1434
  #
1237
1435
  # Requires developer credentials.
@@ -1344,16 +1542,54 @@ module Aws::CognitoIdentityProvider
1344
1542
  req.send_request(options)
1345
1543
  end
1346
1544
 
1545
+ # Returns a unique generated shared secret key code for the user
1546
+ # account. The request takes an access token or a session string, but
1547
+ # not both.
1548
+ #
1549
+ # @option params [String] :access_token
1550
+ # The access token.
1551
+ #
1552
+ # @option params [String] :session
1553
+ # The session which should be passed both ways in challenge-response
1554
+ # calls to the service. This allows authentication of the user as part
1555
+ # of the MFA setup process.
1556
+ #
1557
+ # @return [Types::AssociateSoftwareTokenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1558
+ #
1559
+ # * {Types::AssociateSoftwareTokenResponse#secret_code #secret_code} => String
1560
+ # * {Types::AssociateSoftwareTokenResponse#session #session} => String
1561
+ #
1562
+ # @example Request syntax with placeholder values
1563
+ #
1564
+ # resp = client.associate_software_token({
1565
+ # access_token: "TokenModelType",
1566
+ # session: "SessionType",
1567
+ # })
1568
+ #
1569
+ # @example Response structure
1570
+ #
1571
+ # resp.secret_code #=> String
1572
+ # resp.session #=> String
1573
+ #
1574
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AssociateSoftwareToken AWS API Documentation
1575
+ #
1576
+ # @overload associate_software_token(params = {})
1577
+ # @param [Hash] params ({})
1578
+ def associate_software_token(params = {}, options = {})
1579
+ req = build_request(:associate_software_token, params)
1580
+ req.send_request(options)
1581
+ end
1582
+
1347
1583
  # Changes the password for a specified user in a user pool.
1348
1584
  #
1349
1585
  # @option params [required, String] :previous_password
1350
- # The old password in the change password request.
1586
+ # The old password.
1351
1587
  #
1352
1588
  # @option params [required, String] :proposed_password
1353
- # The new password in the change password request.
1589
+ # The new password.
1354
1590
  #
1355
1591
  # @option params [required, String] :access_token
1356
- # The access token in the change password request.
1592
+ # The access token.
1357
1593
  #
1358
1594
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1359
1595
  #
@@ -1436,12 +1672,20 @@ module Aws::CognitoIdentityProvider
1436
1672
  # @option params [required, String] :confirmation_code
1437
1673
  # The confirmation code sent by a user's request to retrieve a
1438
1674
  # forgotten password. For more information, see
1439
- # [ForgotPassword](API_ForgotPassword.html)
1440
1675
  #
1441
1676
  # @option params [required, String] :password
1442
1677
  # The password sent by a user's request to retrieve a forgotten
1443
1678
  # password.
1444
1679
  #
1680
+ # @option params [Types::AnalyticsMetadataType] :analytics_metadata
1681
+ # The Amazon Pinpoint analytics metadata for collecting metrics for
1682
+ # `ConfirmForgotPassword` calls.
1683
+ #
1684
+ # @option params [Types::UserContextDataType] :user_context_data
1685
+ # Contextual data such as the user's device fingerprint, IP address, or
1686
+ # location used for evaluating the risk of an unexpected event by Amazon
1687
+ # Cognito advanced security.
1688
+ #
1445
1689
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1446
1690
  #
1447
1691
  # @example Request syntax with placeholder values
@@ -1452,6 +1696,12 @@ module Aws::CognitoIdentityProvider
1452
1696
  # username: "UsernameType", # required
1453
1697
  # confirmation_code: "ConfirmationCodeType", # required
1454
1698
  # password: "PasswordType", # required
1699
+ # analytics_metadata: {
1700
+ # analytics_endpoint_id: "StringType",
1701
+ # },
1702
+ # user_context_data: {
1703
+ # encoded_data: "StringType",
1704
+ # },
1455
1705
  # })
1456
1706
  #
1457
1707
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ConfirmForgotPassword AWS API Documentation
@@ -1490,6 +1740,15 @@ module Aws::CognitoIdentityProvider
1490
1740
  # being confirmed. If set to `False`, the API will throw an
1491
1741
  # **AliasExistsException** error.
1492
1742
  #
1743
+ # @option params [Types::AnalyticsMetadataType] :analytics_metadata
1744
+ # The Amazon Pinpoint analytics metadata for collecting metrics for
1745
+ # `ConfirmSignUp` calls.
1746
+ #
1747
+ # @option params [Types::UserContextDataType] :user_context_data
1748
+ # Contextual data such as the user's device fingerprint, IP address, or
1749
+ # location used for evaluating the risk of an unexpected event by Amazon
1750
+ # Cognito advanced security.
1751
+ #
1493
1752
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1494
1753
  #
1495
1754
  # @example Request syntax with placeholder values
@@ -1500,6 +1759,12 @@ module Aws::CognitoIdentityProvider
1500
1759
  # username: "UsernameType", # required
1501
1760
  # confirmation_code: "ConfirmationCodeType", # required
1502
1761
  # force_alias_creation: false,
1762
+ # analytics_metadata: {
1763
+ # analytics_endpoint_id: "StringType",
1764
+ # },
1765
+ # user_context_data: {
1766
+ # encoded_data: "StringType",
1767
+ # },
1503
1768
  # })
1504
1769
  #
1505
1770
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ConfirmSignUp AWS API Documentation
@@ -1814,6 +2079,10 @@ module Aws::CognitoIdentityProvider
1814
2079
  # An array of schema attributes for the new user pool. These attributes
1815
2080
  # can be standard or custom attributes.
1816
2081
  #
2082
+ # @option params [Types::UserPoolAddOnsType] :user_pool_add_ons
2083
+ # Used to enable advanced security risk detection. Set the key
2084
+ # `AdvancedSecurityMode` to the value "AUDIT".
2085
+ #
1817
2086
  # @return [Types::CreateUserPoolResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1818
2087
  #
1819
2088
  # * {Types::CreateUserPoolResponse#user_pool #user_pool} => Types::UserPoolType
@@ -1840,6 +2109,7 @@ module Aws::CognitoIdentityProvider
1840
2109
  # define_auth_challenge: "ArnType",
1841
2110
  # create_auth_challenge: "ArnType",
1842
2111
  # verify_auth_challenge_response: "ArnType",
2112
+ # pre_token_generation: "ArnType",
1843
2113
  # },
1844
2114
  # auto_verified_attributes: ["phone_number"], # accepts phone_number, email
1845
2115
  # alias_attributes: ["phone_number"], # accepts phone_number, email, preferred_username
@@ -1898,6 +2168,9 @@ module Aws::CognitoIdentityProvider
1898
2168
  # },
1899
2169
  # },
1900
2170
  # ],
2171
+ # user_pool_add_ons: {
2172
+ # advanced_security_mode: "OFF", # required, accepts OFF, AUDIT, ENFORCED
2173
+ # },
1901
2174
  # })
1902
2175
  #
1903
2176
  # @example Response structure
@@ -1917,6 +2190,7 @@ module Aws::CognitoIdentityProvider
1917
2190
  # resp.user_pool.lambda_config.define_auth_challenge #=> String
1918
2191
  # resp.user_pool.lambda_config.create_auth_challenge #=> String
1919
2192
  # resp.user_pool.lambda_config.verify_auth_challenge_response #=> String
2193
+ # resp.user_pool.lambda_config.pre_token_generation #=> String
1920
2194
  # resp.user_pool.status #=> String, one of "Enabled", "Disabled"
1921
2195
  # resp.user_pool.last_modified_date #=> Time
1922
2196
  # resp.user_pool.creation_date #=> Time
@@ -1963,6 +2237,7 @@ module Aws::CognitoIdentityProvider
1963
2237
  # resp.user_pool.admin_create_user_config.invite_message_template.sms_message #=> String
1964
2238
  # resp.user_pool.admin_create_user_config.invite_message_template.email_message #=> String
1965
2239
  # resp.user_pool.admin_create_user_config.invite_message_template.email_subject #=> String
2240
+ # resp.user_pool.user_pool_add_ons.advanced_security_mode #=> String, one of "OFF", "AUDIT", "ENFORCED"
1966
2241
  #
1967
2242
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateUserPool AWS API Documentation
1968
2243
  #
@@ -2028,6 +2303,10 @@ module Aws::CognitoIdentityProvider
2028
2303
  # Set to `True` if the client is allowed to follow the OAuth protocol
2029
2304
  # when interacting with Cognito user pools.
2030
2305
  #
2306
+ # @option params [Types::AnalyticsConfigurationType] :analytics_configuration
2307
+ # The Amazon Pinpoint analytics configuration for collecting metrics for
2308
+ # this user pool.
2309
+ #
2031
2310
  # @return [Types::CreateUserPoolClientResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2032
2311
  #
2033
2312
  # * {Types::CreateUserPoolClientResponse#user_pool_client #user_pool_client} => Types::UserPoolClientType
@@ -2049,6 +2328,12 @@ module Aws::CognitoIdentityProvider
2049
2328
  # allowed_o_auth_flows: ["code"], # accepts code, implicit, client_credentials
2050
2329
  # allowed_o_auth_scopes: ["ScopeType"],
2051
2330
  # allowed_o_auth_flows_user_pool_client: false,
2331
+ # analytics_configuration: {
2332
+ # application_id: "HexStringType", # required
2333
+ # role_arn: "ArnType", # required
2334
+ # external_id: "StringType", # required
2335
+ # user_data_shared: false,
2336
+ # },
2052
2337
  # })
2053
2338
  #
2054
2339
  # @example Response structure
@@ -2078,6 +2363,10 @@ module Aws::CognitoIdentityProvider
2078
2363
  # resp.user_pool_client.allowed_o_auth_scopes #=> Array
2079
2364
  # resp.user_pool_client.allowed_o_auth_scopes[0] #=> String
2080
2365
  # resp.user_pool_client.allowed_o_auth_flows_user_pool_client #=> Boolean
2366
+ # resp.user_pool_client.analytics_configuration.application_id #=> String
2367
+ # resp.user_pool_client.analytics_configuration.role_arn #=> String
2368
+ # resp.user_pool_client.analytics_configuration.external_id #=> String
2369
+ # resp.user_pool_client.analytics_configuration.user_data_shared #=> Boolean
2081
2370
  #
2082
2371
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateUserPoolClient AWS API Documentation
2083
2372
  #
@@ -2400,6 +2689,65 @@ module Aws::CognitoIdentityProvider
2400
2689
  req.send_request(options)
2401
2690
  end
2402
2691
 
2692
+ # Describes the risk configuration.
2693
+ #
2694
+ # @option params [required, String] :user_pool_id
2695
+ # The user pool ID.
2696
+ #
2697
+ # @option params [String] :client_id
2698
+ # The app client ID.
2699
+ #
2700
+ # @return [Types::DescribeRiskConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2701
+ #
2702
+ # * {Types::DescribeRiskConfigurationResponse#risk_configuration #risk_configuration} => Types::RiskConfigurationType
2703
+ #
2704
+ # @example Request syntax with placeholder values
2705
+ #
2706
+ # resp = client.describe_risk_configuration({
2707
+ # user_pool_id: "UserPoolIdType", # required
2708
+ # client_id: "ClientIdType",
2709
+ # })
2710
+ #
2711
+ # @example Response structure
2712
+ #
2713
+ # resp.risk_configuration.user_pool_id #=> String
2714
+ # resp.risk_configuration.client_id #=> String
2715
+ # resp.risk_configuration.compromised_credentials_risk_configuration.event_filter #=> Array
2716
+ # resp.risk_configuration.compromised_credentials_risk_configuration.event_filter[0] #=> String, one of "SIGN_IN", "PASSWORD_CHANGE", "SIGN_UP"
2717
+ # resp.risk_configuration.compromised_credentials_risk_configuration.actions.event_action #=> String, one of "BLOCK", "NO_ACTION"
2718
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.from #=> String
2719
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.reply_to #=> String
2720
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.source_arn #=> String
2721
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.block_email.subject #=> String
2722
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.block_email.html_body #=> String
2723
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.block_email.text_body #=> String
2724
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.no_action_email.subject #=> String
2725
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.no_action_email.html_body #=> String
2726
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.no_action_email.text_body #=> String
2727
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.mfa_email.subject #=> String
2728
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.mfa_email.html_body #=> String
2729
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.mfa_email.text_body #=> String
2730
+ # resp.risk_configuration.account_takeover_risk_configuration.actions.low_action.notify #=> Boolean
2731
+ # resp.risk_configuration.account_takeover_risk_configuration.actions.low_action.event_action #=> String, one of "BLOCK", "MFA_IF_CONFIGURED", "MFA_REQUIRED", "NO_ACTION"
2732
+ # resp.risk_configuration.account_takeover_risk_configuration.actions.medium_action.notify #=> Boolean
2733
+ # resp.risk_configuration.account_takeover_risk_configuration.actions.medium_action.event_action #=> String, one of "BLOCK", "MFA_IF_CONFIGURED", "MFA_REQUIRED", "NO_ACTION"
2734
+ # resp.risk_configuration.account_takeover_risk_configuration.actions.high_action.notify #=> Boolean
2735
+ # resp.risk_configuration.account_takeover_risk_configuration.actions.high_action.event_action #=> String, one of "BLOCK", "MFA_IF_CONFIGURED", "MFA_REQUIRED", "NO_ACTION"
2736
+ # resp.risk_configuration.risk_exception_configuration.blocked_ip_range_list #=> Array
2737
+ # resp.risk_configuration.risk_exception_configuration.blocked_ip_range_list[0] #=> String
2738
+ # resp.risk_configuration.risk_exception_configuration.skipped_ip_range_list #=> Array
2739
+ # resp.risk_configuration.risk_exception_configuration.skipped_ip_range_list[0] #=> String
2740
+ # resp.risk_configuration.last_modified_date #=> Time
2741
+ #
2742
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeRiskConfiguration AWS API Documentation
2743
+ #
2744
+ # @overload describe_risk_configuration(params = {})
2745
+ # @param [Hash] params ({})
2746
+ def describe_risk_configuration(params = {}, options = {})
2747
+ req = build_request(:describe_risk_configuration, params)
2748
+ req.send_request(options)
2749
+ end
2750
+
2403
2751
  # Describes the user import job.
2404
2752
  #
2405
2753
  # @option params [required, String] :user_pool_id
@@ -2478,6 +2826,7 @@ module Aws::CognitoIdentityProvider
2478
2826
  # resp.user_pool.lambda_config.define_auth_challenge #=> String
2479
2827
  # resp.user_pool.lambda_config.create_auth_challenge #=> String
2480
2828
  # resp.user_pool.lambda_config.verify_auth_challenge_response #=> String
2829
+ # resp.user_pool.lambda_config.pre_token_generation #=> String
2481
2830
  # resp.user_pool.status #=> String, one of "Enabled", "Disabled"
2482
2831
  # resp.user_pool.last_modified_date #=> Time
2483
2832
  # resp.user_pool.creation_date #=> Time
@@ -2524,6 +2873,7 @@ module Aws::CognitoIdentityProvider
2524
2873
  # resp.user_pool.admin_create_user_config.invite_message_template.sms_message #=> String
2525
2874
  # resp.user_pool.admin_create_user_config.invite_message_template.email_message #=> String
2526
2875
  # resp.user_pool.admin_create_user_config.invite_message_template.email_subject #=> String
2876
+ # resp.user_pool.user_pool_add_ons.advanced_security_mode #=> String, one of "OFF", "AUDIT", "ENFORCED"
2527
2877
  #
2528
2878
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeUserPool AWS API Documentation
2529
2879
  #
@@ -2581,6 +2931,10 @@ module Aws::CognitoIdentityProvider
2581
2931
  # resp.user_pool_client.allowed_o_auth_scopes #=> Array
2582
2932
  # resp.user_pool_client.allowed_o_auth_scopes[0] #=> String
2583
2933
  # resp.user_pool_client.allowed_o_auth_flows_user_pool_client #=> Boolean
2934
+ # resp.user_pool_client.analytics_configuration.application_id #=> String
2935
+ # resp.user_pool_client.analytics_configuration.role_arn #=> String
2936
+ # resp.user_pool_client.analytics_configuration.external_id #=> String
2937
+ # resp.user_pool_client.analytics_configuration.user_data_shared #=> Boolean
2584
2938
  #
2585
2939
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeUserPoolClient AWS API Documentation
2586
2940
  #
@@ -2659,7 +3013,7 @@ module Aws::CognitoIdentityProvider
2659
3013
  # confirmation code is sent to the email. If neither a verified phone
2660
3014
  # number nor a verified email exists, `InvalidParameterException` is
2661
3015
  # thrown. To use the confirmation code for resetting the password, call
2662
- # [ConfirmForgotPassword](API_ConfirmForgotPassword.html).
3016
+ # .
2663
3017
  #
2664
3018
  # @option params [required, String] :client_id
2665
3019
  # The ID of the client associated with the user pool.
@@ -2669,10 +3023,19 @@ module Aws::CognitoIdentityProvider
2669
3023
  # secret key of a user pool client and username plus the client ID in
2670
3024
  # the message.
2671
3025
  #
3026
+ # @option params [Types::UserContextDataType] :user_context_data
3027
+ # Contextual data such as the user's device fingerprint, IP address, or
3028
+ # location used for evaluating the risk of an unexpected event by Amazon
3029
+ # Cognito advanced security.
3030
+ #
2672
3031
  # @option params [required, String] :username
2673
3032
  # The user name of the user for whom you want to enter a code to reset a
2674
3033
  # forgotten password.
2675
3034
  #
3035
+ # @option params [Types::AnalyticsMetadataType] :analytics_metadata
3036
+ # The Amazon Pinpoint analytics metadata for collecting metrics for
3037
+ # `ForgotPassword` calls.
3038
+ #
2676
3039
  # @return [Types::ForgotPasswordResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2677
3040
  #
2678
3041
  # * {Types::ForgotPasswordResponse#code_delivery_details #code_delivery_details} => Types::CodeDeliveryDetailsType
@@ -2682,7 +3045,13 @@ module Aws::CognitoIdentityProvider
2682
3045
  # resp = client.forgot_password({
2683
3046
  # client_id: "ClientIdType", # required
2684
3047
  # secret_hash: "SecretHashType",
3048
+ # user_context_data: {
3049
+ # encoded_data: "StringType",
3050
+ # },
2685
3051
  # username: "UsernameType", # required
3052
+ # analytics_metadata: {
3053
+ # analytics_endpoint_id: "StringType",
3054
+ # },
2686
3055
  # })
2687
3056
  #
2688
3057
  # @example Response structure
@@ -2906,6 +3275,8 @@ module Aws::CognitoIdentityProvider
2906
3275
  # * {Types::GetUserResponse#username #username} => String
2907
3276
  # * {Types::GetUserResponse#user_attributes #user_attributes} => Array&lt;Types::AttributeType&gt;
2908
3277
  # * {Types::GetUserResponse#mfa_options #mfa_options} => Array&lt;Types::MFAOptionType&gt;
3278
+ # * {Types::GetUserResponse#preferred_mfa_setting #preferred_mfa_setting} => String
3279
+ # * {Types::GetUserResponse#user_mfa_setting_list #user_mfa_setting_list} => Array&lt;String&gt;
2909
3280
  #
2910
3281
  # @example Request syntax with placeholder values
2911
3282
  #
@@ -2922,6 +3293,9 @@ module Aws::CognitoIdentityProvider
2922
3293
  # resp.mfa_options #=> Array
2923
3294
  # resp.mfa_options[0].delivery_medium #=> String, one of "SMS", "EMAIL"
2924
3295
  # resp.mfa_options[0].attribute_name #=> String
3296
+ # resp.preferred_mfa_setting #=> String
3297
+ # resp.user_mfa_setting_list #=> Array
3298
+ # resp.user_mfa_setting_list[0] #=> String
2925
3299
  #
2926
3300
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetUser AWS API Documentation
2927
3301
  #
@@ -2969,6 +3343,40 @@ module Aws::CognitoIdentityProvider
2969
3343
  req.send_request(options)
2970
3344
  end
2971
3345
 
3346
+ # Gets the user pool multi-factor authentication (MFA) configuration.
3347
+ #
3348
+ # @option params [required, String] :user_pool_id
3349
+ # The user pool ID.
3350
+ #
3351
+ # @return [Types::GetUserPoolMfaConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3352
+ #
3353
+ # * {Types::GetUserPoolMfaConfigResponse#sms_mfa_configuration #sms_mfa_configuration} => Types::SmsMfaConfigType
3354
+ # * {Types::GetUserPoolMfaConfigResponse#software_token_mfa_configuration #software_token_mfa_configuration} => Types::SoftwareTokenMfaConfigType
3355
+ # * {Types::GetUserPoolMfaConfigResponse#mfa_configuration #mfa_configuration} => String
3356
+ #
3357
+ # @example Request syntax with placeholder values
3358
+ #
3359
+ # resp = client.get_user_pool_mfa_config({
3360
+ # user_pool_id: "UserPoolIdType", # required
3361
+ # })
3362
+ #
3363
+ # @example Response structure
3364
+ #
3365
+ # resp.sms_mfa_configuration.sms_authentication_message #=> String
3366
+ # resp.sms_mfa_configuration.sms_configuration.sns_caller_arn #=> String
3367
+ # resp.sms_mfa_configuration.sms_configuration.external_id #=> String
3368
+ # resp.software_token_mfa_configuration.enabled #=> Boolean
3369
+ # resp.mfa_configuration #=> String, one of "OFF", "ON", "OPTIONAL"
3370
+ #
3371
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetUserPoolMfaConfig AWS API Documentation
3372
+ #
3373
+ # @overload get_user_pool_mfa_config(params = {})
3374
+ # @param [Hash] params ({})
3375
+ def get_user_pool_mfa_config(params = {}, options = {})
3376
+ req = build_request(:get_user_pool_mfa_config, params)
3377
+ req.send_request(options)
3378
+ end
3379
+
2972
3380
  # Signs out users from all devices.
2973
3381
  #
2974
3382
  # @option params [required, String] :access_token
@@ -3040,6 +3448,15 @@ module Aws::CognitoIdentityProvider
3040
3448
  # @option params [required, String] :client_id
3041
3449
  # The app client ID.
3042
3450
  #
3451
+ # @option params [Types::AnalyticsMetadataType] :analytics_metadata
3452
+ # The Amazon Pinpoint analytics metadata for collecting metrics for
3453
+ # `InitiateAuth` calls.
3454
+ #
3455
+ # @option params [Types::UserContextDataType] :user_context_data
3456
+ # Contextual data such as the user's device fingerprint, IP address, or
3457
+ # location used for evaluating the risk of an unexpected event by Amazon
3458
+ # Cognito advanced security.
3459
+ #
3043
3460
  # @return [Types::InitiateAuthResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3044
3461
  #
3045
3462
  # * {Types::InitiateAuthResponse#challenge_name #challenge_name} => String
@@ -3058,11 +3475,17 @@ module Aws::CognitoIdentityProvider
3058
3475
  # "StringType" => "StringType",
3059
3476
  # },
3060
3477
  # client_id: "ClientIdType", # required
3478
+ # analytics_metadata: {
3479
+ # analytics_endpoint_id: "StringType",
3480
+ # },
3481
+ # user_context_data: {
3482
+ # encoded_data: "StringType",
3483
+ # },
3061
3484
  # })
3062
3485
  #
3063
3486
  # @example Response structure
3064
3487
  #
3065
- # 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"
3488
+ # resp.challenge_name #=> String, one of "SMS_MFA", "SOFTWARE_TOKEN_MFA", "SELECT_MFA_TYPE", "MFA_SETUP", "PASSWORD_VERIFIER", "CUSTOM_CHALLENGE", "DEVICE_SRP_AUTH", "DEVICE_PASSWORD_VERIFIER", "ADMIN_NO_SRP_AUTH", "NEW_PASSWORD_REQUIRED"
3066
3489
  # resp.session #=> String
3067
3490
  # resp.challenge_parameters #=> Hash
3068
3491
  # resp.challenge_parameters["StringType"] #=> String
@@ -3398,6 +3821,7 @@ module Aws::CognitoIdentityProvider
3398
3821
  # resp.user_pools[0].lambda_config.define_auth_challenge #=> String
3399
3822
  # resp.user_pools[0].lambda_config.create_auth_challenge #=> String
3400
3823
  # resp.user_pools[0].lambda_config.verify_auth_challenge_response #=> String
3824
+ # resp.user_pools[0].lambda_config.pre_token_generation #=> String
3401
3825
  # resp.user_pools[0].status #=> String, one of "Enabled", "Disabled"
3402
3826
  # resp.user_pools[0].last_modified_date #=> Time
3403
3827
  # resp.user_pools[0].creation_date #=> Time
@@ -3421,7 +3845,7 @@ module Aws::CognitoIdentityProvider
3421
3845
  # @option params [Array<String>] :attributes_to_get
3422
3846
  # An array of strings, where each string is the name of a user attribute
3423
3847
  # to be returned for each user in the search results. If the array is
3424
- # empty, all attributes are returned.
3848
+ # null, all attributes are returned.
3425
3849
  #
3426
3850
  # @option params [Integer] :limit
3427
3851
  # Maximum number of users to be returned.
@@ -3471,6 +3895,8 @@ module Aws::CognitoIdentityProvider
3471
3895
  #
3472
3896
  # * `status` (case-insensitive)
3473
3897
  #
3898
+ # * `sub`
3899
+ #
3474
3900
  # Custom attributes are not searchable.
3475
3901
  #
3476
3902
  # For more information, see [Searching for Users Using the ListUsers
@@ -3590,10 +4016,19 @@ module Aws::CognitoIdentityProvider
3590
4016
  # secret key of a user pool client and username plus the client ID in
3591
4017
  # the message.
3592
4018
  #
4019
+ # @option params [Types::UserContextDataType] :user_context_data
4020
+ # Contextual data such as the user's device fingerprint, IP address, or
4021
+ # location used for evaluating the risk of an unexpected event by Amazon
4022
+ # Cognito advanced security.
4023
+ #
3593
4024
  # @option params [required, String] :username
3594
4025
  # The user name of the user to whom you wish to resend a confirmation
3595
4026
  # code.
3596
4027
  #
4028
+ # @option params [Types::AnalyticsMetadataType] :analytics_metadata
4029
+ # The Amazon Pinpoint analytics metadata for collecting metrics for
4030
+ # `ResendConfirmationCode` calls.
4031
+ #
3597
4032
  # @return [Types::ResendConfirmationCodeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3598
4033
  #
3599
4034
  # * {Types::ResendConfirmationCodeResponse#code_delivery_details #code_delivery_details} => Types::CodeDeliveryDetailsType
@@ -3603,7 +4038,13 @@ module Aws::CognitoIdentityProvider
3603
4038
  # resp = client.resend_confirmation_code({
3604
4039
  # client_id: "ClientIdType", # required
3605
4040
  # secret_hash: "SecretHashType",
4041
+ # user_context_data: {
4042
+ # encoded_data: "StringType",
4043
+ # },
3606
4044
  # username: "UsernameType", # required
4045
+ # analytics_metadata: {
4046
+ # analytics_endpoint_id: "StringType",
4047
+ # },
3607
4048
  # })
3608
4049
  #
3609
4050
  # @example Response structure
@@ -3627,8 +4068,7 @@ module Aws::CognitoIdentityProvider
3627
4068
  # The app client ID.
3628
4069
  #
3629
4070
  # @option params [required, String] :challenge_name
3630
- # The challenge name. For more information, see
3631
- # [InitiateAuth](API_InitiateAuth.html).
4071
+ # The challenge name. For more information, see .
3632
4072
  #
3633
4073
  # `ADMIN_NO_SRP_AUTH` is not a valid value.
3634
4074
  #
@@ -3655,6 +4095,15 @@ module Aws::CognitoIdentityProvider
3655
4095
  # attributes, `USERNAME`, `SECRET_HASH` (if app client is configured
3656
4096
  # with client secret).
3657
4097
  #
4098
+ # @option params [Types::AnalyticsMetadataType] :analytics_metadata
4099
+ # The Amazon Pinpoint analytics metadata for collecting metrics for
4100
+ # `RespondToAuthChallenge` calls.
4101
+ #
4102
+ # @option params [Types::UserContextDataType] :user_context_data
4103
+ # Contextual data such as the user's device fingerprint, IP address, or
4104
+ # location used for evaluating the risk of an unexpected event by Amazon
4105
+ # Cognito advanced security.
4106
+ #
3658
4107
  # @return [Types::RespondToAuthChallengeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3659
4108
  #
3660
4109
  # * {Types::RespondToAuthChallengeResponse#challenge_name #challenge_name} => String
@@ -3666,16 +4115,22 @@ module Aws::CognitoIdentityProvider
3666
4115
  #
3667
4116
  # resp = client.respond_to_auth_challenge({
3668
4117
  # client_id: "ClientIdType", # required
3669
- # 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
4118
+ # challenge_name: "SMS_MFA", # required, accepts SMS_MFA, SOFTWARE_TOKEN_MFA, SELECT_MFA_TYPE, MFA_SETUP, PASSWORD_VERIFIER, CUSTOM_CHALLENGE, DEVICE_SRP_AUTH, DEVICE_PASSWORD_VERIFIER, ADMIN_NO_SRP_AUTH, NEW_PASSWORD_REQUIRED
3670
4119
  # session: "SessionType",
3671
4120
  # challenge_responses: {
3672
4121
  # "StringType" => "StringType",
3673
4122
  # },
4123
+ # analytics_metadata: {
4124
+ # analytics_endpoint_id: "StringType",
4125
+ # },
4126
+ # user_context_data: {
4127
+ # encoded_data: "StringType",
4128
+ # },
3674
4129
  # })
3675
4130
  #
3676
4131
  # @example Response structure
3677
4132
  #
3678
- # 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"
4133
+ # resp.challenge_name #=> String, one of "SMS_MFA", "SOFTWARE_TOKEN_MFA", "SELECT_MFA_TYPE", "MFA_SETUP", "PASSWORD_VERIFIER", "CUSTOM_CHALLENGE", "DEVICE_SRP_AUTH", "DEVICE_PASSWORD_VERIFIER", "ADMIN_NO_SRP_AUTH", "NEW_PASSWORD_REQUIRED"
3679
4134
  # resp.session #=> String
3680
4135
  # resp.challenge_parameters #=> Hash
3681
4136
  # resp.challenge_parameters["StringType"] #=> String
@@ -3696,6 +4151,133 @@ module Aws::CognitoIdentityProvider
3696
4151
  req.send_request(options)
3697
4152
  end
3698
4153
 
4154
+ # Configures actions on detected risks. To delete the risk configuration
4155
+ # for `UserPoolId` or `ClientId`, pass null values for all four
4156
+ # configuration types.
4157
+ #
4158
+ # To enable Amazon Cognito advanced security features, update the user
4159
+ # pool to include the `UserPoolAddOns` key`AdvancedSecurityMode`.
4160
+ #
4161
+ # See .
4162
+ #
4163
+ # @option params [required, String] :user_pool_id
4164
+ # The user pool ID.
4165
+ #
4166
+ # @option params [String] :client_id
4167
+ # The app client ID. If `ClientId` is null, then the risk configuration
4168
+ # is mapped to `userPoolId`. When the client ID is null, the same risk
4169
+ # configuration is applied to all the clients in the userPool.
4170
+ #
4171
+ # Otherwise, `ClientId` is mapped to the client. When the client ID is
4172
+ # not null, the user pool configuration is overridden and the risk
4173
+ # configuration for the client is used instead.
4174
+ #
4175
+ # @option params [Types::CompromisedCredentialsRiskConfigurationType] :compromised_credentials_risk_configuration
4176
+ # The compromised credentials risk configuration.
4177
+ #
4178
+ # @option params [Types::AccountTakeoverRiskConfigurationType] :account_takeover_risk_configuration
4179
+ # The account takeover risk configuration.
4180
+ #
4181
+ # @option params [Types::RiskExceptionConfigurationType] :risk_exception_configuration
4182
+ # The configuration to override the risk decision.
4183
+ #
4184
+ # @return [Types::SetRiskConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4185
+ #
4186
+ # * {Types::SetRiskConfigurationResponse#risk_configuration #risk_configuration} => Types::RiskConfigurationType
4187
+ #
4188
+ # @example Request syntax with placeholder values
4189
+ #
4190
+ # resp = client.set_risk_configuration({
4191
+ # user_pool_id: "UserPoolIdType", # required
4192
+ # client_id: "ClientIdType",
4193
+ # compromised_credentials_risk_configuration: {
4194
+ # event_filter: ["SIGN_IN"], # accepts SIGN_IN, PASSWORD_CHANGE, SIGN_UP
4195
+ # actions: { # required
4196
+ # event_action: "BLOCK", # required, accepts BLOCK, NO_ACTION
4197
+ # },
4198
+ # },
4199
+ # account_takeover_risk_configuration: {
4200
+ # notify_configuration: {
4201
+ # from: "StringType",
4202
+ # reply_to: "StringType",
4203
+ # source_arn: "ArnType", # required
4204
+ # block_email: {
4205
+ # subject: "EmailNotificationSubjectType", # required
4206
+ # html_body: "EmailNotificationBodyType",
4207
+ # text_body: "EmailNotificationBodyType",
4208
+ # },
4209
+ # no_action_email: {
4210
+ # subject: "EmailNotificationSubjectType", # required
4211
+ # html_body: "EmailNotificationBodyType",
4212
+ # text_body: "EmailNotificationBodyType",
4213
+ # },
4214
+ # mfa_email: {
4215
+ # subject: "EmailNotificationSubjectType", # required
4216
+ # html_body: "EmailNotificationBodyType",
4217
+ # text_body: "EmailNotificationBodyType",
4218
+ # },
4219
+ # },
4220
+ # actions: { # required
4221
+ # low_action: {
4222
+ # notify: false, # required
4223
+ # event_action: "BLOCK", # required, accepts BLOCK, MFA_IF_CONFIGURED, MFA_REQUIRED, NO_ACTION
4224
+ # },
4225
+ # medium_action: {
4226
+ # notify: false, # required
4227
+ # event_action: "BLOCK", # required, accepts BLOCK, MFA_IF_CONFIGURED, MFA_REQUIRED, NO_ACTION
4228
+ # },
4229
+ # high_action: {
4230
+ # notify: false, # required
4231
+ # event_action: "BLOCK", # required, accepts BLOCK, MFA_IF_CONFIGURED, MFA_REQUIRED, NO_ACTION
4232
+ # },
4233
+ # },
4234
+ # },
4235
+ # risk_exception_configuration: {
4236
+ # blocked_ip_range_list: ["StringType"],
4237
+ # skipped_ip_range_list: ["StringType"],
4238
+ # },
4239
+ # })
4240
+ #
4241
+ # @example Response structure
4242
+ #
4243
+ # resp.risk_configuration.user_pool_id #=> String
4244
+ # resp.risk_configuration.client_id #=> String
4245
+ # resp.risk_configuration.compromised_credentials_risk_configuration.event_filter #=> Array
4246
+ # resp.risk_configuration.compromised_credentials_risk_configuration.event_filter[0] #=> String, one of "SIGN_IN", "PASSWORD_CHANGE", "SIGN_UP"
4247
+ # resp.risk_configuration.compromised_credentials_risk_configuration.actions.event_action #=> String, one of "BLOCK", "NO_ACTION"
4248
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.from #=> String
4249
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.reply_to #=> String
4250
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.source_arn #=> String
4251
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.block_email.subject #=> String
4252
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.block_email.html_body #=> String
4253
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.block_email.text_body #=> String
4254
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.no_action_email.subject #=> String
4255
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.no_action_email.html_body #=> String
4256
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.no_action_email.text_body #=> String
4257
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.mfa_email.subject #=> String
4258
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.mfa_email.html_body #=> String
4259
+ # resp.risk_configuration.account_takeover_risk_configuration.notify_configuration.mfa_email.text_body #=> String
4260
+ # resp.risk_configuration.account_takeover_risk_configuration.actions.low_action.notify #=> Boolean
4261
+ # resp.risk_configuration.account_takeover_risk_configuration.actions.low_action.event_action #=> String, one of "BLOCK", "MFA_IF_CONFIGURED", "MFA_REQUIRED", "NO_ACTION"
4262
+ # resp.risk_configuration.account_takeover_risk_configuration.actions.medium_action.notify #=> Boolean
4263
+ # resp.risk_configuration.account_takeover_risk_configuration.actions.medium_action.event_action #=> String, one of "BLOCK", "MFA_IF_CONFIGURED", "MFA_REQUIRED", "NO_ACTION"
4264
+ # resp.risk_configuration.account_takeover_risk_configuration.actions.high_action.notify #=> Boolean
4265
+ # resp.risk_configuration.account_takeover_risk_configuration.actions.high_action.event_action #=> String, one of "BLOCK", "MFA_IF_CONFIGURED", "MFA_REQUIRED", "NO_ACTION"
4266
+ # resp.risk_configuration.risk_exception_configuration.blocked_ip_range_list #=> Array
4267
+ # resp.risk_configuration.risk_exception_configuration.blocked_ip_range_list[0] #=> String
4268
+ # resp.risk_configuration.risk_exception_configuration.skipped_ip_range_list #=> Array
4269
+ # resp.risk_configuration.risk_exception_configuration.skipped_ip_range_list[0] #=> String
4270
+ # resp.risk_configuration.last_modified_date #=> Time
4271
+ #
4272
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetRiskConfiguration AWS API Documentation
4273
+ #
4274
+ # @overload set_risk_configuration(params = {})
4275
+ # @param [Hash] params ({})
4276
+ def set_risk_configuration(params = {}, options = {})
4277
+ req = build_request(:set_risk_configuration, params)
4278
+ req.send_request(options)
4279
+ end
4280
+
3699
4281
  # Sets the UI customization information for a user pool's built-in app
3700
4282
  # UI.
3701
4283
  #
@@ -3756,6 +4338,96 @@ module Aws::CognitoIdentityProvider
3756
4338
  req.send_request(options)
3757
4339
  end
3758
4340
 
4341
+ # Set the user's multi-factor authentication (MFA) method preference.
4342
+ #
4343
+ # @option params [Types::SMSMfaSettingsType] :sms_mfa_settings
4344
+ # The SMS text message multi-factor authentication (MFA) settings.
4345
+ #
4346
+ # @option params [Types::SoftwareTokenMfaSettingsType] :software_token_mfa_settings
4347
+ # The time-based one-time password software token MFA settings.
4348
+ #
4349
+ # @option params [required, String] :access_token
4350
+ # The access token.
4351
+ #
4352
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4353
+ #
4354
+ # @example Request syntax with placeholder values
4355
+ #
4356
+ # resp = client.set_user_mfa_preference({
4357
+ # sms_mfa_settings: {
4358
+ # enabled: false,
4359
+ # preferred_mfa: false,
4360
+ # },
4361
+ # software_token_mfa_settings: {
4362
+ # enabled: false,
4363
+ # preferred_mfa: false,
4364
+ # },
4365
+ # access_token: "TokenModelType", # required
4366
+ # })
4367
+ #
4368
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetUserMFAPreference AWS API Documentation
4369
+ #
4370
+ # @overload set_user_mfa_preference(params = {})
4371
+ # @param [Hash] params ({})
4372
+ def set_user_mfa_preference(params = {}, options = {})
4373
+ req = build_request(:set_user_mfa_preference, params)
4374
+ req.send_request(options)
4375
+ end
4376
+
4377
+ # Set the user pool MFA configuration.
4378
+ #
4379
+ # @option params [required, String] :user_pool_id
4380
+ # The user pool ID.
4381
+ #
4382
+ # @option params [Types::SmsMfaConfigType] :sms_mfa_configuration
4383
+ # The SMS text message MFA configuration.
4384
+ #
4385
+ # @option params [Types::SoftwareTokenMfaConfigType] :software_token_mfa_configuration
4386
+ # The software token MFA configuration.
4387
+ #
4388
+ # @option params [String] :mfa_configuration
4389
+ # The MFA configuration.
4390
+ #
4391
+ # @return [Types::SetUserPoolMfaConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4392
+ #
4393
+ # * {Types::SetUserPoolMfaConfigResponse#sms_mfa_configuration #sms_mfa_configuration} => Types::SmsMfaConfigType
4394
+ # * {Types::SetUserPoolMfaConfigResponse#software_token_mfa_configuration #software_token_mfa_configuration} => Types::SoftwareTokenMfaConfigType
4395
+ # * {Types::SetUserPoolMfaConfigResponse#mfa_configuration #mfa_configuration} => String
4396
+ #
4397
+ # @example Request syntax with placeholder values
4398
+ #
4399
+ # resp = client.set_user_pool_mfa_config({
4400
+ # user_pool_id: "UserPoolIdType", # required
4401
+ # sms_mfa_configuration: {
4402
+ # sms_authentication_message: "SmsVerificationMessageType",
4403
+ # sms_configuration: {
4404
+ # sns_caller_arn: "ArnType", # required
4405
+ # external_id: "StringType",
4406
+ # },
4407
+ # },
4408
+ # software_token_mfa_configuration: {
4409
+ # enabled: false,
4410
+ # },
4411
+ # mfa_configuration: "OFF", # accepts OFF, ON, OPTIONAL
4412
+ # })
4413
+ #
4414
+ # @example Response structure
4415
+ #
4416
+ # resp.sms_mfa_configuration.sms_authentication_message #=> String
4417
+ # resp.sms_mfa_configuration.sms_configuration.sns_caller_arn #=> String
4418
+ # resp.sms_mfa_configuration.sms_configuration.external_id #=> String
4419
+ # resp.software_token_mfa_configuration.enabled #=> Boolean
4420
+ # resp.mfa_configuration #=> String, one of "OFF", "ON", "OPTIONAL"
4421
+ #
4422
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetUserPoolMfaConfig AWS API Documentation
4423
+ #
4424
+ # @overload set_user_pool_mfa_config(params = {})
4425
+ # @param [Hash] params ({})
4426
+ def set_user_pool_mfa_config(params = {}, options = {})
4427
+ req = build_request(:set_user_pool_mfa_config, params)
4428
+ req.send_request(options)
4429
+ end
4430
+
3759
4431
  # Sets the user settings like multi-factor authentication (MFA). If MFA
3760
4432
  # is to be removed for a particular attribute pass the attribute with
3761
4433
  # code delivery as null. If null list is passed, all MFA options are
@@ -3816,6 +4488,15 @@ module Aws::CognitoIdentityProvider
3816
4488
  # @option params [Array<Types::AttributeType>] :validation_data
3817
4489
  # The validation data in the request to register a user.
3818
4490
  #
4491
+ # @option params [Types::AnalyticsMetadataType] :analytics_metadata
4492
+ # The Amazon Pinpoint analytics metadata for collecting metrics for
4493
+ # `SignUp` calls.
4494
+ #
4495
+ # @option params [Types::UserContextDataType] :user_context_data
4496
+ # Contextual data such as the user's device fingerprint, IP address, or
4497
+ # location used for evaluating the risk of an unexpected event by Amazon
4498
+ # Cognito advanced security.
4499
+ #
3819
4500
  # @return [Types::SignUpResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3820
4501
  #
3821
4502
  # * {Types::SignUpResponse#user_confirmed #user_confirmed} => Boolean
@@ -3841,6 +4522,12 @@ module Aws::CognitoIdentityProvider
3841
4522
  # value: "AttributeValueType",
3842
4523
  # },
3843
4524
  # ],
4525
+ # analytics_metadata: {
4526
+ # analytics_endpoint_id: "StringType",
4527
+ # },
4528
+ # user_context_data: {
4529
+ # encoded_data: "StringType",
4530
+ # },
3844
4531
  # })
3845
4532
  #
3846
4533
  # @example Response structure
@@ -3950,6 +4637,47 @@ module Aws::CognitoIdentityProvider
3950
4637
  req.send_request(options)
3951
4638
  end
3952
4639
 
4640
+ # Provides the feedback for an authentication event whether it was from
4641
+ # a valid user or not. This feedback is used for improving the risk
4642
+ # evaluation decision for the user pool as part of Amazon Cognito
4643
+ # advanced security.
4644
+ #
4645
+ # @option params [required, String] :user_pool_id
4646
+ # The user pool ID.
4647
+ #
4648
+ # @option params [required, String] :username
4649
+ # The user pool username.
4650
+ #
4651
+ # @option params [required, String] :event_id
4652
+ # The event ID.
4653
+ #
4654
+ # @option params [required, String] :feedback_token
4655
+ # The feedback token.
4656
+ #
4657
+ # @option params [required, String] :feedback_value
4658
+ # The authentication event feedback value.
4659
+ #
4660
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4661
+ #
4662
+ # @example Request syntax with placeholder values
4663
+ #
4664
+ # resp = client.update_auth_event_feedback({
4665
+ # user_pool_id: "UserPoolIdType", # required
4666
+ # username: "UsernameType", # required
4667
+ # event_id: "EventIdType", # required
4668
+ # feedback_token: "TokenModelType", # required
4669
+ # feedback_value: "Valid", # required, accepts Valid, Invalid
4670
+ # })
4671
+ #
4672
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateAuthEventFeedback AWS API Documentation
4673
+ #
4674
+ # @overload update_auth_event_feedback(params = {})
4675
+ # @param [Hash] params ({})
4676
+ def update_auth_event_feedback(params = {}, options = {})
4677
+ req = build_request(:update_auth_event_feedback, params)
4678
+ req.send_request(options)
4679
+ end
4680
+
3953
4681
  # Updates the device status.
3954
4682
  #
3955
4683
  # @option params [required, String] :access_token
@@ -3999,7 +4727,7 @@ module Aws::CognitoIdentityProvider
3999
4727
  #
4000
4728
  # @option params [Integer] :precedence
4001
4729
  # The new precedence value for the group. For more information about
4002
- # this parameter, see [CreateGroup](API_CreateGroup.html).
4730
+ # this parameter, see .
4003
4731
  #
4004
4732
  # @return [Types::UpdateGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4005
4733
  #
@@ -4250,6 +4978,10 @@ module Aws::CognitoIdentityProvider
4250
4978
  # @option params [Types::AdminCreateUserConfigType] :admin_create_user_config
4251
4979
  # The configuration for `AdminCreateUser` requests.
4252
4980
  #
4981
+ # @option params [Types::UserPoolAddOnsType] :user_pool_add_ons
4982
+ # Used to enable advanced security risk detection. Set the key
4983
+ # `AdvancedSecurityMode` to the value "AUDIT".
4984
+ #
4253
4985
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4254
4986
  #
4255
4987
  # @example Request syntax with placeholder values
@@ -4274,6 +5006,7 @@ module Aws::CognitoIdentityProvider
4274
5006
  # define_auth_challenge: "ArnType",
4275
5007
  # create_auth_challenge: "ArnType",
4276
5008
  # verify_auth_challenge_response: "ArnType",
5009
+ # pre_token_generation: "ArnType",
4277
5010
  # },
4278
5011
  # auto_verified_attributes: ["phone_number"], # accepts phone_number, email
4279
5012
  # sms_verification_message: "SmsVerificationMessageType",
@@ -4313,6 +5046,9 @@ module Aws::CognitoIdentityProvider
4313
5046
  # email_subject: "EmailVerificationSubjectType",
4314
5047
  # },
4315
5048
  # },
5049
+ # user_pool_add_ons: {
5050
+ # advanced_security_mode: "OFF", # required, accepts OFF, AUDIT, ENFORCED
5051
+ # },
4316
5052
  # })
4317
5053
  #
4318
5054
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserPool AWS API Documentation
@@ -4379,6 +5115,10 @@ module Aws::CognitoIdentityProvider
4379
5115
  # Set to TRUE if the client is allowed to follow the OAuth protocol when
4380
5116
  # interacting with Cognito user pools.
4381
5117
  #
5118
+ # @option params [Types::AnalyticsConfigurationType] :analytics_configuration
5119
+ # The Amazon Pinpoint analytics configuration for collecting metrics for
5120
+ # this user pool.
5121
+ #
4382
5122
  # @return [Types::UpdateUserPoolClientResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4383
5123
  #
4384
5124
  # * {Types::UpdateUserPoolClientResponse#user_pool_client #user_pool_client} => Types::UserPoolClientType
@@ -4400,6 +5140,12 @@ module Aws::CognitoIdentityProvider
4400
5140
  # allowed_o_auth_flows: ["code"], # accepts code, implicit, client_credentials
4401
5141
  # allowed_o_auth_scopes: ["ScopeType"],
4402
5142
  # allowed_o_auth_flows_user_pool_client: false,
5143
+ # analytics_configuration: {
5144
+ # application_id: "HexStringType", # required
5145
+ # role_arn: "ArnType", # required
5146
+ # external_id: "StringType", # required
5147
+ # user_data_shared: false,
5148
+ # },
4403
5149
  # })
4404
5150
  #
4405
5151
  # @example Response structure
@@ -4429,6 +5175,10 @@ module Aws::CognitoIdentityProvider
4429
5175
  # resp.user_pool_client.allowed_o_auth_scopes #=> Array
4430
5176
  # resp.user_pool_client.allowed_o_auth_scopes[0] #=> String
4431
5177
  # resp.user_pool_client.allowed_o_auth_flows_user_pool_client #=> Boolean
5178
+ # resp.user_pool_client.analytics_configuration.application_id #=> String
5179
+ # resp.user_pool_client.analytics_configuration.role_arn #=> String
5180
+ # resp.user_pool_client.analytics_configuration.external_id #=> String
5181
+ # resp.user_pool_client.analytics_configuration.user_data_shared #=> Boolean
4432
5182
  #
4433
5183
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserPoolClient AWS API Documentation
4434
5184
  #
@@ -4439,6 +5189,50 @@ module Aws::CognitoIdentityProvider
4439
5189
  req.send_request(options)
4440
5190
  end
4441
5191
 
5192
+ # Use this API to register a user's entered TOTP code and mark the
5193
+ # user's software token MFA status as "verified" if successful,
5194
+ #
5195
+ # @option params [String] :access_token
5196
+ # The access token.
5197
+ #
5198
+ # @option params [String] :session
5199
+ # The session which should be passed both ways in challenge-response
5200
+ # calls to the service.
5201
+ #
5202
+ # @option params [required, String] :user_code
5203
+ # The one time password computed using the secret code returned by
5204
+ #
5205
+ # @option params [String] :friendly_device_name
5206
+ # The friendly device name.
5207
+ #
5208
+ # @return [Types::VerifySoftwareTokenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5209
+ #
5210
+ # * {Types::VerifySoftwareTokenResponse#status #status} => String
5211
+ # * {Types::VerifySoftwareTokenResponse#session #session} => String
5212
+ #
5213
+ # @example Request syntax with placeholder values
5214
+ #
5215
+ # resp = client.verify_software_token({
5216
+ # access_token: "TokenModelType",
5217
+ # session: "SessionType",
5218
+ # user_code: "SoftwareTokenMFAUserCodeType", # required
5219
+ # friendly_device_name: "StringType",
5220
+ # })
5221
+ #
5222
+ # @example Response structure
5223
+ #
5224
+ # resp.status #=> String, one of "SUCCESS", "ERROR"
5225
+ # resp.session #=> String
5226
+ #
5227
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/VerifySoftwareToken AWS API Documentation
5228
+ #
5229
+ # @overload verify_software_token(params = {})
5230
+ # @param [Hash] params ({})
5231
+ def verify_software_token(params = {}, options = {})
5232
+ req = build_request(:verify_software_token, params)
5233
+ req.send_request(options)
5234
+ end
5235
+
4442
5236
  # Verifies the specified user attributes in the user pool.
4443
5237
  #
4444
5238
  # @option params [required, String] :access_token
@@ -4482,7 +5276,7 @@ module Aws::CognitoIdentityProvider
4482
5276
  params: params,
4483
5277
  config: config)
4484
5278
  context[:gem_name] = 'aws-sdk-cognitoidentityprovider'
4485
- context[:gem_version] = '1.0.0'
5279
+ context[:gem_version] = '1.1.0'
4486
5280
  Seahorse::Client::Request.new(handlers, context)
4487
5281
  end
4488
5282