/* * Copyright 2018-2023 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; /** *

* Initiates the authorization request, as an administrator. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AdminInitiateAuthRequest 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 authentication flow for this call to run. The API action will depend on this value. For example: *

* *

* Valid values include: *

* */ private String authFlow; /** *

* The authentication parameters. These are inputs corresponding to the AuthFlow that you're invoking. * The required values depend on the value of AuthFlow: *

* */ private java.util.Map authParameters; /** *

* A map of custom key-value pairs that you can provide as input for certain custom workflows that this action * triggers. *

*

* You create custom workflows by assigning Lambda functions to user pool triggers. When you use the * AdminInitiateAuth API action, Amazon Cognito invokes the Lambda functions that are specified for various * triggers. The ClientMetadata value is passed as input to the functions for only the following triggers: *

* *

* When Amazon Cognito invokes the functions for these triggers, it passes a JSON payload, which the function * receives as input. This payload contains a validationData attribute, which provides the data that * you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. In your function code in Lambda, * you can process the validationData value to enhance your workflow for your specific needs. *

*

* When you use the AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the following * triggers, but it doesn't provide the ClientMetadata value as input: *

* *

* For more information, see Customizing user pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide. *

* *

* When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following: *

* *
*/ private java.util.Map clientMetadata; /** *

* The analytics metadata for collecting Amazon Pinpoint metrics for AdminInitiateAuth calls. *

*/ private AnalyticsMetadataType analyticsMetadata; /** *

* Contextual data about your user session, such as the device fingerprint, IP address, or location. Amazon Cognito * advanced security evaluates the risk of an authentication event based on the context that your app generates and * passes to Amazon Cognito when it makes API requests. *

*/ private ContextDataType contextData; /** *

* 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 AdminInitiateAuthRequest 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 AdminInitiateAuthRequest withClientId(String clientId) { setClientId(clientId); return this; } /** *

* The authentication flow for this call to run. The API action will depend on this value. For example: *

* *

* Valid values include: *

* * * @param authFlow * The authentication flow for this call to run. The API action will depend on this value. For example:

* *

* Valid values include: *

*