
com.amazonaws.services.cognitoidp.model.AdminRespondToAuthChallengeRequest Maven / Gradle / Ivy
/*
* Copyright 2016-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.cognitoidp.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
/**
*
* The request to respond to the authentication challenge, as an administrator.
*
*
* @see AWS API Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class AdminRespondToAuthChallengeRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* The ID of the Amazon Cognito user pool.
*
*/
private String userPoolId;
/**
*
* The app client ID.
*
*/
private String clientId;
/**
*
* The challenge name. For more information, see AdminInitiateAuth.
*
*/
private String challengeName;
/**
*
* The challenge responses. These are inputs corresponding to the value of ChallengeName
, for example:
*
*
* -
*
* SMS_MFA
: SMS_MFA_CODE
, USERNAME
, SECRET_HASH
(if app client
* is configured with client secret).
*
*
* -
*
* PASSWORD_VERIFIER
: PASSWORD_CLAIM_SIGNATURE
, PASSWORD_CLAIM_SECRET_BLOCK
,
* TIMESTAMP
, USERNAME
, SECRET_HASH
(if app client is configured with client
* secret).
*
*
* -
*
* ADMIN_NO_SRP_AUTH
: PASSWORD
, USERNAME
, SECRET_HASH
(if app
* client is configured with client secret).
*
*
* -
*
* NEW_PASSWORD_REQUIRED
: NEW_PASSWORD
, any other required attributes,
* USERNAME
, SECRET_HASH
(if app client is configured with client secret).
*
*
* -
*
* MFA_SETUP
requires USERNAME
, plus you need to use the session value returned by
* VerifySoftwareToken
in the Session
parameter.
*
*
*
*
* The value of the USERNAME
attribute must be the user's actual username, not an alias (such as email
* address or phone number). To make this easier, the AdminInitiateAuth
response includes the actual
* username value in the USERNAMEUSER_ID_FOR_SRP
attribute, even if you specified an alias in your call
* to AdminInitiateAuth
.
*
*/
private java.util.Map challengeResponses;
/**
*
* The session which should be passed both ways in challenge-response calls to the service. If
* InitiateAuth
or RespondToAuthChallenge
API call determines that the caller needs to go
* through another challenge, they return a session with other challenge parameters. This session should be passed
* as it is to the next RespondToAuthChallenge
API call.
*
*/
private String session;
/**
*
* The analytics metadata for collecting Amazon Pinpoint metrics for AdminRespondToAuthChallenge
calls.
*
*/
private AnalyticsMetadataType analyticsMetadata;
/**
*
* Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an
* unexpected event by Amazon Cognito advanced security.
*
*/
private ContextDataType contextData;
/**
*
* A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.
*
*
* You create custom workflows by assigning Lambda functions to user pool triggers. When you use the
* AdminRespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the following
* triggers: pre sign-up, custom message, post authentication, user migration, pre
* token generation, define auth challenge, create auth challenge, and verify auth challenge
* response. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function
* receives as input. This payload contains a clientMetadata
attribute, which provides the data that
* you assigned to the ClientMetadata parameter in your AdminRespondToAuthChallenge request. In your function code
* in Lambda, you can process the clientMetadata
value to enhance your workflow for your specific
* needs.
*
*
* For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.
*
*
*
* Take the following limitations into consideration when you use the ClientMetadata parameter:
*
*
* -
*
* Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are
* assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers,
* the ClientMetadata parameter serves no purpose.
*
*
* -
*
* Amazon Cognito does not validate the ClientMetadata value.
*
*
* -
*
* Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.
*
*
*
*
*/
private java.util.Map clientMetadata;
/**
*
* The ID of the Amazon Cognito user pool.
*
*
* @param userPoolId
* The ID of the Amazon Cognito user pool.
*/
public void setUserPoolId(String userPoolId) {
this.userPoolId = userPoolId;
}
/**
*
* The ID of the Amazon Cognito user pool.
*
*
* @return The ID of the Amazon Cognito user pool.
*/
public String getUserPoolId() {
return this.userPoolId;
}
/**
*
* The ID of the Amazon Cognito user pool.
*
*
* @param userPoolId
* The ID of the Amazon Cognito user pool.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AdminRespondToAuthChallengeRequest withUserPoolId(String userPoolId) {
setUserPoolId(userPoolId);
return this;
}
/**
*
* The app client ID.
*
*
* @param clientId
* The app client ID.
*/
public void setClientId(String clientId) {
this.clientId = clientId;
}
/**
*
* The app client ID.
*
*
* @return The app client ID.
*/
public String getClientId() {
return this.clientId;
}
/**
*
* The app client ID.
*
*
* @param clientId
* The app client ID.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AdminRespondToAuthChallengeRequest withClientId(String clientId) {
setClientId(clientId);
return this;
}
/**
*
* The challenge name. For more information, see AdminInitiateAuth.
*
*
* @param challengeName
* The challenge name. For more information, see AdminInitiateAuth.
* @see ChallengeNameType
*/
public void setChallengeName(String challengeName) {
this.challengeName = challengeName;
}
/**
*
* The challenge name. For more information, see AdminInitiateAuth.
*
*
* @return The challenge name. For more information, see AdminInitiateAuth.
* @see ChallengeNameType
*/
public String getChallengeName() {
return this.challengeName;
}
/**
*
* The challenge name. For more information, see AdminInitiateAuth.
*
*
* @param challengeName
* The challenge name. For more information, see AdminInitiateAuth.
* @return Returns a reference to this object so that method calls can be chained together.
* @see ChallengeNameType
*/
public AdminRespondToAuthChallengeRequest withChallengeName(String challengeName) {
setChallengeName(challengeName);
return this;
}
/**
*
* The challenge name. For more information, see AdminInitiateAuth.
*
*
* @param challengeName
* The challenge name. For more information, see AdminInitiateAuth.
* @see ChallengeNameType
*/
public void setChallengeName(ChallengeNameType challengeName) {
withChallengeName(challengeName);
}
/**
*
* The challenge name. For more information, see AdminInitiateAuth.
*
*
* @param challengeName
* The challenge name. For more information, see AdminInitiateAuth.
* @return Returns a reference to this object so that method calls can be chained together.
* @see ChallengeNameType
*/
public AdminRespondToAuthChallengeRequest withChallengeName(ChallengeNameType challengeName) {
this.challengeName = challengeName.toString();
return this;
}
/**
*
* The challenge responses. These are inputs corresponding to the value of ChallengeName
, for example:
*
*
* -
*
* SMS_MFA
: SMS_MFA_CODE
, USERNAME
, SECRET_HASH
(if app client
* is configured with client secret).
*
*
* -
*
* PASSWORD_VERIFIER
: PASSWORD_CLAIM_SIGNATURE
, PASSWORD_CLAIM_SECRET_BLOCK
,
* TIMESTAMP
, USERNAME
, SECRET_HASH
(if app client is configured with client
* secret).
*
*
* -
*
* ADMIN_NO_SRP_AUTH
: PASSWORD
, USERNAME
, SECRET_HASH
(if app
* client is configured with client secret).
*
*
* -
*
* NEW_PASSWORD_REQUIRED
: NEW_PASSWORD
, any other required attributes,
* USERNAME
, SECRET_HASH
(if app client is configured with client secret).
*
*
* -
*
* MFA_SETUP
requires USERNAME
, plus you need to use the session value returned by
* VerifySoftwareToken
in the Session
parameter.
*
*
*
*
* The value of the USERNAME
attribute must be the user's actual username, not an alias (such as email
* address or phone number). To make this easier, the AdminInitiateAuth
response includes the actual
* username value in the USERNAMEUSER_ID_FOR_SRP
attribute, even if you specified an alias in your call
* to AdminInitiateAuth
.
*
*
* @return The challenge responses. These are inputs corresponding to the value of ChallengeName
, for
* example:
*
* -
*
* SMS_MFA
: SMS_MFA_CODE
, USERNAME
, SECRET_HASH
(if app
* client is configured with client secret).
*
*
* -
*
* PASSWORD_VERIFIER
: PASSWORD_CLAIM_SIGNATURE
,
* PASSWORD_CLAIM_SECRET_BLOCK
, TIMESTAMP
, USERNAME
,
* SECRET_HASH
(if app client is configured with client secret).
*
*
* -
*
* ADMIN_NO_SRP_AUTH
: PASSWORD
, USERNAME
, SECRET_HASH
* (if app client is configured with client secret).
*
*
* -
*
* NEW_PASSWORD_REQUIRED
: NEW_PASSWORD
, any other required attributes,
* USERNAME
, SECRET_HASH
(if app client is configured with client secret).
*
*
* -
*
* MFA_SETUP
requires USERNAME
, plus you need to use the session value returned by
* VerifySoftwareToken
in the Session
parameter.
*
*
*
*
* The value of the USERNAME
attribute must be the user's actual username, not an alias (such
* as email address or phone number). To make this easier, the AdminInitiateAuth
response
* includes the actual username value in the USERNAMEUSER_ID_FOR_SRP
attribute, even if you
* specified an alias in your call to AdminInitiateAuth
.
*/
public java.util.Map getChallengeResponses() {
return challengeResponses;
}
/**
*
* The challenge responses. These are inputs corresponding to the value of ChallengeName
, for example:
*
*
* -
*
* SMS_MFA
: SMS_MFA_CODE
, USERNAME
, SECRET_HASH
(if app client
* is configured with client secret).
*
*
* -
*
* PASSWORD_VERIFIER
: PASSWORD_CLAIM_SIGNATURE
, PASSWORD_CLAIM_SECRET_BLOCK
,
* TIMESTAMP
, USERNAME
, SECRET_HASH
(if app client is configured with client
* secret).
*
*
* -
*
* ADMIN_NO_SRP_AUTH
: PASSWORD
, USERNAME
, SECRET_HASH
(if app
* client is configured with client secret).
*
*
* -
*
* NEW_PASSWORD_REQUIRED
: NEW_PASSWORD
, any other required attributes,
* USERNAME
, SECRET_HASH
(if app client is configured with client secret).
*
*
* -
*
* MFA_SETUP
requires USERNAME
, plus you need to use the session value returned by
* VerifySoftwareToken
in the Session
parameter.
*
*
*
*
* The value of the USERNAME
attribute must be the user's actual username, not an alias (such as email
* address or phone number). To make this easier, the AdminInitiateAuth
response includes the actual
* username value in the USERNAMEUSER_ID_FOR_SRP
attribute, even if you specified an alias in your call
* to AdminInitiateAuth
.
*
*
* @param challengeResponses
* The challenge responses. These are inputs corresponding to the value of ChallengeName
, for
* example:
*
* -
*
* SMS_MFA
: SMS_MFA_CODE
, USERNAME
, SECRET_HASH
(if app
* client is configured with client secret).
*
*
* -
*
* PASSWORD_VERIFIER
: PASSWORD_CLAIM_SIGNATURE
,
* PASSWORD_CLAIM_SECRET_BLOCK
, TIMESTAMP
, USERNAME
,
* SECRET_HASH
(if app client is configured with client secret).
*
*
* -
*
* ADMIN_NO_SRP_AUTH
: PASSWORD
, USERNAME
, SECRET_HASH
(if
* app client is configured with client secret).
*
*
* -
*
* NEW_PASSWORD_REQUIRED
: NEW_PASSWORD
, any other required attributes,
* USERNAME
, SECRET_HASH
(if app client is configured with client secret).
*
*
* -
*
* MFA_SETUP
requires USERNAME
, plus you need to use the session value returned by
* VerifySoftwareToken
in the Session
parameter.
*
*
*
*
* The value of the USERNAME
attribute must be the user's actual username, not an alias (such as
* email address or phone number). To make this easier, the AdminInitiateAuth
response includes
* the actual username value in the USERNAMEUSER_ID_FOR_SRP
attribute, even if you specified an
* alias in your call to AdminInitiateAuth
.
*/
public void setChallengeResponses(java.util.Map challengeResponses) {
this.challengeResponses = challengeResponses;
}
/**
*
* The challenge responses. These are inputs corresponding to the value of ChallengeName
, for example:
*
*
* -
*
* SMS_MFA
: SMS_MFA_CODE
, USERNAME
, SECRET_HASH
(if app client
* is configured with client secret).
*
*
* -
*
* PASSWORD_VERIFIER
: PASSWORD_CLAIM_SIGNATURE
, PASSWORD_CLAIM_SECRET_BLOCK
,
* TIMESTAMP
, USERNAME
, SECRET_HASH
(if app client is configured with client
* secret).
*
*
* -
*
* ADMIN_NO_SRP_AUTH
: PASSWORD
, USERNAME
, SECRET_HASH
(if app
* client is configured with client secret).
*
*
* -
*
* NEW_PASSWORD_REQUIRED
: NEW_PASSWORD
, any other required attributes,
* USERNAME
, SECRET_HASH
(if app client is configured with client secret).
*
*
* -
*
* MFA_SETUP
requires USERNAME
, plus you need to use the session value returned by
* VerifySoftwareToken
in the Session
parameter.
*
*
*
*
* The value of the USERNAME
attribute must be the user's actual username, not an alias (such as email
* address or phone number). To make this easier, the AdminInitiateAuth
response includes the actual
* username value in the USERNAMEUSER_ID_FOR_SRP
attribute, even if you specified an alias in your call
* to AdminInitiateAuth
.
*
*
* @param challengeResponses
* The challenge responses. These are inputs corresponding to the value of ChallengeName
, for
* example:
*
* -
*
* SMS_MFA
: SMS_MFA_CODE
, USERNAME
, SECRET_HASH
(if app
* client is configured with client secret).
*
*
* -
*
* PASSWORD_VERIFIER
: PASSWORD_CLAIM_SIGNATURE
,
* PASSWORD_CLAIM_SECRET_BLOCK
, TIMESTAMP
, USERNAME
,
* SECRET_HASH
(if app client is configured with client secret).
*
*
* -
*
* ADMIN_NO_SRP_AUTH
: PASSWORD
, USERNAME
, SECRET_HASH
(if
* app client is configured with client secret).
*
*
* -
*
* NEW_PASSWORD_REQUIRED
: NEW_PASSWORD
, any other required attributes,
* USERNAME
, SECRET_HASH
(if app client is configured with client secret).
*
*
* -
*
* MFA_SETUP
requires USERNAME
, plus you need to use the session value returned by
* VerifySoftwareToken
in the Session
parameter.
*
*
*
*
* The value of the USERNAME
attribute must be the user's actual username, not an alias (such as
* email address or phone number). To make this easier, the AdminInitiateAuth
response includes
* the actual username value in the USERNAMEUSER_ID_FOR_SRP
attribute, even if you specified an
* alias in your call to AdminInitiateAuth
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AdminRespondToAuthChallengeRequest withChallengeResponses(java.util.Map challengeResponses) {
setChallengeResponses(challengeResponses);
return this;
}
/**
* Add a single ChallengeResponses entry
*
* @see AdminRespondToAuthChallengeRequest#withChallengeResponses
* @returns a reference to this object so that method calls can be chained together.
*/
public AdminRespondToAuthChallengeRequest addChallengeResponsesEntry(String key, String value) {
if (null == this.challengeResponses) {
this.challengeResponses = new java.util.HashMap();
}
if (this.challengeResponses.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.challengeResponses.put(key, value);
return this;
}
/**
* Removes all the entries added into ChallengeResponses.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AdminRespondToAuthChallengeRequest clearChallengeResponsesEntries() {
this.challengeResponses = null;
return this;
}
/**
*
* The session which should be passed both ways in challenge-response calls to the service. If
* InitiateAuth
or RespondToAuthChallenge
API call determines that the caller needs to go
* through another challenge, they return a session with other challenge parameters. This session should be passed
* as it is to the next RespondToAuthChallenge
API call.
*
*
* @param session
* The session which should be passed both ways in challenge-response calls to the service. If
* InitiateAuth
or RespondToAuthChallenge
API call determines that the caller needs
* to go through another challenge, they return a session with other challenge parameters. This session
* should be passed as it is to the next RespondToAuthChallenge
API call.
*/
public void setSession(String session) {
this.session = session;
}
/**
*
* The session which should be passed both ways in challenge-response calls to the service. If
* InitiateAuth
or RespondToAuthChallenge
API call determines that the caller needs to go
* through another challenge, they return a session with other challenge parameters. This session should be passed
* as it is to the next RespondToAuthChallenge
API call.
*
*
* @return The session which should be passed both ways in challenge-response calls to the service. If
* InitiateAuth
or RespondToAuthChallenge
API call determines that the caller
* needs to go through another challenge, they return a session with other challenge parameters. This
* session should be passed as it is to the next RespondToAuthChallenge
API call.
*/
public String getSession() {
return this.session;
}
/**
*
* The session which should be passed both ways in challenge-response calls to the service. If
* InitiateAuth
or RespondToAuthChallenge
API call determines that the caller needs to go
* through another challenge, they return a session with other challenge parameters. This session should be passed
* as it is to the next RespondToAuthChallenge
API call.
*
*
* @param session
* The session which should be passed both ways in challenge-response calls to the service. If
* InitiateAuth
or RespondToAuthChallenge
API call determines that the caller needs
* to go through another challenge, they return a session with other challenge parameters. This session
* should be passed as it is to the next RespondToAuthChallenge
API call.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AdminRespondToAuthChallengeRequest withSession(String session) {
setSession(session);
return this;
}
/**
*
* The analytics metadata for collecting Amazon Pinpoint metrics for AdminRespondToAuthChallenge
calls.
*
*
* @param analyticsMetadata
* The analytics metadata for collecting Amazon Pinpoint metrics for AdminRespondToAuthChallenge
* calls.
*/
public void setAnalyticsMetadata(AnalyticsMetadataType analyticsMetadata) {
this.analyticsMetadata = analyticsMetadata;
}
/**
*
* The analytics metadata for collecting Amazon Pinpoint metrics for AdminRespondToAuthChallenge
calls.
*
*
* @return The analytics metadata for collecting Amazon Pinpoint metrics for
* AdminRespondToAuthChallenge
calls.
*/
public AnalyticsMetadataType getAnalyticsMetadata() {
return this.analyticsMetadata;
}
/**
*
* The analytics metadata for collecting Amazon Pinpoint metrics for AdminRespondToAuthChallenge
calls.
*
*
* @param analyticsMetadata
* The analytics metadata for collecting Amazon Pinpoint metrics for AdminRespondToAuthChallenge
* calls.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AdminRespondToAuthChallengeRequest withAnalyticsMetadata(AnalyticsMetadataType analyticsMetadata) {
setAnalyticsMetadata(analyticsMetadata);
return this;
}
/**
*
* Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an
* unexpected event by Amazon Cognito advanced security.
*
*
* @param contextData
* Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the
* risk of an unexpected event by Amazon Cognito advanced security.
*/
public void setContextData(ContextDataType contextData) {
this.contextData = contextData;
}
/**
*
* Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an
* unexpected event by Amazon Cognito advanced security.
*
*
* @return Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the
* risk of an unexpected event by Amazon Cognito advanced security.
*/
public ContextDataType getContextData() {
return this.contextData;
}
/**
*
* Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an
* unexpected event by Amazon Cognito advanced security.
*
*
* @param contextData
* Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the
* risk of an unexpected event by Amazon Cognito advanced security.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AdminRespondToAuthChallengeRequest withContextData(ContextDataType contextData) {
setContextData(contextData);
return this;
}
/**
*
* A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.
*
*
* You create custom workflows by assigning Lambda functions to user pool triggers. When you use the
* AdminRespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the following
* triggers: pre sign-up, custom message, post authentication, user migration, pre
* token generation, define auth challenge, create auth challenge, and verify auth challenge
* response. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function
* receives as input. This payload contains a clientMetadata
attribute, which provides the data that
* you assigned to the ClientMetadata parameter in your AdminRespondToAuthChallenge request. In your function code
* in Lambda, you can process the clientMetadata
value to enhance your workflow for your specific
* needs.
*
*
* For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.
*
*
*
* Take the following limitations into consideration when you use the ClientMetadata parameter:
*
*
* -
*
* Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are
* assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers,
* the ClientMetadata parameter serves no purpose.
*
*
* -
*
* Amazon Cognito does not validate the ClientMetadata value.
*
*
* -
*
* Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.
*
*
*
*
*
* @return A map of custom key-value pairs that you can provide as input for any custom workflows that this action
* triggers.
*
* You create custom workflows by assigning Lambda functions to user pool triggers. When you use the
* AdminRespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the
* following triggers: pre sign-up, custom message, post authentication, user
* migration, pre token generation, define auth challenge, create auth challenge,
* and verify auth challenge response. When Amazon Cognito invokes any of these functions, it passes
* a JSON payload, which the function receives as input. This payload contains a clientMetadata
* attribute, which provides the data that you assigned to the ClientMetadata parameter in your
* AdminRespondToAuthChallenge request. In your function code in Lambda, you can process the
* clientMetadata
value to enhance your workflow for your specific needs.
*
*
* For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.
*
*
*
* Take the following limitations into consideration when you use the ClientMetadata parameter:
*
*
* -
*
* Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers
* that are assigned to a user pool to support custom workflows. If your user pool configuration does not
* include triggers, the ClientMetadata parameter serves no purpose.
*
*
* -
*
* Amazon Cognito does not validate the ClientMetadata value.
*
*
* -
*
* Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive
* information.
*
*
*
*/
public java.util.Map getClientMetadata() {
return clientMetadata;
}
/**
*
* A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.
*
*
* You create custom workflows by assigning Lambda functions to user pool triggers. When you use the
* AdminRespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the following
* triggers: pre sign-up, custom message, post authentication, user migration, pre
* token generation, define auth challenge, create auth challenge, and verify auth challenge
* response. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function
* receives as input. This payload contains a clientMetadata
attribute, which provides the data that
* you assigned to the ClientMetadata parameter in your AdminRespondToAuthChallenge request. In your function code
* in Lambda, you can process the clientMetadata
value to enhance your workflow for your specific
* needs.
*
*
* For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.
*
*
*
* Take the following limitations into consideration when you use the ClientMetadata parameter:
*
*
* -
*
* Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are
* assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers,
* the ClientMetadata parameter serves no purpose.
*
*
* -
*
* Amazon Cognito does not validate the ClientMetadata value.
*
*
* -
*
* Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.
*
*
*
*
*
* @param clientMetadata
* A map of custom key-value pairs that you can provide as input for any custom workflows that this action
* triggers.
*
* You create custom workflows by assigning Lambda functions to user pool triggers. When you use the
* AdminRespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the
* following triggers: pre sign-up, custom message, post authentication, user
* migration, pre token generation, define auth challenge, create auth challenge,
* and verify auth challenge response. When Amazon Cognito invokes any of these functions, it passes a
* JSON payload, which the function receives as input. This payload contains a clientMetadata
* attribute, which provides the data that you assigned to the ClientMetadata parameter in your
* AdminRespondToAuthChallenge request. In your function code in Lambda, you can process the
* clientMetadata
value to enhance your workflow for your specific needs.
*
*
* For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.
*
*
*
* Take the following limitations into consideration when you use the ClientMetadata parameter:
*
*
* -
*
* Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers
* that are assigned to a user pool to support custom workflows. If your user pool configuration does not
* include triggers, the ClientMetadata parameter serves no purpose.
*
*
* -
*
* Amazon Cognito does not validate the ClientMetadata value.
*
*
* -
*
* Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive
* information.
*
*
*
*/
public void setClientMetadata(java.util.Map clientMetadata) {
this.clientMetadata = clientMetadata;
}
/**
*
* A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.
*
*
* You create custom workflows by assigning Lambda functions to user pool triggers. When you use the
* AdminRespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the following
* triggers: pre sign-up, custom message, post authentication, user migration, pre
* token generation, define auth challenge, create auth challenge, and verify auth challenge
* response. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function
* receives as input. This payload contains a clientMetadata
attribute, which provides the data that
* you assigned to the ClientMetadata parameter in your AdminRespondToAuthChallenge request. In your function code
* in Lambda, you can process the clientMetadata
value to enhance your workflow for your specific
* needs.
*
*
* For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.
*
*
*
* Take the following limitations into consideration when you use the ClientMetadata parameter:
*
*
* -
*
* Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers that are
* assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers,
* the ClientMetadata parameter serves no purpose.
*
*
* -
*
* Amazon Cognito does not validate the ClientMetadata value.
*
*
* -
*
* Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.
*
*
*
*
*
* @param clientMetadata
* A map of custom key-value pairs that you can provide as input for any custom workflows that this action
* triggers.
*
* You create custom workflows by assigning Lambda functions to user pool triggers. When you use the
* AdminRespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the
* following triggers: pre sign-up, custom message, post authentication, user
* migration, pre token generation, define auth challenge, create auth challenge,
* and verify auth challenge response. When Amazon Cognito invokes any of these functions, it passes a
* JSON payload, which the function receives as input. This payload contains a clientMetadata
* attribute, which provides the data that you assigned to the ClientMetadata parameter in your
* AdminRespondToAuthChallenge request. In your function code in Lambda, you can process the
* clientMetadata
value to enhance your workflow for your specific needs.
*
*
* For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.
*
*
*
* Take the following limitations into consideration when you use the ClientMetadata parameter:
*
*
* -
*
* Amazon Cognito does not store the ClientMetadata value. This data is available only to Lambda triggers
* that are assigned to a user pool to support custom workflows. If your user pool configuration does not
* include triggers, the ClientMetadata parameter serves no purpose.
*
*
* -
*
* Amazon Cognito does not validate the ClientMetadata value.
*
*
* -
*
* Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive
* information.
*
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AdminRespondToAuthChallengeRequest withClientMetadata(java.util.Map clientMetadata) {
setClientMetadata(clientMetadata);
return this;
}
/**
* Add a single ClientMetadata entry
*
* @see AdminRespondToAuthChallengeRequest#withClientMetadata
* @returns a reference to this object so that method calls can be chained together.
*/
public AdminRespondToAuthChallengeRequest addClientMetadataEntry(String key, String value) {
if (null == this.clientMetadata) {
this.clientMetadata = new java.util.HashMap();
}
if (this.clientMetadata.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.clientMetadata.put(key, value);
return this;
}
/**
* Removes all the entries added into ClientMetadata.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public AdminRespondToAuthChallengeRequest clearClientMetadataEntries() {
this.clientMetadata = null;
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getUserPoolId() != null)
sb.append("UserPoolId: ").append(getUserPoolId()).append(",");
if (getClientId() != null)
sb.append("ClientId: ").append("***Sensitive Data Redacted***").append(",");
if (getChallengeName() != null)
sb.append("ChallengeName: ").append(getChallengeName()).append(",");
if (getChallengeResponses() != null)
sb.append("ChallengeResponses: ").append(getChallengeResponses()).append(",");
if (getSession() != null)
sb.append("Session: ").append(getSession()).append(",");
if (getAnalyticsMetadata() != null)
sb.append("AnalyticsMetadata: ").append(getAnalyticsMetadata()).append(",");
if (getContextData() != null)
sb.append("ContextData: ").append(getContextData()).append(",");
if (getClientMetadata() != null)
sb.append("ClientMetadata: ").append(getClientMetadata());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof AdminRespondToAuthChallengeRequest == false)
return false;
AdminRespondToAuthChallengeRequest other = (AdminRespondToAuthChallengeRequest) obj;
if (other.getUserPoolId() == null ^ this.getUserPoolId() == null)
return false;
if (other.getUserPoolId() != null && other.getUserPoolId().equals(this.getUserPoolId()) == false)
return false;
if (other.getClientId() == null ^ this.getClientId() == null)
return false;
if (other.getClientId() != null && other.getClientId().equals(this.getClientId()) == false)
return false;
if (other.getChallengeName() == null ^ this.getChallengeName() == null)
return false;
if (other.getChallengeName() != null && other.getChallengeName().equals(this.getChallengeName()) == false)
return false;
if (other.getChallengeResponses() == null ^ this.getChallengeResponses() == null)
return false;
if (other.getChallengeResponses() != null && other.getChallengeResponses().equals(this.getChallengeResponses()) == false)
return false;
if (other.getSession() == null ^ this.getSession() == null)
return false;
if (other.getSession() != null && other.getSession().equals(this.getSession()) == false)
return false;
if (other.getAnalyticsMetadata() == null ^ this.getAnalyticsMetadata() == null)
return false;
if (other.getAnalyticsMetadata() != null && other.getAnalyticsMetadata().equals(this.getAnalyticsMetadata()) == false)
return false;
if (other.getContextData() == null ^ this.getContextData() == null)
return false;
if (other.getContextData() != null && other.getContextData().equals(this.getContextData()) == false)
return false;
if (other.getClientMetadata() == null ^ this.getClientMetadata() == null)
return false;
if (other.getClientMetadata() != null && other.getClientMetadata().equals(this.getClientMetadata()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getUserPoolId() == null) ? 0 : getUserPoolId().hashCode());
hashCode = prime * hashCode + ((getClientId() == null) ? 0 : getClientId().hashCode());
hashCode = prime * hashCode + ((getChallengeName() == null) ? 0 : getChallengeName().hashCode());
hashCode = prime * hashCode + ((getChallengeResponses() == null) ? 0 : getChallengeResponses().hashCode());
hashCode = prime * hashCode + ((getSession() == null) ? 0 : getSession().hashCode());
hashCode = prime * hashCode + ((getAnalyticsMetadata() == null) ? 0 : getAnalyticsMetadata().hashCode());
hashCode = prime * hashCode + ((getContextData() == null) ? 0 : getContextData().hashCode());
hashCode = prime * hashCode + ((getClientMetadata() == null) ? 0 : getClientMetadata().hashCode());
return hashCode;
}
@Override
public AdminRespondToAuthChallengeRequest clone() {
return (AdminRespondToAuthChallengeRequest) super.clone();
}
}