using System.Collections.Generic;
using System.Runtime.Serialization;
namespace Amazon.Lambda.CognitoEvents
{
///
/// https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html
///
public class CognitoMigrateUserRequest : CognitoTriggerRequest
{
///
/// The username entered by the user.
///
[DataMember(Name = "userName")]
#if NETCOREAPP3_1
[System.Text.Json.Serialization.JsonPropertyName("userName")]
#endif
public string UserName { get; set; }
///
/// The password entered by the user for sign-in. It is not set in the forgot-password flow.
///
[DataMember(Name = "password")]
#if NETCOREAPP3_1
[System.Text.Json.Serialization.JsonPropertyName("password")]
#endif
public string Password { get; set; }
///
/// One or more name-value pairs containing the validation data in the request to register a user. The validation data is set and then passed from the client in the request to register a user. You can pass this data to your Lambda function by using the ClientMetadata parameter in the InitiateAuth and AdminInitiateAuth API actions.
///
[DataMember(Name = "validationData")]
#if NETCOREAPP3_1
[System.Text.Json.Serialization.JsonPropertyName("validationData")]
#endif
public Dictionary ValidationData { get; set; } = new Dictionary();
///
/// One or more key-value pairs that you can provide as custom input to the Lambda function that you specify for the pre sign-up trigger. You can pass this data to your Lambda function by using the ClientMetadata parameter in the following API actions: AdminCreateUser, AdminRespondToAuthChallenge, ForgotPassword, and SignUp.
///
[DataMember(Name = "clientMetadata")]
#if NETCOREAPP3_1
[System.Text.Json.Serialization.JsonPropertyName("clientMetadata")]
#endif
public Dictionary ClientMetadata { get; set; } = new Dictionary();
}
}