/*
 * Copyright 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.
 */
/*
 * Do not modify this file. This file is generated from the cognito-idp-2016-04-18.normal.json service model.
 */
using System;
using System.Collections.Generic;
using System.Net;
using Amazon.CognitoIdentityProvider.Model;
using Amazon.CognitoIdentityProvider.Model.Internal.MarshallTransformations;
using Amazon.CognitoIdentityProvider.Internal;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
using Amazon.Runtime.Internal.Auth;
using Amazon.Runtime.Internal.Transform;
namespace Amazon.CognitoIdentityProvider
{
    /// 
    /// Implementation for accessing CognitoIdentityProvider
    ///
    /// Using the Amazon Cognito user pools API, you can create a user pool to manage directories
    /// and users. You can authenticate a user to obtain tokens related to user identity and
    /// access policies.
    /// 
    ///  
    /// 
    /// This API reference provides information about user pools in Amazon Cognito user pools.
    /// 
    ///  
    /// 
    /// For more information, see the Amazon
    /// Cognito Documentation.
    /// 
    /// 
    public partial class AmazonCognitoIdentityProviderClient : AmazonServiceClient, IAmazonCognitoIdentityProvider
    {
        private static IServiceMetadata serviceMetadata = new AmazonCognitoIdentityProviderMetadata();
#if BCL45 || AWS_ASYNC_ENUMERABLES_API
        private ICognitoIdentityProviderPaginatorFactory _paginators;
        /// 
        /// Paginators for the service
        /// 
        public ICognitoIdentityProviderPaginatorFactory Paginators 
        {
            get 
            {
                if (this._paginators == null) 
                {
                    this._paginators = new CognitoIdentityProviderPaginatorFactory(this);
                }
                return this._paginators;
            }
        }
#endif
        #region Constructors
        /// 
        /// Constructs AmazonCognitoIdentityProviderClient with the credentials loaded from the application's
        /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
        /// 
        /// Example App.config with credentials set. 
        /// 
        /// <?xml version="1.0" encoding="utf-8" ?>
        /// <configuration>
        ///     <appSettings>
        ///         <add key="AWSProfileName" value="AWS Default"/>
        ///     </appSettings>
        /// </configuration>
        /// 
        ///
        /// 
        public AmazonCognitoIdentityProviderClient()
            : base(FallbackCredentialsFactory.GetCredentials(), new AmazonCognitoIdentityProviderConfig()) { }
        /// 
        /// Constructs AmazonCognitoIdentityProviderClient with the credentials loaded from the application's
        /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
        /// 
        /// Example App.config with credentials set. 
        /// 
        /// <?xml version="1.0" encoding="utf-8" ?>
        /// <configuration>
        ///     <appSettings>
        ///         <add key="AWSProfileName" value="AWS Default"/>
        ///     </appSettings>
        /// </configuration>
        /// 
        ///
        /// 
        /// The region to connect.
        public AmazonCognitoIdentityProviderClient(RegionEndpoint region)
            : base(FallbackCredentialsFactory.GetCredentials(), new AmazonCognitoIdentityProviderConfig{RegionEndpoint = region}) { }
        /// 
        /// Constructs AmazonCognitoIdentityProviderClient with the credentials loaded from the application's
        /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
        /// 
        /// Example App.config with credentials set. 
        /// 
        /// <?xml version="1.0" encoding="utf-8" ?>
        /// <configuration>
        ///     <appSettings>
        ///         <add key="AWSProfileName" value="AWS Default"/>
        ///     </appSettings>
        /// </configuration>
        /// 
        ///
        /// 
        /// The AmazonCognitoIdentityProviderClient Configuration Object
        public AmazonCognitoIdentityProviderClient(AmazonCognitoIdentityProviderConfig config)
            : base(FallbackCredentialsFactory.GetCredentials(config), config){}
        /// 
        /// Constructs AmazonCognitoIdentityProviderClient with AWS Credentials
        /// 
        /// AWS Credentials
        public AmazonCognitoIdentityProviderClient(AWSCredentials credentials)
            : this(credentials, new AmazonCognitoIdentityProviderConfig())
        {
        }
        /// 
        /// Constructs AmazonCognitoIdentityProviderClient with AWS Credentials
        /// 
        /// AWS Credentials
        /// The region to connect.
        public AmazonCognitoIdentityProviderClient(AWSCredentials credentials, RegionEndpoint region)
            : this(credentials, new AmazonCognitoIdentityProviderConfig{RegionEndpoint = region})
        {
        }
        /// 
        /// Constructs AmazonCognitoIdentityProviderClient with AWS Credentials and an
        /// AmazonCognitoIdentityProviderClient Configuration object.
        /// 
        /// AWS Credentials
        /// The AmazonCognitoIdentityProviderClient Configuration Object
        public AmazonCognitoIdentityProviderClient(AWSCredentials credentials, AmazonCognitoIdentityProviderConfig clientConfig)
            : base(credentials, clientConfig)
        {
        }
        /// 
        /// Constructs AmazonCognitoIdentityProviderClient with AWS Access Key ID and AWS Secret Key
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        public AmazonCognitoIdentityProviderClient(string awsAccessKeyId, string awsSecretAccessKey)
            : this(awsAccessKeyId, awsSecretAccessKey, new AmazonCognitoIdentityProviderConfig())
        {
        }
        /// 
        /// Constructs AmazonCognitoIdentityProviderClient with AWS Access Key ID and AWS Secret Key
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// The region to connect.
        public AmazonCognitoIdentityProviderClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region)
            : this(awsAccessKeyId, awsSecretAccessKey, new AmazonCognitoIdentityProviderConfig() {RegionEndpoint=region})
        {
        }
        /// 
        /// Constructs AmazonCognitoIdentityProviderClient with AWS Access Key ID, AWS Secret Key and an
        /// AmazonCognitoIdentityProviderClient Configuration object. 
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// The AmazonCognitoIdentityProviderClient Configuration Object
        public AmazonCognitoIdentityProviderClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonCognitoIdentityProviderConfig clientConfig)
            : base(awsAccessKeyId, awsSecretAccessKey, clientConfig)
        {
        }
        /// 
        /// Constructs AmazonCognitoIdentityProviderClient with AWS Access Key ID and AWS Secret Key
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// AWS Session Token
        public AmazonCognitoIdentityProviderClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken)
            : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonCognitoIdentityProviderConfig())
        {
        }
        /// 
        /// Constructs AmazonCognitoIdentityProviderClient with AWS Access Key ID and AWS Secret Key
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// AWS Session Token
        /// The region to connect.
        public AmazonCognitoIdentityProviderClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region)
            : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonCognitoIdentityProviderConfig{RegionEndpoint = region})
        {
        }
        /// 
        /// Constructs AmazonCognitoIdentityProviderClient with AWS Access Key ID, AWS Secret Key and an
        /// AmazonCognitoIdentityProviderClient Configuration object. 
        /// 
        /// AWS Access Key ID
        /// AWS Secret Access Key
        /// AWS Session Token
        /// The AmazonCognitoIdentityProviderClient Configuration Object
        public AmazonCognitoIdentityProviderClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonCognitoIdentityProviderConfig clientConfig)
            : base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig)
        {
        }
        #endregion
        #region Overrides
        
        /// 
        /// Creates the signer for the service.
        /// 
        protected override AbstractAWSSigner CreateSigner()
        {
            return new AWS4Signer();
        }
        /// 
        /// Customize the pipeline
        /// 
        /// 
        protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline)
        {
            pipeline.RemoveHandler();
            pipeline.AddHandlerAfter(new AmazonCognitoIdentityProviderEndpointResolver());
        }
        /// 
        /// Capture metadata for the service.
        /// 
        protected override IServiceMetadata ServiceMetadata
        {
            get
            {
                return serviceMetadata;
            }
        }
        #endregion
        #region Dispose
        /// 
        /// Disposes the service client.
        /// 
        protected override void Dispose(bool disposing)
        {
            base.Dispose(disposing);
        }
        #endregion
        #region  AddCustomAttributes
        /// 
        /// Adds additional user attributes to the user pool schema.
        /// 
        /// Container for the necessary parameters to execute the AddCustomAttributes service method.
        /// 
        /// The response from the AddCustomAttributes service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when you're trying to modify a user pool while a user import
        /// job is in progress for that pool.
        /// 
        /// REST API Reference for AddCustomAttributes Operation
        public virtual AddCustomAttributesResponse AddCustomAttributes(AddCustomAttributesRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AddCustomAttributesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AddCustomAttributesResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AddCustomAttributes operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AddCustomAttributes operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAddCustomAttributes
        ///         operation.
        /// REST API Reference for AddCustomAttributes Operation
        public virtual IAsyncResult BeginAddCustomAttributes(AddCustomAttributesRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AddCustomAttributesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AddCustomAttributesResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AddCustomAttributes operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAddCustomAttributes.
        /// 
        /// Returns a  AddCustomAttributesResult from CognitoIdentityProvider.
        /// REST API Reference for AddCustomAttributes Operation
        public virtual AddCustomAttributesResponse EndAddCustomAttributes(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminAddUserToGroup
        /// 
        /// Adds the specified user to the specified group.
        /// 
        ///  
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminAddUserToGroup service method.
        /// 
        /// The response from the AdminAddUserToGroup service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminAddUserToGroup Operation
        public virtual AdminAddUserToGroupResponse AdminAddUserToGroup(AdminAddUserToGroupRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminAddUserToGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminAddUserToGroupResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminAddUserToGroup operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminAddUserToGroup operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminAddUserToGroup
        ///         operation.
        /// REST API Reference for AdminAddUserToGroup Operation
        public virtual IAsyncResult BeginAdminAddUserToGroup(AdminAddUserToGroupRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminAddUserToGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminAddUserToGroupResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminAddUserToGroup operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminAddUserToGroup.
        /// 
        /// Returns a  AdminAddUserToGroupResult from CognitoIdentityProvider.
        /// REST API Reference for AdminAddUserToGroup Operation
        public virtual AdminAddUserToGroupResponse EndAdminAddUserToGroup(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminConfirmSignUp
        /// 
        /// Confirms user registration as an admin without using a confirmation code. Works on
        /// any user.
        /// 
        ///  
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminConfirmSignUp service method.
        /// 
        /// The response from the AdminConfirmSignUp service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid Lambda response.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user exceeds the limit for a requested Amazon Web
        /// Services resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many failed attempts for a given
        /// action, such as sign-in.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an unexpected exception with
        /// Lambda.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters a user validation
        /// exception with the Lambda service.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminConfirmSignUp Operation
        public virtual AdminConfirmSignUpResponse AdminConfirmSignUp(AdminConfirmSignUpRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminConfirmSignUpRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminConfirmSignUpResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminConfirmSignUp operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminConfirmSignUp operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminConfirmSignUp
        ///         operation.
        /// REST API Reference for AdminConfirmSignUp Operation
        public virtual IAsyncResult BeginAdminConfirmSignUp(AdminConfirmSignUpRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminConfirmSignUpRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminConfirmSignUpResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminConfirmSignUp operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminConfirmSignUp.
        /// 
        /// Returns a  AdminConfirmSignUpResult from CognitoIdentityProvider.
        /// REST API Reference for AdminConfirmSignUp Operation
        public virtual AdminConfirmSignUpResponse EndAdminConfirmSignUp(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminCreateUser
        /// 
        /// Creates a new user in the specified user pool.
        /// 
        ///  
        /// 
        /// If MessageAction isn't set, the default is to send a welcome message
        /// via email or phone (SMS).
        /// 
        ///   
        /// 
        /// This action might generate an SMS text message. Starting June 1, 2021, US telecom
        /// carriers require you to register an origination phone number before you can send SMS
        /// messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you
        /// must register a phone number with Amazon
        /// Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise,
        /// Amazon Cognito users who must receive SMS messages might not be able to sign up, activate
        /// their accounts, or sign in.
        /// 
        ///  
        /// 
        /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web
        /// Service, Amazon Simple Notification Service might place your account in the SMS sandbox.
        /// In  sandbox
        /// mode , you can send messages only to verified phone numbers. After you test
        /// your app while in the sandbox environment, you can move out of the sandbox and into
        /// production. For more information, see 
        /// SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer
        /// Guide.
        /// 
        ///   
        /// 
        /// This message is based on a template that you configured in your call to create or
        /// update a user pool. This template includes your custom sign-up instructions and placeholders
        /// for user name and temporary password.
        /// 
        ///  
        /// 
        /// Alternatively, you can call AdminCreateUser with SUPPRESS
        /// for the MessageAction parameter, and Amazon Cognito won't send any email.
        /// 
        /// 
        ///  
        /// 
        /// In either case, the user will be in the FORCE_CHANGE_PASSWORD state until
        /// they sign in and change their password.
        /// 
        ///  
        /// 
        ///  AdminCreateUser requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminCreateUser service method.
        /// 
        /// The response from the AdminCreateUser service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when a verification code fails to deliver successfully.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid Lambda response.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid password.
        /// 
        /// 
        /// This exception is returned when the role provided for SMS configuration doesn't have
        /// permission to publish using Amazon SNS.
        /// 
        /// 
        /// This exception is thrown when the trust relationship is not valid for the role provided
        /// for SMS configuration. This can happen if you don't trust cognito-idp.amazonaws.com
        /// or the external ID provided in the role does not match what is provided in the SMS
        /// configuration for the user pool.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a precondition is not met.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an unexpected exception with
        /// Lambda.
        /// 
        /// 
        /// The request failed because the user is in an unsupported state.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters a user validation
        /// exception with the Lambda service.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters a user name that already exists
        /// in the user pool.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminCreateUser Operation
        public virtual AdminCreateUserResponse AdminCreateUser(AdminCreateUserRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminCreateUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminCreateUserResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminCreateUser operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminCreateUser operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminCreateUser
        ///         operation.
        /// REST API Reference for AdminCreateUser Operation
        public virtual IAsyncResult BeginAdminCreateUser(AdminCreateUserRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminCreateUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminCreateUserResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminCreateUser operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminCreateUser.
        /// 
        /// Returns a  AdminCreateUserResult from CognitoIdentityProvider.
        /// REST API Reference for AdminCreateUser Operation
        public virtual AdminCreateUserResponse EndAdminCreateUser(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminDeleteUser
        /// 
        /// Deletes a user as an administrator. Works on any user.
        /// 
        ///  
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminDeleteUser service method.
        /// 
        /// The response from the AdminDeleteUser service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminDeleteUser Operation
        public virtual AdminDeleteUserResponse AdminDeleteUser(AdminDeleteUserRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminDeleteUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminDeleteUserResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminDeleteUser operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminDeleteUser operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminDeleteUser
        ///         operation.
        /// REST API Reference for AdminDeleteUser Operation
        public virtual IAsyncResult BeginAdminDeleteUser(AdminDeleteUserRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminDeleteUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminDeleteUserResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminDeleteUser operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminDeleteUser.
        /// 
        /// Returns a  AdminDeleteUserResult from CognitoIdentityProvider.
        /// REST API Reference for AdminDeleteUser Operation
        public virtual AdminDeleteUserResponse EndAdminDeleteUser(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminDeleteUserAttributes
        /// 
        /// Deletes the user attributes in a user pool as an administrator. Works on any user.
        /// 
        ///  
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminDeleteUserAttributes service method.
        /// 
        /// The response from the AdminDeleteUserAttributes service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminDeleteUserAttributes Operation
        public virtual AdminDeleteUserAttributesResponse AdminDeleteUserAttributes(AdminDeleteUserAttributesRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminDeleteUserAttributesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminDeleteUserAttributesResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminDeleteUserAttributes operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminDeleteUserAttributes operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminDeleteUserAttributes
        ///         operation.
        /// REST API Reference for AdminDeleteUserAttributes Operation
        public virtual IAsyncResult BeginAdminDeleteUserAttributes(AdminDeleteUserAttributesRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminDeleteUserAttributesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminDeleteUserAttributesResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminDeleteUserAttributes operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminDeleteUserAttributes.
        /// 
        /// Returns a  AdminDeleteUserAttributesResult from CognitoIdentityProvider.
        /// REST API Reference for AdminDeleteUserAttributes Operation
        public virtual AdminDeleteUserAttributesResponse EndAdminDeleteUserAttributes(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminDisableProviderForUser
        /// 
        /// Prevents the user from signing in with the specified external (SAML or social) identity
        /// provider (IdP). If the user that you want to deactivate is a Amazon Cognito user pools
        /// native username + password user, they can't use their password to sign in. If the
        /// user to deactivate is a linked external IdP user, any link between that user and an
        /// existing user is removed. When the external user signs in again, and the user is no
        /// longer attached to the previously linked DestinationUser, the user must
        /// create a new user account. See AdminLinkProviderForUser.
        /// 
        ///  
        /// 
        /// This action is enabled only for admin access and requires developer credentials.
        /// 
        ///  
        /// 
        /// The ProviderName must match the value specified when creating an IdP
        /// for the pool. 
        /// 
        ///  
        /// 
        /// To deactivate a native username + password user, the ProviderName value
        /// must be Cognito and the ProviderAttributeName must be Cognito_Subject.
        /// The ProviderAttributeValue must be the name that is used in the user
        /// pool for the user.
        /// 
        ///  
        /// 
        /// The ProviderAttributeName must always be Cognito_Subject
        /// for social IdPs. The ProviderAttributeValue must always be the exact
        /// subject that was used when the user was originally linked as a source user.
        /// 
        ///  
        /// 
        /// For de-linking a SAML identity, there are two scenarios. If the linked identity has
        /// not yet been used to sign in, the ProviderAttributeName and ProviderAttributeValue
        /// must be the same values that were used for the SourceUser when the identities
        /// were originally linked using  AdminLinkProviderForUser call. (If the
        /// linking was done with ProviderAttributeName set to Cognito_Subject,
        /// the same applies here). However, if the user has already signed in, the ProviderAttributeName
        /// must be Cognito_Subject and ProviderAttributeValue must
        /// be the subject of the SAML assertion.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminDisableProviderForUser service method.
        /// 
        /// The response from the AdminDisableProviderForUser service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when a user tries to confirm the account with an email address
        /// or phone number that has already been supplied as an alias for a different user profile.
        /// This exception indicates that an account with this email address or phone already
        /// exists in a user pool that you've configured to use email address or phone number
        /// as a sign-in alias.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminDisableProviderForUser Operation
        public virtual AdminDisableProviderForUserResponse AdminDisableProviderForUser(AdminDisableProviderForUserRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminDisableProviderForUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminDisableProviderForUserResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminDisableProviderForUser operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminDisableProviderForUser operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminDisableProviderForUser
        ///         operation.
        /// REST API Reference for AdminDisableProviderForUser Operation
        public virtual IAsyncResult BeginAdminDisableProviderForUser(AdminDisableProviderForUserRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminDisableProviderForUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminDisableProviderForUserResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminDisableProviderForUser operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminDisableProviderForUser.
        /// 
        /// Returns a  AdminDisableProviderForUserResult from CognitoIdentityProvider.
        /// REST API Reference for AdminDisableProviderForUser Operation
        public virtual AdminDisableProviderForUserResponse EndAdminDisableProviderForUser(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminDisableUser
        /// 
        /// Deactivates a user and revokes all access tokens for the user. A deactivated user
        /// can't sign in, but still appears in the responses to GetUser and ListUsers
        /// API requests.
        /// 
        ///  
        /// 
        /// You must make this API request with Amazon Web Services credentials that have cognito-idp:AdminDisableUser
        /// permissions.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminDisableUser service method.
        /// 
        /// The response from the AdminDisableUser service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminDisableUser Operation
        public virtual AdminDisableUserResponse AdminDisableUser(AdminDisableUserRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminDisableUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminDisableUserResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminDisableUser operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminDisableUser operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminDisableUser
        ///         operation.
        /// REST API Reference for AdminDisableUser Operation
        public virtual IAsyncResult BeginAdminDisableUser(AdminDisableUserRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminDisableUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminDisableUserResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminDisableUser operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminDisableUser.
        /// 
        /// Returns a  AdminDisableUserResult from CognitoIdentityProvider.
        /// REST API Reference for AdminDisableUser Operation
        public virtual AdminDisableUserResponse EndAdminDisableUser(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminEnableUser
        /// 
        /// Enables the specified user as an administrator. Works on any user.
        /// 
        ///  
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminEnableUser service method.
        /// 
        /// The response from the AdminEnableUser service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminEnableUser Operation
        public virtual AdminEnableUserResponse AdminEnableUser(AdminEnableUserRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminEnableUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminEnableUserResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminEnableUser operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminEnableUser operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminEnableUser
        ///         operation.
        /// REST API Reference for AdminEnableUser Operation
        public virtual IAsyncResult BeginAdminEnableUser(AdminEnableUserRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminEnableUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminEnableUserResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminEnableUser operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminEnableUser.
        /// 
        /// Returns a  AdminEnableUserResult from CognitoIdentityProvider.
        /// REST API Reference for AdminEnableUser Operation
        public virtual AdminEnableUserResponse EndAdminEnableUser(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminForgetDevice
        /// 
        /// Forgets the device, as an administrator.
        /// 
        ///  
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminForgetDevice service method.
        /// 
        /// The response from the AdminForgetDevice service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when the user pool configuration is not valid.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminForgetDevice Operation
        public virtual AdminForgetDeviceResponse AdminForgetDevice(AdminForgetDeviceRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminForgetDeviceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminForgetDeviceResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminForgetDevice operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminForgetDevice operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminForgetDevice
        ///         operation.
        /// REST API Reference for AdminForgetDevice Operation
        public virtual IAsyncResult BeginAdminForgetDevice(AdminForgetDeviceRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminForgetDeviceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminForgetDeviceResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminForgetDevice operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminForgetDevice.
        /// 
        /// Returns a  AdminForgetDeviceResult from CognitoIdentityProvider.
        /// REST API Reference for AdminForgetDevice Operation
        public virtual AdminForgetDeviceResponse EndAdminForgetDevice(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminGetDevice
        /// 
        /// Gets the device, as an administrator.
        /// 
        ///  
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminGetDevice service method.
        /// 
        /// The response from the AdminGetDevice service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when the user pool configuration is not valid.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for AdminGetDevice Operation
        public virtual AdminGetDeviceResponse AdminGetDevice(AdminGetDeviceRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminGetDeviceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminGetDeviceResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminGetDevice operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminGetDevice operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminGetDevice
        ///         operation.
        /// REST API Reference for AdminGetDevice Operation
        public virtual IAsyncResult BeginAdminGetDevice(AdminGetDeviceRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminGetDeviceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminGetDeviceResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminGetDevice operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminGetDevice.
        /// 
        /// Returns a  AdminGetDeviceResult from CognitoIdentityProvider.
        /// REST API Reference for AdminGetDevice Operation
        public virtual AdminGetDeviceResponse EndAdminGetDevice(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminGetUser
        /// 
        /// Gets the specified user by user name in a user pool as an administrator. Works on
        /// any user.
        /// 
        ///  
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminGetUser service method.
        /// 
        /// The response from the AdminGetUser service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminGetUser Operation
        public virtual AdminGetUserResponse AdminGetUser(AdminGetUserRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminGetUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminGetUserResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminGetUser operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminGetUser operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminGetUser
        ///         operation.
        /// REST API Reference for AdminGetUser Operation
        public virtual IAsyncResult BeginAdminGetUser(AdminGetUserRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminGetUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminGetUserResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminGetUser operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminGetUser.
        /// 
        /// Returns a  AdminGetUserResult from CognitoIdentityProvider.
        /// REST API Reference for AdminGetUser Operation
        public virtual AdminGetUserResponse EndAdminGetUser(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminInitiateAuth
        /// 
        /// Initiates the authentication flow, as an administrator.
        /// 
        ///   
        /// 
        /// This action might generate an SMS text message. Starting June 1, 2021, US telecom
        /// carriers require you to register an origination phone number before you can send SMS
        /// messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you
        /// must register a phone number with Amazon
        /// Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise,
        /// Amazon Cognito users who must receive SMS messages might not be able to sign up, activate
        /// their accounts, or sign in.
        /// 
        ///  
        /// 
        /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web
        /// Service, Amazon Simple Notification Service might place your account in the SMS sandbox.
        /// In  sandbox
        /// mode , you can send messages only to verified phone numbers. After you test
        /// your app while in the sandbox environment, you can move out of the sandbox and into
        /// production. For more information, see 
        /// SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer
        /// Guide.
        /// 
        ///   
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminInitiateAuth service method.
        /// 
        /// The response from the AdminInitiateAuth service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid Lambda response.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is returned when the role provided for SMS configuration doesn't have
        /// permission to publish using Amazon SNS.
        /// 
        /// 
        /// This exception is thrown when the trust relationship is not valid for the role provided
        /// for SMS configuration. This can happen if you don't trust cognito-idp.amazonaws.com
        /// or the external ID provided in the role does not match what is provided in the SMS
        /// configuration for the user pool.
        /// 
        /// 
        /// This exception is thrown when the user pool configuration is not valid.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito can't find a multi-factor authentication
        /// (MFA) method.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an unexpected exception with
        /// Lambda.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters a user validation
        /// exception with the Lambda service.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminInitiateAuth Operation
        public virtual AdminInitiateAuthResponse AdminInitiateAuth(AdminInitiateAuthRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminInitiateAuthRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminInitiateAuthResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminInitiateAuth operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminInitiateAuth operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminInitiateAuth
        ///         operation.
        /// REST API Reference for AdminInitiateAuth Operation
        public virtual IAsyncResult BeginAdminInitiateAuth(AdminInitiateAuthRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminInitiateAuthRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminInitiateAuthResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminInitiateAuth operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminInitiateAuth.
        /// 
        /// Returns a  AdminInitiateAuthResult from CognitoIdentityProvider.
        /// REST API Reference for AdminInitiateAuth Operation
        public virtual AdminInitiateAuthResponse EndAdminInitiateAuth(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminLinkProviderForUser
        /// 
        /// Links an existing user account in a user pool (DestinationUser) to an
        /// identity from an external IdP (SourceUser) based on a specified attribute
        /// name and value from the external IdP. This allows you to create a link from the existing
        /// user account to an external federated user identity that has not yet been used to
        /// sign in. You can then use the federated user identity to sign in as the existing user
        /// account. 
        /// 
        ///  
        /// 
        ///  For example, if there is an existing user with a username and password, this API
        /// links that user to a federated user identity. When the user signs in with a federated
        /// user identity, they sign in as the existing user account.
        /// 
        ///   
        /// 
        /// The maximum number of federated identities linked to a user is five.
        /// 
        ///    
        /// 
        /// Because this API allows a user with an external federated identity to sign in as an
        /// existing user in the user pool, it is critical that it only be used with external
        /// IdPs and provider attributes that have been trusted by the application owner.
        /// 
        ///   
        /// 
        /// This action is administrative and requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminLinkProviderForUser service method.
        /// 
        /// The response from the AdminLinkProviderForUser service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when a user tries to confirm the account with an email address
        /// or phone number that has already been supplied as an alias for a different user profile.
        /// This exception indicates that an account with this email address or phone already
        /// exists in a user pool that you've configured to use email address or phone number
        /// as a sign-in alias.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user exceeds the limit for a requested Amazon Web
        /// Services resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminLinkProviderForUser Operation
        public virtual AdminLinkProviderForUserResponse AdminLinkProviderForUser(AdminLinkProviderForUserRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminLinkProviderForUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminLinkProviderForUserResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminLinkProviderForUser operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminLinkProviderForUser operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminLinkProviderForUser
        ///         operation.
        /// REST API Reference for AdminLinkProviderForUser Operation
        public virtual IAsyncResult BeginAdminLinkProviderForUser(AdminLinkProviderForUserRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminLinkProviderForUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminLinkProviderForUserResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminLinkProviderForUser operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminLinkProviderForUser.
        /// 
        /// Returns a  AdminLinkProviderForUserResult from CognitoIdentityProvider.
        /// REST API Reference for AdminLinkProviderForUser Operation
        public virtual AdminLinkProviderForUserResponse EndAdminLinkProviderForUser(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminListDevices
        /// 
        /// Lists devices, as an administrator.
        /// 
        ///  
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminListDevices service method.
        /// 
        /// The response from the AdminListDevices service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when the user pool configuration is not valid.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for AdminListDevices Operation
        public virtual AdminListDevicesResponse AdminListDevices(AdminListDevicesRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminListDevicesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminListDevicesResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminListDevices operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminListDevices operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminListDevices
        ///         operation.
        /// REST API Reference for AdminListDevices Operation
        public virtual IAsyncResult BeginAdminListDevices(AdminListDevicesRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminListDevicesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminListDevicesResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminListDevices operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminListDevices.
        /// 
        /// Returns a  AdminListDevicesResult from CognitoIdentityProvider.
        /// REST API Reference for AdminListDevices Operation
        public virtual AdminListDevicesResponse EndAdminListDevices(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminListGroupsForUser
        /// 
        /// Lists the groups that the user belongs to.
        /// 
        ///  
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminListGroupsForUser service method.
        /// 
        /// The response from the AdminListGroupsForUser service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminListGroupsForUser Operation
        public virtual AdminListGroupsForUserResponse AdminListGroupsForUser(AdminListGroupsForUserRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminListGroupsForUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminListGroupsForUserResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminListGroupsForUser operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminListGroupsForUser operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminListGroupsForUser
        ///         operation.
        /// REST API Reference for AdminListGroupsForUser Operation
        public virtual IAsyncResult BeginAdminListGroupsForUser(AdminListGroupsForUserRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminListGroupsForUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminListGroupsForUserResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminListGroupsForUser operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminListGroupsForUser.
        /// 
        /// Returns a  AdminListGroupsForUserResult from CognitoIdentityProvider.
        /// REST API Reference for AdminListGroupsForUser Operation
        public virtual AdminListGroupsForUserResponse EndAdminListGroupsForUser(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminListUserAuthEvents
        /// 
        /// A history of user activity and any risks detected as part of Amazon Cognito advanced
        /// security.
        /// 
        /// Container for the necessary parameters to execute the AdminListUserAuthEvents service method.
        /// 
        /// The response from the AdminListUserAuthEvents service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// 
        /// This exception is thrown when user pool add-ons aren't enabled.
        /// 
        /// REST API Reference for AdminListUserAuthEvents Operation
        public virtual AdminListUserAuthEventsResponse AdminListUserAuthEvents(AdminListUserAuthEventsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminListUserAuthEventsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminListUserAuthEventsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminListUserAuthEvents operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminListUserAuthEvents operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminListUserAuthEvents
        ///         operation.
        /// REST API Reference for AdminListUserAuthEvents Operation
        public virtual IAsyncResult BeginAdminListUserAuthEvents(AdminListUserAuthEventsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminListUserAuthEventsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminListUserAuthEventsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminListUserAuthEvents operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminListUserAuthEvents.
        /// 
        /// Returns a  AdminListUserAuthEventsResult from CognitoIdentityProvider.
        /// REST API Reference for AdminListUserAuthEvents Operation
        public virtual AdminListUserAuthEventsResponse EndAdminListUserAuthEvents(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminRemoveUserFromGroup
        /// 
        /// Removes the specified user from the specified group.
        /// 
        ///  
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminRemoveUserFromGroup service method.
        /// 
        /// The response from the AdminRemoveUserFromGroup service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminRemoveUserFromGroup Operation
        public virtual AdminRemoveUserFromGroupResponse AdminRemoveUserFromGroup(AdminRemoveUserFromGroupRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminRemoveUserFromGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminRemoveUserFromGroupResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminRemoveUserFromGroup operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminRemoveUserFromGroup operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminRemoveUserFromGroup
        ///         operation.
        /// REST API Reference for AdminRemoveUserFromGroup Operation
        public virtual IAsyncResult BeginAdminRemoveUserFromGroup(AdminRemoveUserFromGroupRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminRemoveUserFromGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminRemoveUserFromGroupResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminRemoveUserFromGroup operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminRemoveUserFromGroup.
        /// 
        /// Returns a  AdminRemoveUserFromGroupResult from CognitoIdentityProvider.
        /// REST API Reference for AdminRemoveUserFromGroup Operation
        public virtual AdminRemoveUserFromGroupResponse EndAdminRemoveUserFromGroup(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminResetUserPassword
        /// 
        /// Resets the specified user's password in a user pool as an administrator. Works on
        /// any user.
        /// 
        ///  
        /// 
        /// When a developer calls this API, the current password is invalidated, so it must be
        /// changed. If a user tries to sign in after the API is called, the app will get a PasswordResetRequiredException
        /// exception back and should direct the user down the flow to reset the password, which
        /// is the same as the forgot password flow. In addition, if the user pool has phone verification
        /// selected and a verified phone number exists for the user, or if email verification
        /// is selected and a verified email exists for the user, calling this API will also result
        /// in sending a message to the end user with the code to change their password.
        /// 
        ///   
        /// 
        /// This action might generate an SMS text message. Starting June 1, 2021, US telecom
        /// carriers require you to register an origination phone number before you can send SMS
        /// messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you
        /// must register a phone number with Amazon
        /// Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise,
        /// Amazon Cognito users who must receive SMS messages might not be able to sign up, activate
        /// their accounts, or sign in.
        /// 
        ///  
        /// 
        /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web
        /// Service, Amazon Simple Notification Service might place your account in the SMS sandbox.
        /// In  sandbox
        /// mode , you can send messages only to verified phone numbers. After you test
        /// your app while in the sandbox environment, you can move out of the sandbox and into
        /// production. For more information, see 
        /// SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer
        /// Guide.
        /// 
        ///   
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminResetUserPassword service method.
        /// 
        /// The response from the AdminResetUserPassword service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito isn't allowed to use your email identity.
        /// HTTP status code: 400.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid Lambda response.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is returned when the role provided for SMS configuration doesn't have
        /// permission to publish using Amazon SNS.
        /// 
        /// 
        /// This exception is thrown when the trust relationship is not valid for the role provided
        /// for SMS configuration. This can happen if you don't trust cognito-idp.amazonaws.com
        /// or the external ID provided in the role does not match what is provided in the SMS
        /// configuration for the user pool.
        /// 
        /// 
        /// This exception is thrown when a user exceeds the limit for a requested Amazon Web
        /// Services resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an unexpected exception with
        /// Lambda.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters a user validation
        /// exception with the Lambda service.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminResetUserPassword Operation
        public virtual AdminResetUserPasswordResponse AdminResetUserPassword(AdminResetUserPasswordRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminResetUserPasswordRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminResetUserPasswordResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminResetUserPassword operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminResetUserPassword operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminResetUserPassword
        ///         operation.
        /// REST API Reference for AdminResetUserPassword Operation
        public virtual IAsyncResult BeginAdminResetUserPassword(AdminResetUserPasswordRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminResetUserPasswordRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminResetUserPasswordResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminResetUserPassword operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminResetUserPassword.
        /// 
        /// Returns a  AdminResetUserPasswordResult from CognitoIdentityProvider.
        /// REST API Reference for AdminResetUserPassword Operation
        public virtual AdminResetUserPasswordResponse EndAdminResetUserPassword(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminRespondToAuthChallenge
        /// 
        /// Responds to an authentication challenge, as an administrator.
        /// 
        ///   
        /// 
        /// This action might generate an SMS text message. Starting June 1, 2021, US telecom
        /// carriers require you to register an origination phone number before you can send SMS
        /// messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you
        /// must register a phone number with Amazon
        /// Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise,
        /// Amazon Cognito users who must receive SMS messages might not be able to sign up, activate
        /// their accounts, or sign in.
        /// 
        ///  
        /// 
        /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web
        /// Service, Amazon Simple Notification Service might place your account in the SMS sandbox.
        /// In  sandbox
        /// mode , you can send messages only to verified phone numbers. After you test
        /// your app while in the sandbox environment, you can move out of the sandbox and into
        /// production. For more information, see 
        /// SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer
        /// Guide.
        /// 
        ///   
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminRespondToAuthChallenge service method.
        /// 
        /// The response from the AdminRespondToAuthChallenge service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when a user tries to confirm the account with an email address
        /// or phone number that has already been supplied as an alias for a different user profile.
        /// This exception indicates that an account with this email address or phone already
        /// exists in a user pool that you've configured to use email address or phone number
        /// as a sign-in alias.
        /// 
        /// 
        /// This exception is thrown if the provided code doesn't match what the server was expecting.
        /// 
        /// 
        /// This exception is thrown if a code has expired.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid Lambda response.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid password.
        /// 
        /// 
        /// This exception is returned when the role provided for SMS configuration doesn't have
        /// permission to publish using Amazon SNS.
        /// 
        /// 
        /// This exception is thrown when the trust relationship is not valid for the role provided
        /// for SMS configuration. This can happen if you don't trust cognito-idp.amazonaws.com
        /// or the external ID provided in the role does not match what is provided in the SMS
        /// configuration for the user pool.
        /// 
        /// 
        /// This exception is thrown when the user pool configuration is not valid.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito can't find a multi-factor authentication
        /// (MFA) method.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the software token time-based one-time password (TOTP)
        /// multi-factor authentication (MFA) isn't activated for the user pool.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an unexpected exception with
        /// Lambda.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters a user validation
        /// exception with the Lambda service.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminRespondToAuthChallenge Operation
        public virtual AdminRespondToAuthChallengeResponse AdminRespondToAuthChallenge(AdminRespondToAuthChallengeRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminRespondToAuthChallengeRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminRespondToAuthChallengeResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminRespondToAuthChallenge operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminRespondToAuthChallenge operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminRespondToAuthChallenge
        ///         operation.
        /// REST API Reference for AdminRespondToAuthChallenge Operation
        public virtual IAsyncResult BeginAdminRespondToAuthChallenge(AdminRespondToAuthChallengeRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminRespondToAuthChallengeRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminRespondToAuthChallengeResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminRespondToAuthChallenge operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminRespondToAuthChallenge.
        /// 
        /// Returns a  AdminRespondToAuthChallengeResult from CognitoIdentityProvider.
        /// REST API Reference for AdminRespondToAuthChallenge Operation
        public virtual AdminRespondToAuthChallengeResponse EndAdminRespondToAuthChallenge(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminSetUserMFAPreference
        /// 
        /// The user's multi-factor authentication (MFA) preference, including which MFA options
        /// are activated, and if any are preferred. Only one factor can be set as preferred.
        /// The preferred MFA factor will be used to authenticate a user if multiple factors are
        /// activated. If multiple options are activated and no preference is set, a challenge
        /// to choose an MFA option will be returned during sign-in.
        /// 
        /// Container for the necessary parameters to execute the AdminSetUserMFAPreference service method.
        /// 
        /// The response from the AdminSetUserMFAPreference service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminSetUserMFAPreference Operation
        public virtual AdminSetUserMFAPreferenceResponse AdminSetUserMFAPreference(AdminSetUserMFAPreferenceRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminSetUserMFAPreferenceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminSetUserMFAPreferenceResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminSetUserMFAPreference operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminSetUserMFAPreference operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminSetUserMFAPreference
        ///         operation.
        /// REST API Reference for AdminSetUserMFAPreference Operation
        public virtual IAsyncResult BeginAdminSetUserMFAPreference(AdminSetUserMFAPreferenceRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminSetUserMFAPreferenceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminSetUserMFAPreferenceResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminSetUserMFAPreference operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminSetUserMFAPreference.
        /// 
        /// Returns a  AdminSetUserMFAPreferenceResult from CognitoIdentityProvider.
        /// REST API Reference for AdminSetUserMFAPreference Operation
        public virtual AdminSetUserMFAPreferenceResponse EndAdminSetUserMFAPreference(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminSetUserPassword
        /// 
        /// Sets the specified user's password in a user pool as an administrator. Works on any
        /// user. 
        /// 
        ///  
        /// 
        /// The password can be temporary or permanent. If it is temporary, the user status enters
        /// the FORCE_CHANGE_PASSWORD state. When the user next tries to sign in,
        /// the InitiateAuth/AdminInitiateAuth response will contain the NEW_PASSWORD_REQUIRED
        /// challenge. If the user doesn't sign in before it expires, the user won't be able to
        /// sign in, and an administrator must reset their password. 
        /// 
        ///  
        /// 
        /// Once the user has set a new password, or the password is permanent, the user status
        /// is set to Confirmed.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminSetUserPassword service method.
        /// 
        /// The response from the AdminSetUserPassword service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid password.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminSetUserPassword Operation
        public virtual AdminSetUserPasswordResponse AdminSetUserPassword(AdminSetUserPasswordRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminSetUserPasswordRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminSetUserPasswordResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminSetUserPassword operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminSetUserPassword operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminSetUserPassword
        ///         operation.
        /// REST API Reference for AdminSetUserPassword Operation
        public virtual IAsyncResult BeginAdminSetUserPassword(AdminSetUserPasswordRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminSetUserPasswordRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminSetUserPasswordResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminSetUserPassword operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminSetUserPassword.
        /// 
        /// Returns a  AdminSetUserPasswordResult from CognitoIdentityProvider.
        /// REST API Reference for AdminSetUserPassword Operation
        public virtual AdminSetUserPasswordResponse EndAdminSetUserPassword(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminSetUserSettings
        /// 
        /// This action is no longer supported. You can use it to configure only SMS MFA.
        /// You can't use it to configure time-based one-time password (TOTP) software token MFA.
        /// To configure either type of MFA, use AdminSetUserMFAPreference
        /// instead.
        /// 
        /// Container for the necessary parameters to execute the AdminSetUserSettings service method.
        /// 
        /// The response from the AdminSetUserSettings service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminSetUserSettings Operation
        public virtual AdminSetUserSettingsResponse AdminSetUserSettings(AdminSetUserSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminSetUserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminSetUserSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminSetUserSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminSetUserSettings operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminSetUserSettings
        ///         operation.
        /// REST API Reference for AdminSetUserSettings Operation
        public virtual IAsyncResult BeginAdminSetUserSettings(AdminSetUserSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminSetUserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminSetUserSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminSetUserSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminSetUserSettings.
        /// 
        /// Returns a  AdminSetUserSettingsResult from CognitoIdentityProvider.
        /// REST API Reference for AdminSetUserSettings Operation
        public virtual AdminSetUserSettingsResponse EndAdminSetUserSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminUpdateAuthEventFeedback
        /// 
        /// Provides feedback for an authentication event indicating if it was from a valid user.
        /// This feedback is used for improving the risk evaluation decision for the user pool
        /// as part of Amazon Cognito advanced security.
        /// 
        /// Container for the necessary parameters to execute the AdminUpdateAuthEventFeedback service method.
        /// 
        /// The response from the AdminUpdateAuthEventFeedback service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// 
        /// This exception is thrown when user pool add-ons aren't enabled.
        /// 
        /// REST API Reference for AdminUpdateAuthEventFeedback Operation
        public virtual AdminUpdateAuthEventFeedbackResponse AdminUpdateAuthEventFeedback(AdminUpdateAuthEventFeedbackRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminUpdateAuthEventFeedbackRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminUpdateAuthEventFeedbackResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminUpdateAuthEventFeedback operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminUpdateAuthEventFeedback operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminUpdateAuthEventFeedback
        ///         operation.
        /// REST API Reference for AdminUpdateAuthEventFeedback Operation
        public virtual IAsyncResult BeginAdminUpdateAuthEventFeedback(AdminUpdateAuthEventFeedbackRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminUpdateAuthEventFeedbackRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminUpdateAuthEventFeedbackResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminUpdateAuthEventFeedback operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminUpdateAuthEventFeedback.
        /// 
        /// Returns a  AdminUpdateAuthEventFeedbackResult from CognitoIdentityProvider.
        /// REST API Reference for AdminUpdateAuthEventFeedback Operation
        public virtual AdminUpdateAuthEventFeedbackResponse EndAdminUpdateAuthEventFeedback(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminUpdateDeviceStatus
        /// 
        /// Updates the device status as an administrator.
        /// 
        ///  
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminUpdateDeviceStatus service method.
        /// 
        /// The response from the AdminUpdateDeviceStatus service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when the user pool configuration is not valid.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminUpdateDeviceStatus Operation
        public virtual AdminUpdateDeviceStatusResponse AdminUpdateDeviceStatus(AdminUpdateDeviceStatusRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminUpdateDeviceStatusRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminUpdateDeviceStatusResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminUpdateDeviceStatus operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminUpdateDeviceStatus operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminUpdateDeviceStatus
        ///         operation.
        /// REST API Reference for AdminUpdateDeviceStatus Operation
        public virtual IAsyncResult BeginAdminUpdateDeviceStatus(AdminUpdateDeviceStatusRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminUpdateDeviceStatusRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminUpdateDeviceStatusResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminUpdateDeviceStatus operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminUpdateDeviceStatus.
        /// 
        /// Returns a  AdminUpdateDeviceStatusResult from CognitoIdentityProvider.
        /// REST API Reference for AdminUpdateDeviceStatus Operation
        public virtual AdminUpdateDeviceStatusResponse EndAdminUpdateDeviceStatus(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminUpdateUserAttributes
        /// 
        /// Updates the specified user's attributes, including developer attributes, as an administrator.
        /// Works on any user.
        /// 
        ///  
        /// 
        /// For custom attributes, you must prepend the custom: prefix to the attribute
        /// name.
        /// 
        ///  
        /// 
        /// In addition to updating user attributes, this API can also be used to mark phone and
        /// email as verified.
        /// 
        ///   
        /// 
        /// This action might generate an SMS text message. Starting June 1, 2021, US telecom
        /// carriers require you to register an origination phone number before you can send SMS
        /// messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you
        /// must register a phone number with Amazon
        /// Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise,
        /// Amazon Cognito users who must receive SMS messages might not be able to sign up, activate
        /// their accounts, or sign in.
        /// 
        ///  
        /// 
        /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web
        /// Service, Amazon Simple Notification Service might place your account in the SMS sandbox.
        /// In  sandbox
        /// mode , you can send messages only to verified phone numbers. After you test
        /// your app while in the sandbox environment, you can move out of the sandbox and into
        /// production. For more information, see 
        /// SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer
        /// Guide.
        /// 
        ///   
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminUpdateUserAttributes service method.
        /// 
        /// The response from the AdminUpdateUserAttributes service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when a user tries to confirm the account with an email address
        /// or phone number that has already been supplied as an alias for a different user profile.
        /// This exception indicates that an account with this email address or phone already
        /// exists in a user pool that you've configured to use email address or phone number
        /// as a sign-in alias.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito isn't allowed to use your email identity.
        /// HTTP status code: 400.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid Lambda response.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is returned when the role provided for SMS configuration doesn't have
        /// permission to publish using Amazon SNS.
        /// 
        /// 
        /// This exception is thrown when the trust relationship is not valid for the role provided
        /// for SMS configuration. This can happen if you don't trust cognito-idp.amazonaws.com
        /// or the external ID provided in the role does not match what is provided in the SMS
        /// configuration for the user pool.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an unexpected exception with
        /// Lambda.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters a user validation
        /// exception with the Lambda service.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminUpdateUserAttributes Operation
        public virtual AdminUpdateUserAttributesResponse AdminUpdateUserAttributes(AdminUpdateUserAttributesRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminUpdateUserAttributesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminUpdateUserAttributesResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminUpdateUserAttributes operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminUpdateUserAttributes operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminUpdateUserAttributes
        ///         operation.
        /// REST API Reference for AdminUpdateUserAttributes Operation
        public virtual IAsyncResult BeginAdminUpdateUserAttributes(AdminUpdateUserAttributesRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminUpdateUserAttributesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminUpdateUserAttributesResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminUpdateUserAttributes operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminUpdateUserAttributes.
        /// 
        /// Returns a  AdminUpdateUserAttributesResult from CognitoIdentityProvider.
        /// REST API Reference for AdminUpdateUserAttributes Operation
        public virtual AdminUpdateUserAttributesResponse EndAdminUpdateUserAttributes(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AdminUserGlobalSignOut
        /// 
        /// Signs out a user from all devices. You must sign AdminUserGlobalSignOut
        /// requests with Amazon Web Services credentials. It also invalidates all refresh tokens
        /// that Amazon Cognito has issued to a user. The user's current access and ID tokens
        /// remain valid until they expire. By default, access and ID tokens expire one hour after
        /// they're issued. A user can still use a hosted UI cookie to retrieve new tokens for
        /// the duration of the cookie validity period of 1 hour.
        /// 
        ///  
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminUserGlobalSignOut service method.
        /// 
        /// The response from the AdminUserGlobalSignOut service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for AdminUserGlobalSignOut Operation
        public virtual AdminUserGlobalSignOutResponse AdminUserGlobalSignOut(AdminUserGlobalSignOutRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminUserGlobalSignOutRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminUserGlobalSignOutResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AdminUserGlobalSignOut operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AdminUserGlobalSignOut operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAdminUserGlobalSignOut
        ///         operation.
        /// REST API Reference for AdminUserGlobalSignOut Operation
        public virtual IAsyncResult BeginAdminUserGlobalSignOut(AdminUserGlobalSignOutRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AdminUserGlobalSignOutRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AdminUserGlobalSignOutResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AdminUserGlobalSignOut operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAdminUserGlobalSignOut.
        /// 
        /// Returns a  AdminUserGlobalSignOutResult from CognitoIdentityProvider.
        /// REST API Reference for AdminUserGlobalSignOut Operation
        public virtual AdminUserGlobalSignOutResponse EndAdminUserGlobalSignOut(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  AssociateSoftwareToken
        /// 
        /// Begins setup of time-based one-time password (TOTP) multi-factor authentication (MFA)
        /// for a user, with a unique private key that Amazon Cognito generates and returns in
        /// the API response. You can authorize an AssociateSoftwareToken request
        /// with either the user's access token, or a session string from a challenge response
        /// that you received from Amazon Cognito.
        /// 
        ///   
        /// 
        /// Amazon Cognito disassociates an existing software token when you verify the new token
        /// in a 
        /// VerifySoftwareToken API request. If you don't verify the software token and your
        /// user pool doesn't require MFA, the user can then authenticate with user name and password
        /// credentials alone. If your user pool requires TOTP MFA, Amazon Cognito generates an
        /// MFA_SETUP or SOFTWARE_TOKEN_SETUP challenge each time your
        /// user signs. Complete setup with AssociateSoftwareToken and VerifySoftwareToken.
        /// 
        ///  
        /// 
        /// After you set up software token MFA for your user, Amazon Cognito generates a SOFTWARE_TOKEN_MFA
        /// challenge when they authenticate. Respond to this challenge with your user's TOTP.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the AssociateSoftwareToken service method.
        /// 
        /// The response from the AssociateSoftwareToken service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown if two or more modifications are happening concurrently.
        /// 
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the software token time-based one-time password (TOTP)
        /// multi-factor authentication (MFA) isn't activated for the user pool.
        /// 
        /// REST API Reference for AssociateSoftwareToken Operation
        public virtual AssociateSoftwareTokenResponse AssociateSoftwareToken(AssociateSoftwareTokenRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateSoftwareTokenRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateSoftwareTokenResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the AssociateSoftwareToken operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the AssociateSoftwareToken operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndAssociateSoftwareToken
        ///         operation.
        /// REST API Reference for AssociateSoftwareToken Operation
        public virtual IAsyncResult BeginAssociateSoftwareToken(AssociateSoftwareTokenRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = AssociateSoftwareTokenRequestMarshaller.Instance;
            options.ResponseUnmarshaller = AssociateSoftwareTokenResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  AssociateSoftwareToken operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginAssociateSoftwareToken.
        /// 
        /// Returns a  AssociateSoftwareTokenResult from CognitoIdentityProvider.
        /// REST API Reference for AssociateSoftwareToken Operation
        public virtual AssociateSoftwareTokenResponse EndAssociateSoftwareToken(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ChangePassword
        /// 
        /// Changes the password for a specified user in a user pool.
        /// 
        /// Container for the necessary parameters to execute the ChangePassword service method.
        /// 
        /// The response from the ChangePassword service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid password.
        /// 
        /// 
        /// This exception is thrown when a user exceeds the limit for a requested Amazon Web
        /// Services resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for ChangePassword Operation
        public virtual ChangePasswordResponse ChangePassword(ChangePasswordRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ChangePasswordRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ChangePasswordResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ChangePassword operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ChangePassword operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndChangePassword
        ///         operation.
        /// REST API Reference for ChangePassword Operation
        public virtual IAsyncResult BeginChangePassword(ChangePasswordRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ChangePasswordRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ChangePasswordResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ChangePassword operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginChangePassword.
        /// 
        /// Returns a  ChangePasswordResult from CognitoIdentityProvider.
        /// REST API Reference for ChangePassword Operation
        public virtual ChangePasswordResponse EndChangePassword(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ConfirmDevice
        /// 
        /// Confirms tracking of the device. This API call is the call that begins device tracking.
        /// 
        /// Container for the necessary parameters to execute the ConfirmDevice service method.
        /// 
        /// The response from the ConfirmDevice service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid Lambda response.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid password.
        /// 
        /// 
        /// This exception is thrown when the user pool configuration is not valid.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters a user name that already exists
        /// in the user pool.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for ConfirmDevice Operation
        public virtual ConfirmDeviceResponse ConfirmDevice(ConfirmDeviceRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ConfirmDeviceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ConfirmDeviceResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ConfirmDevice operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ConfirmDevice operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndConfirmDevice
        ///         operation.
        /// REST API Reference for ConfirmDevice Operation
        public virtual IAsyncResult BeginConfirmDevice(ConfirmDeviceRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ConfirmDeviceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ConfirmDeviceResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ConfirmDevice operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginConfirmDevice.
        /// 
        /// Returns a  ConfirmDeviceResult from CognitoIdentityProvider.
        /// REST API Reference for ConfirmDevice Operation
        public virtual ConfirmDeviceResponse EndConfirmDevice(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ConfirmForgotPassword
        /// 
        /// Allows a user to enter a confirmation code to reset a forgotten password.
        /// 
        /// Container for the necessary parameters to execute the ConfirmForgotPassword service method.
        /// 
        /// The response from the ConfirmForgotPassword service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown if the provided code doesn't match what the server was expecting.
        /// 
        /// 
        /// This exception is thrown if a code has expired.
        /// 
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid Lambda response.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid password.
        /// 
        /// 
        /// This exception is thrown when a user exceeds the limit for a requested Amazon Web
        /// Services resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many failed attempts for a given
        /// action, such as sign-in.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an unexpected exception with
        /// Lambda.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters a user validation
        /// exception with the Lambda service.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for ConfirmForgotPassword Operation
        public virtual ConfirmForgotPasswordResponse ConfirmForgotPassword(ConfirmForgotPasswordRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ConfirmForgotPasswordRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ConfirmForgotPasswordResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ConfirmForgotPassword operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ConfirmForgotPassword operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndConfirmForgotPassword
        ///         operation.
        /// REST API Reference for ConfirmForgotPassword Operation
        public virtual IAsyncResult BeginConfirmForgotPassword(ConfirmForgotPasswordRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ConfirmForgotPasswordRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ConfirmForgotPasswordResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ConfirmForgotPassword operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginConfirmForgotPassword.
        /// 
        /// Returns a  ConfirmForgotPasswordResult from CognitoIdentityProvider.
        /// REST API Reference for ConfirmForgotPassword Operation
        public virtual ConfirmForgotPasswordResponse EndConfirmForgotPassword(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ConfirmSignUp
        /// 
        /// Confirms registration of a new user.
        /// 
        /// Container for the necessary parameters to execute the ConfirmSignUp service method.
        /// 
        /// The response from the ConfirmSignUp service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when a user tries to confirm the account with an email address
        /// or phone number that has already been supplied as an alias for a different user profile.
        /// This exception indicates that an account with this email address or phone already
        /// exists in a user pool that you've configured to use email address or phone number
        /// as a sign-in alias.
        /// 
        /// 
        /// This exception is thrown if the provided code doesn't match what the server was expecting.
        /// 
        /// 
        /// This exception is thrown if a code has expired.
        /// 
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid Lambda response.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user exceeds the limit for a requested Amazon Web
        /// Services resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many failed attempts for a given
        /// action, such as sign-in.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an unexpected exception with
        /// Lambda.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters a user validation
        /// exception with the Lambda service.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for ConfirmSignUp Operation
        public virtual ConfirmSignUpResponse ConfirmSignUp(ConfirmSignUpRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ConfirmSignUpRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ConfirmSignUpResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ConfirmSignUp operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ConfirmSignUp operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndConfirmSignUp
        ///         operation.
        /// REST API Reference for ConfirmSignUp Operation
        public virtual IAsyncResult BeginConfirmSignUp(ConfirmSignUpRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ConfirmSignUpRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ConfirmSignUpResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ConfirmSignUp operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginConfirmSignUp.
        /// 
        /// Returns a  ConfirmSignUpResult from CognitoIdentityProvider.
        /// REST API Reference for ConfirmSignUp Operation
        public virtual ConfirmSignUpResponse EndConfirmSignUp(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  CreateGroup
        /// 
        /// Creates a new group in the specified user pool.
        /// 
        ///  
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateGroup service method.
        /// 
        /// The response from the CreateGroup service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters a group that already exists
        /// in the user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user exceeds the limit for a requested Amazon Web
        /// Services resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for CreateGroup Operation
        public virtual CreateGroupResponse CreateGroup(CreateGroupRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateGroupResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the CreateGroup operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateGroup operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateGroup
        ///         operation.
        /// REST API Reference for CreateGroup Operation
        public virtual IAsyncResult BeginCreateGroup(CreateGroupRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateGroupResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  CreateGroup operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateGroup.
        /// 
        /// Returns a  CreateGroupResult from CognitoIdentityProvider.
        /// REST API Reference for CreateGroup Operation
        public virtual CreateGroupResponse EndCreateGroup(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  CreateIdentityProvider
        /// 
        /// Creates an IdP for a user pool.
        /// 
        /// Container for the necessary parameters to execute the CreateIdentityProvider service method.
        /// 
        /// The response from the CreateIdentityProvider service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when the provider is already supported by the user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user exceeds the limit for a requested Amazon Web
        /// Services resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for CreateIdentityProvider Operation
        public virtual CreateIdentityProviderResponse CreateIdentityProvider(CreateIdentityProviderRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateIdentityProviderRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateIdentityProviderResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the CreateIdentityProvider operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateIdentityProvider operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateIdentityProvider
        ///         operation.
        /// REST API Reference for CreateIdentityProvider Operation
        public virtual IAsyncResult BeginCreateIdentityProvider(CreateIdentityProviderRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateIdentityProviderRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateIdentityProviderResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  CreateIdentityProvider operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateIdentityProvider.
        /// 
        /// Returns a  CreateIdentityProviderResult from CognitoIdentityProvider.
        /// REST API Reference for CreateIdentityProvider Operation
        public virtual CreateIdentityProviderResponse EndCreateIdentityProvider(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  CreateResourceServer
        /// 
        /// Creates a new OAuth2.0 resource server and defines custom scopes within it.
        /// 
        /// Container for the necessary parameters to execute the CreateResourceServer service method.
        /// 
        /// The response from the CreateResourceServer service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user exceeds the limit for a requested Amazon Web
        /// Services resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for CreateResourceServer Operation
        public virtual CreateResourceServerResponse CreateResourceServer(CreateResourceServerRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateResourceServerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateResourceServerResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the CreateResourceServer operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateResourceServer operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateResourceServer
        ///         operation.
        /// REST API Reference for CreateResourceServer Operation
        public virtual IAsyncResult BeginCreateResourceServer(CreateResourceServerRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateResourceServerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateResourceServerResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  CreateResourceServer operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateResourceServer.
        /// 
        /// Returns a  CreateResourceServerResult from CognitoIdentityProvider.
        /// REST API Reference for CreateResourceServer Operation
        public virtual CreateResourceServerResponse EndCreateResourceServer(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  CreateUserImportJob
        /// 
        /// Creates the user import job.
        /// 
        /// Container for the necessary parameters to execute the CreateUserImportJob service method.
        /// 
        /// The response from the CreateUserImportJob service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user exceeds the limit for a requested Amazon Web
        /// Services resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a precondition is not met.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for CreateUserImportJob Operation
        public virtual CreateUserImportJobResponse CreateUserImportJob(CreateUserImportJobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateUserImportJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateUserImportJobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the CreateUserImportJob operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateUserImportJob operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateUserImportJob
        ///         operation.
        /// REST API Reference for CreateUserImportJob Operation
        public virtual IAsyncResult BeginCreateUserImportJob(CreateUserImportJobRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateUserImportJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateUserImportJobResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  CreateUserImportJob operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateUserImportJob.
        /// 
        /// Returns a  CreateUserImportJobResult from CognitoIdentityProvider.
        /// REST API Reference for CreateUserImportJob Operation
        public virtual CreateUserImportJobResponse EndCreateUserImportJob(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  CreateUserPool
        /// 
        /// Creates a new Amazon Cognito user pool and sets the password policy for the pool.
        /// 
        ///   
        /// 
        /// This action might generate an SMS text message. Starting June 1, 2021, US telecom
        /// carriers require you to register an origination phone number before you can send SMS
        /// messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you
        /// must register a phone number with Amazon
        /// Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise,
        /// Amazon Cognito users who must receive SMS messages might not be able to sign up, activate
        /// their accounts, or sign in.
        /// 
        ///  
        /// 
        /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web
        /// Service, Amazon Simple Notification Service might place your account in the SMS sandbox.
        /// In  sandbox
        /// mode , you can send messages only to verified phone numbers. After you test
        /// your app while in the sandbox environment, you can move out of the sandbox and into
        /// production. For more information, see 
        /// SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer
        /// Guide.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the CreateUserPool service method.
        /// 
        /// The response from the CreateUserPool service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito isn't allowed to use your email identity.
        /// HTTP status code: 400.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is returned when the role provided for SMS configuration doesn't have
        /// permission to publish using Amazon SNS.
        /// 
        /// 
        /// This exception is thrown when the trust relationship is not valid for the role provided
        /// for SMS configuration. This can happen if you don't trust cognito-idp.amazonaws.com
        /// or the external ID provided in the role does not match what is provided in the SMS
        /// configuration for the user pool.
        /// 
        /// 
        /// This exception is thrown when a user exceeds the limit for a requested Amazon Web
        /// Services resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user pool tag can't be set or updated.
        /// 
        /// REST API Reference for CreateUserPool Operation
        public virtual CreateUserPoolResponse CreateUserPool(CreateUserPoolRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateUserPoolRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateUserPoolResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the CreateUserPool operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateUserPool operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateUserPool
        ///         operation.
        /// REST API Reference for CreateUserPool Operation
        public virtual IAsyncResult BeginCreateUserPool(CreateUserPoolRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateUserPoolRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateUserPoolResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  CreateUserPool operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateUserPool.
        /// 
        /// Returns a  CreateUserPoolResult from CognitoIdentityProvider.
        /// REST API Reference for CreateUserPool Operation
        public virtual CreateUserPoolResponse EndCreateUserPool(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  CreateUserPoolClient
        /// 
        /// Creates the user pool client.
        /// 
        ///  
        /// 
        /// When you create a new user pool client, token revocation is automatically activated.
        /// For more information about revoking tokens, see RevokeToken.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateUserPoolClient service method.
        /// 
        /// The response from the CreateUserPoolClient service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the specified OAuth flow is not valid.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user exceeds the limit for a requested Amazon Web
        /// Services resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the specified scope doesn't exist.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for CreateUserPoolClient Operation
        public virtual CreateUserPoolClientResponse CreateUserPoolClient(CreateUserPoolClientRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateUserPoolClientRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateUserPoolClientResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the CreateUserPoolClient operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateUserPoolClient operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateUserPoolClient
        ///         operation.
        /// REST API Reference for CreateUserPoolClient Operation
        public virtual IAsyncResult BeginCreateUserPoolClient(CreateUserPoolClientRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateUserPoolClientRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateUserPoolClientResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  CreateUserPoolClient operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateUserPoolClient.
        /// 
        /// Returns a  CreateUserPoolClientResult from CognitoIdentityProvider.
        /// REST API Reference for CreateUserPoolClient Operation
        public virtual CreateUserPoolClientResponse EndCreateUserPoolClient(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  CreateUserPoolDomain
        /// 
        /// Creates a new domain for a user pool.
        /// 
        /// Container for the necessary parameters to execute the CreateUserPoolDomain service method.
        /// 
        /// The response from the CreateUserPoolDomain service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user exceeds the limit for a requested Amazon Web
        /// Services resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// REST API Reference for CreateUserPoolDomain Operation
        public virtual CreateUserPoolDomainResponse CreateUserPoolDomain(CreateUserPoolDomainRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateUserPoolDomainRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateUserPoolDomainResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the CreateUserPoolDomain operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateUserPoolDomain operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateUserPoolDomain
        ///         operation.
        /// REST API Reference for CreateUserPoolDomain Operation
        public virtual IAsyncResult BeginCreateUserPoolDomain(CreateUserPoolDomainRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = CreateUserPoolDomainRequestMarshaller.Instance;
            options.ResponseUnmarshaller = CreateUserPoolDomainResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  CreateUserPoolDomain operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginCreateUserPoolDomain.
        /// 
        /// Returns a  CreateUserPoolDomainResult from CognitoIdentityProvider.
        /// REST API Reference for CreateUserPoolDomain Operation
        public virtual CreateUserPoolDomainResponse EndCreateUserPoolDomain(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DeleteGroup
        /// 
        /// Deletes a group.
        /// 
        ///  
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteGroup service method.
        /// 
        /// The response from the DeleteGroup service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for DeleteGroup Operation
        public virtual DeleteGroupResponse DeleteGroup(DeleteGroupRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteGroupResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DeleteGroup operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteGroup operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteGroup
        ///         operation.
        /// REST API Reference for DeleteGroup Operation
        public virtual IAsyncResult BeginDeleteGroup(DeleteGroupRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteGroupResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DeleteGroup operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteGroup.
        /// 
        /// Returns a  DeleteGroupResult from CognitoIdentityProvider.
        /// REST API Reference for DeleteGroup Operation
        public virtual DeleteGroupResponse EndDeleteGroup(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DeleteIdentityProvider
        /// 
        /// Deletes an IdP for a user pool.
        /// 
        /// Container for the necessary parameters to execute the DeleteIdentityProvider service method.
        /// 
        /// The response from the DeleteIdentityProvider service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown if two or more modifications are happening concurrently.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when the specified identifier isn't supported.
        /// 
        /// REST API Reference for DeleteIdentityProvider Operation
        public virtual DeleteIdentityProviderResponse DeleteIdentityProvider(DeleteIdentityProviderRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteIdentityProviderRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteIdentityProviderResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DeleteIdentityProvider operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteIdentityProvider operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteIdentityProvider
        ///         operation.
        /// REST API Reference for DeleteIdentityProvider Operation
        public virtual IAsyncResult BeginDeleteIdentityProvider(DeleteIdentityProviderRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteIdentityProviderRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteIdentityProviderResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DeleteIdentityProvider operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteIdentityProvider.
        /// 
        /// Returns a  DeleteIdentityProviderResult from CognitoIdentityProvider.
        /// REST API Reference for DeleteIdentityProvider Operation
        public virtual DeleteIdentityProviderResponse EndDeleteIdentityProvider(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DeleteResourceServer
        /// 
        /// Deletes a resource server.
        /// 
        /// Container for the necessary parameters to execute the DeleteResourceServer service method.
        /// 
        /// The response from the DeleteResourceServer service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for DeleteResourceServer Operation
        public virtual DeleteResourceServerResponse DeleteResourceServer(DeleteResourceServerRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteResourceServerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteResourceServerResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DeleteResourceServer operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteResourceServer operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteResourceServer
        ///         operation.
        /// REST API Reference for DeleteResourceServer Operation
        public virtual IAsyncResult BeginDeleteResourceServer(DeleteResourceServerRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteResourceServerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteResourceServerResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DeleteResourceServer operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteResourceServer.
        /// 
        /// Returns a  DeleteResourceServerResult from CognitoIdentityProvider.
        /// REST API Reference for DeleteResourceServer Operation
        public virtual DeleteResourceServerResponse EndDeleteResourceServer(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DeleteUser
        /// 
        /// Allows a user to delete himself or herself.
        /// 
        /// Container for the necessary parameters to execute the DeleteUser service method.
        /// 
        /// The response from the DeleteUser service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for DeleteUser Operation
        public virtual DeleteUserResponse DeleteUser(DeleteUserRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteUserResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DeleteUser operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteUser operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteUser
        ///         operation.
        /// REST API Reference for DeleteUser Operation
        public virtual IAsyncResult BeginDeleteUser(DeleteUserRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteUserResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DeleteUser operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteUser.
        /// 
        /// Returns a  DeleteUserResult from CognitoIdentityProvider.
        /// REST API Reference for DeleteUser Operation
        public virtual DeleteUserResponse EndDeleteUser(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DeleteUserAttributes
        /// 
        /// Deletes the attributes for a user.
        /// 
        /// Container for the necessary parameters to execute the DeleteUserAttributes service method.
        /// 
        /// The response from the DeleteUserAttributes service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for DeleteUserAttributes Operation
        public virtual DeleteUserAttributesResponse DeleteUserAttributes(DeleteUserAttributesRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteUserAttributesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteUserAttributesResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DeleteUserAttributes operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteUserAttributes operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteUserAttributes
        ///         operation.
        /// REST API Reference for DeleteUserAttributes Operation
        public virtual IAsyncResult BeginDeleteUserAttributes(DeleteUserAttributesRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteUserAttributesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteUserAttributesResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DeleteUserAttributes operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteUserAttributes.
        /// 
        /// Returns a  DeleteUserAttributesResult from CognitoIdentityProvider.
        /// REST API Reference for DeleteUserAttributes Operation
        public virtual DeleteUserAttributesResponse EndDeleteUserAttributes(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DeleteUserPool
        /// 
        /// Deletes the specified Amazon Cognito user pool.
        /// 
        /// Container for the necessary parameters to execute the DeleteUserPool service method.
        /// 
        /// The response from the DeleteUserPool service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when you're trying to modify a user pool while a user import
        /// job is in progress for that pool.
        /// 
        /// REST API Reference for DeleteUserPool Operation
        public virtual DeleteUserPoolResponse DeleteUserPool(DeleteUserPoolRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteUserPoolRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteUserPoolResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DeleteUserPool operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteUserPool operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteUserPool
        ///         operation.
        /// REST API Reference for DeleteUserPool Operation
        public virtual IAsyncResult BeginDeleteUserPool(DeleteUserPoolRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteUserPoolRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteUserPoolResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DeleteUserPool operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteUserPool.
        /// 
        /// Returns a  DeleteUserPoolResult from CognitoIdentityProvider.
        /// REST API Reference for DeleteUserPool Operation
        public virtual DeleteUserPoolResponse EndDeleteUserPool(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DeleteUserPoolClient
        /// 
        /// Allows the developer to delete the user pool client.
        /// 
        /// Container for the necessary parameters to execute the DeleteUserPoolClient service method.
        /// 
        /// The response from the DeleteUserPoolClient service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown if two or more modifications are happening concurrently.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for DeleteUserPoolClient Operation
        public virtual DeleteUserPoolClientResponse DeleteUserPoolClient(DeleteUserPoolClientRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteUserPoolClientRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteUserPoolClientResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DeleteUserPoolClient operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteUserPoolClient operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteUserPoolClient
        ///         operation.
        /// REST API Reference for DeleteUserPoolClient Operation
        public virtual IAsyncResult BeginDeleteUserPoolClient(DeleteUserPoolClientRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteUserPoolClientRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteUserPoolClientResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DeleteUserPoolClient operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteUserPoolClient.
        /// 
        /// Returns a  DeleteUserPoolClientResult from CognitoIdentityProvider.
        /// REST API Reference for DeleteUserPoolClient Operation
        public virtual DeleteUserPoolClientResponse EndDeleteUserPoolClient(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DeleteUserPoolDomain
        /// 
        /// Deletes a domain for a user pool.
        /// 
        /// Container for the necessary parameters to execute the DeleteUserPoolDomain service method.
        /// 
        /// The response from the DeleteUserPoolDomain service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// REST API Reference for DeleteUserPoolDomain Operation
        public virtual DeleteUserPoolDomainResponse DeleteUserPoolDomain(DeleteUserPoolDomainRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteUserPoolDomainRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteUserPoolDomainResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DeleteUserPoolDomain operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteUserPoolDomain operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDeleteUserPoolDomain
        ///         operation.
        /// REST API Reference for DeleteUserPoolDomain Operation
        public virtual IAsyncResult BeginDeleteUserPoolDomain(DeleteUserPoolDomainRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DeleteUserPoolDomainRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteUserPoolDomainResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DeleteUserPoolDomain operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDeleteUserPoolDomain.
        /// 
        /// Returns a  DeleteUserPoolDomainResult from CognitoIdentityProvider.
        /// REST API Reference for DeleteUserPoolDomain Operation
        public virtual DeleteUserPoolDomainResponse EndDeleteUserPoolDomain(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DescribeIdentityProvider
        /// 
        /// Gets information about a specific IdP.
        /// 
        /// Container for the necessary parameters to execute the DescribeIdentityProvider service method.
        /// 
        /// The response from the DescribeIdentityProvider service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for DescribeIdentityProvider Operation
        public virtual DescribeIdentityProviderResponse DescribeIdentityProvider(DescribeIdentityProviderRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeIdentityProviderRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeIdentityProviderResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DescribeIdentityProvider operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DescribeIdentityProvider operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDescribeIdentityProvider
        ///         operation.
        /// REST API Reference for DescribeIdentityProvider Operation
        public virtual IAsyncResult BeginDescribeIdentityProvider(DescribeIdentityProviderRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeIdentityProviderRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeIdentityProviderResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DescribeIdentityProvider operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDescribeIdentityProvider.
        /// 
        /// Returns a  DescribeIdentityProviderResult from CognitoIdentityProvider.
        /// REST API Reference for DescribeIdentityProvider Operation
        public virtual DescribeIdentityProviderResponse EndDescribeIdentityProvider(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DescribeResourceServer
        /// 
        /// Describes a resource server.
        /// 
        /// Container for the necessary parameters to execute the DescribeResourceServer service method.
        /// 
        /// The response from the DescribeResourceServer service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for DescribeResourceServer Operation
        public virtual DescribeResourceServerResponse DescribeResourceServer(DescribeResourceServerRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeResourceServerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeResourceServerResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DescribeResourceServer operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DescribeResourceServer operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDescribeResourceServer
        ///         operation.
        /// REST API Reference for DescribeResourceServer Operation
        public virtual IAsyncResult BeginDescribeResourceServer(DescribeResourceServerRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeResourceServerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeResourceServerResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DescribeResourceServer operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDescribeResourceServer.
        /// 
        /// Returns a  DescribeResourceServerResult from CognitoIdentityProvider.
        /// REST API Reference for DescribeResourceServer Operation
        public virtual DescribeResourceServerResponse EndDescribeResourceServer(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DescribeRiskConfiguration
        /// 
        /// Describes the risk configuration.
        /// 
        /// Container for the necessary parameters to execute the DescribeRiskConfiguration service method.
        /// 
        /// The response from the DescribeRiskConfiguration service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when user pool add-ons aren't enabled.
        /// 
        /// REST API Reference for DescribeRiskConfiguration Operation
        public virtual DescribeRiskConfigurationResponse DescribeRiskConfiguration(DescribeRiskConfigurationRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeRiskConfigurationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeRiskConfigurationResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DescribeRiskConfiguration operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DescribeRiskConfiguration operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDescribeRiskConfiguration
        ///         operation.
        /// REST API Reference for DescribeRiskConfiguration Operation
        public virtual IAsyncResult BeginDescribeRiskConfiguration(DescribeRiskConfigurationRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeRiskConfigurationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeRiskConfigurationResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DescribeRiskConfiguration operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDescribeRiskConfiguration.
        /// 
        /// Returns a  DescribeRiskConfigurationResult from CognitoIdentityProvider.
        /// REST API Reference for DescribeRiskConfiguration Operation
        public virtual DescribeRiskConfigurationResponse EndDescribeRiskConfiguration(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DescribeUserImportJob
        /// 
        /// Describes the user import job.
        /// 
        /// Container for the necessary parameters to execute the DescribeUserImportJob service method.
        /// 
        /// The response from the DescribeUserImportJob service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for DescribeUserImportJob Operation
        public virtual DescribeUserImportJobResponse DescribeUserImportJob(DescribeUserImportJobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeUserImportJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeUserImportJobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DescribeUserImportJob operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DescribeUserImportJob operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDescribeUserImportJob
        ///         operation.
        /// REST API Reference for DescribeUserImportJob Operation
        public virtual IAsyncResult BeginDescribeUserImportJob(DescribeUserImportJobRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeUserImportJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeUserImportJobResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DescribeUserImportJob operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDescribeUserImportJob.
        /// 
        /// Returns a  DescribeUserImportJobResult from CognitoIdentityProvider.
        /// REST API Reference for DescribeUserImportJob Operation
        public virtual DescribeUserImportJobResponse EndDescribeUserImportJob(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DescribeUserPool
        /// 
        /// Returns the configuration information and metadata of the specified user pool.
        /// 
        /// Container for the necessary parameters to execute the DescribeUserPool service method.
        /// 
        /// The response from the DescribeUserPool service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user pool tag can't be set or updated.
        /// 
        /// REST API Reference for DescribeUserPool Operation
        public virtual DescribeUserPoolResponse DescribeUserPool(DescribeUserPoolRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeUserPoolRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeUserPoolResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DescribeUserPool operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DescribeUserPool operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDescribeUserPool
        ///         operation.
        /// REST API Reference for DescribeUserPool Operation
        public virtual IAsyncResult BeginDescribeUserPool(DescribeUserPoolRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeUserPoolRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeUserPoolResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DescribeUserPool operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDescribeUserPool.
        /// 
        /// Returns a  DescribeUserPoolResult from CognitoIdentityProvider.
        /// REST API Reference for DescribeUserPool Operation
        public virtual DescribeUserPoolResponse EndDescribeUserPool(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DescribeUserPoolClient
        /// 
        /// Client method for returning the configuration information and metadata of the specified
        /// user pool app client.
        /// 
        /// Container for the necessary parameters to execute the DescribeUserPoolClient service method.
        /// 
        /// The response from the DescribeUserPoolClient service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for DescribeUserPoolClient Operation
        public virtual DescribeUserPoolClientResponse DescribeUserPoolClient(DescribeUserPoolClientRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeUserPoolClientRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeUserPoolClientResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DescribeUserPoolClient operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DescribeUserPoolClient operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDescribeUserPoolClient
        ///         operation.
        /// REST API Reference for DescribeUserPoolClient Operation
        public virtual IAsyncResult BeginDescribeUserPoolClient(DescribeUserPoolClientRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeUserPoolClientRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeUserPoolClientResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DescribeUserPoolClient operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDescribeUserPoolClient.
        /// 
        /// Returns a  DescribeUserPoolClientResult from CognitoIdentityProvider.
        /// REST API Reference for DescribeUserPoolClient Operation
        public virtual DescribeUserPoolClientResponse EndDescribeUserPoolClient(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  DescribeUserPoolDomain
        /// 
        /// Gets information about a domain.
        /// 
        /// Container for the necessary parameters to execute the DescribeUserPoolDomain service method.
        /// 
        /// The response from the DescribeUserPoolDomain service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// REST API Reference for DescribeUserPoolDomain Operation
        public virtual DescribeUserPoolDomainResponse DescribeUserPoolDomain(DescribeUserPoolDomainRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeUserPoolDomainRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeUserPoolDomainResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the DescribeUserPoolDomain operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DescribeUserPoolDomain operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDescribeUserPoolDomain
        ///         operation.
        /// REST API Reference for DescribeUserPoolDomain Operation
        public virtual IAsyncResult BeginDescribeUserPoolDomain(DescribeUserPoolDomainRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = DescribeUserPoolDomainRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DescribeUserPoolDomainResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  DescribeUserPoolDomain operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginDescribeUserPoolDomain.
        /// 
        /// Returns a  DescribeUserPoolDomainResult from CognitoIdentityProvider.
        /// REST API Reference for DescribeUserPoolDomain Operation
        public virtual DescribeUserPoolDomainResponse EndDescribeUserPoolDomain(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ForgetDevice
        /// 
        /// Forgets the specified device.
        /// 
        /// Container for the necessary parameters to execute the ForgetDevice service method.
        /// 
        /// The response from the ForgetDevice service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when the user pool configuration is not valid.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for ForgetDevice Operation
        public virtual ForgetDeviceResponse ForgetDevice(ForgetDeviceRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ForgetDeviceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ForgetDeviceResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ForgetDevice operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ForgetDevice operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndForgetDevice
        ///         operation.
        /// REST API Reference for ForgetDevice Operation
        public virtual IAsyncResult BeginForgetDevice(ForgetDeviceRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ForgetDeviceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ForgetDeviceResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ForgetDevice operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginForgetDevice.
        /// 
        /// Returns a  ForgetDeviceResult from CognitoIdentityProvider.
        /// REST API Reference for ForgetDevice Operation
        public virtual ForgetDeviceResponse EndForgetDevice(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ForgotPassword
        /// 
        /// Calling this API causes a message to be sent to the end user with a confirmation code
        /// that is required to change the user's password. For the Username parameter,
        /// you can use the username or user alias. The method used to send the confirmation code
        /// is sent according to the specified AccountRecoverySetting. For more information, see
        /// Recovering
        /// User Accounts in the Amazon Cognito Developer Guide. If neither a verified
        /// phone number nor a verified email exists, an InvalidParameterException
        /// is thrown. To use the confirmation code for resetting the password, call ConfirmForgotPassword.
        /// 
        /// 
        ///   
        /// 
        /// This action might generate an SMS text message. Starting June 1, 2021, US telecom
        /// carriers require you to register an origination phone number before you can send SMS
        /// messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you
        /// must register a phone number with Amazon
        /// Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise,
        /// Amazon Cognito users who must receive SMS messages might not be able to sign up, activate
        /// their accounts, or sign in.
        /// 
        ///  
        /// 
        /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web
        /// Service, Amazon Simple Notification Service might place your account in the SMS sandbox.
        /// In  sandbox
        /// mode , you can send messages only to verified phone numbers. After you test
        /// your app while in the sandbox environment, you can move out of the sandbox and into
        /// production. For more information, see 
        /// SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer
        /// Guide.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the ForgotPassword service method.
        /// 
        /// The response from the ForgotPassword service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when a verification code fails to deliver successfully.
        /// 
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito isn't allowed to use your email identity.
        /// HTTP status code: 400.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid Lambda response.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is returned when the role provided for SMS configuration doesn't have
        /// permission to publish using Amazon SNS.
        /// 
        /// 
        /// This exception is thrown when the trust relationship is not valid for the role provided
        /// for SMS configuration. This can happen if you don't trust cognito-idp.amazonaws.com
        /// or the external ID provided in the role does not match what is provided in the SMS
        /// configuration for the user pool.
        /// 
        /// 
        /// This exception is thrown when a user exceeds the limit for a requested Amazon Web
        /// Services resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an unexpected exception with
        /// Lambda.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters a user validation
        /// exception with the Lambda service.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for ForgotPassword Operation
        public virtual ForgotPasswordResponse ForgotPassword(ForgotPasswordRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ForgotPasswordRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ForgotPasswordResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ForgotPassword operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ForgotPassword operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndForgotPassword
        ///         operation.
        /// REST API Reference for ForgotPassword Operation
        public virtual IAsyncResult BeginForgotPassword(ForgotPasswordRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ForgotPasswordRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ForgotPasswordResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ForgotPassword operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginForgotPassword.
        /// 
        /// Returns a  ForgotPasswordResult from CognitoIdentityProvider.
        /// REST API Reference for ForgotPassword Operation
        public virtual ForgotPasswordResponse EndForgotPassword(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GetCSVHeader
        /// 
        /// Gets the header information for the comma-separated value (CSV) file to be used as
        /// input for the user import job.
        /// 
        /// Container for the necessary parameters to execute the GetCSVHeader service method.
        /// 
        /// The response from the GetCSVHeader service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for GetCSVHeader Operation
        public virtual GetCSVHeaderResponse GetCSVHeader(GetCSVHeaderRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetCSVHeaderRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetCSVHeaderResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GetCSVHeader operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetCSVHeader operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetCSVHeader
        ///         operation.
        /// REST API Reference for GetCSVHeader Operation
        public virtual IAsyncResult BeginGetCSVHeader(GetCSVHeaderRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetCSVHeaderRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetCSVHeaderResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GetCSVHeader operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetCSVHeader.
        /// 
        /// Returns a  GetCSVHeaderResult from CognitoIdentityProvider.
        /// REST API Reference for GetCSVHeader Operation
        public virtual GetCSVHeaderResponse EndGetCSVHeader(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GetDevice
        /// 
        /// Gets the device.
        /// 
        /// Container for the necessary parameters to execute the GetDevice service method.
        /// 
        /// The response from the GetDevice service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when the user pool configuration is not valid.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for GetDevice Operation
        public virtual GetDeviceResponse GetDevice(GetDeviceRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetDeviceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetDeviceResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GetDevice operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetDevice operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetDevice
        ///         operation.
        /// REST API Reference for GetDevice Operation
        public virtual IAsyncResult BeginGetDevice(GetDeviceRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetDeviceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetDeviceResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GetDevice operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetDevice.
        /// 
        /// Returns a  GetDeviceResult from CognitoIdentityProvider.
        /// REST API Reference for GetDevice Operation
        public virtual GetDeviceResponse EndGetDevice(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GetGroup
        /// 
        /// Gets a group.
        /// 
        ///  
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetGroup service method.
        /// 
        /// The response from the GetGroup service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for GetGroup Operation
        public virtual GetGroupResponse GetGroup(GetGroupRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetGroupResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GetGroup operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetGroup operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetGroup
        ///         operation.
        /// REST API Reference for GetGroup Operation
        public virtual IAsyncResult BeginGetGroup(GetGroupRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetGroupResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GetGroup operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetGroup.
        /// 
        /// Returns a  GetGroupResult from CognitoIdentityProvider.
        /// REST API Reference for GetGroup Operation
        public virtual GetGroupResponse EndGetGroup(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GetIdentityProviderByIdentifier
        /// 
        /// Gets the specified IdP.
        /// 
        /// Container for the necessary parameters to execute the GetIdentityProviderByIdentifier service method.
        /// 
        /// The response from the GetIdentityProviderByIdentifier service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for GetIdentityProviderByIdentifier Operation
        public virtual GetIdentityProviderByIdentifierResponse GetIdentityProviderByIdentifier(GetIdentityProviderByIdentifierRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetIdentityProviderByIdentifierRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetIdentityProviderByIdentifierResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GetIdentityProviderByIdentifier operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetIdentityProviderByIdentifier operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetIdentityProviderByIdentifier
        ///         operation.
        /// REST API Reference for GetIdentityProviderByIdentifier Operation
        public virtual IAsyncResult BeginGetIdentityProviderByIdentifier(GetIdentityProviderByIdentifierRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetIdentityProviderByIdentifierRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetIdentityProviderByIdentifierResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GetIdentityProviderByIdentifier operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetIdentityProviderByIdentifier.
        /// 
        /// Returns a  GetIdentityProviderByIdentifierResult from CognitoIdentityProvider.
        /// REST API Reference for GetIdentityProviderByIdentifier Operation
        public virtual GetIdentityProviderByIdentifierResponse EndGetIdentityProviderByIdentifier(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GetSigningCertificate
        /// 
        /// This method takes a user pool ID, and returns the signing certificate. The issued
        /// certificate is valid for 10 years from the date of issue.
        /// 
        ///  
        /// 
        /// Amazon Cognito issues and assigns a new signing certificate annually. This process
        /// returns a new value in the response to GetSigningCertificate, but doesn't
        /// invalidate the original certificate.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetSigningCertificate service method.
        /// 
        /// The response from the GetSigningCertificate service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// REST API Reference for GetSigningCertificate Operation
        public virtual GetSigningCertificateResponse GetSigningCertificate(GetSigningCertificateRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetSigningCertificateRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetSigningCertificateResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GetSigningCertificate operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetSigningCertificate operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetSigningCertificate
        ///         operation.
        /// REST API Reference for GetSigningCertificate Operation
        public virtual IAsyncResult BeginGetSigningCertificate(GetSigningCertificateRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetSigningCertificateRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetSigningCertificateResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GetSigningCertificate operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetSigningCertificate.
        /// 
        /// Returns a  GetSigningCertificateResult from CognitoIdentityProvider.
        /// REST API Reference for GetSigningCertificate Operation
        public virtual GetSigningCertificateResponse EndGetSigningCertificate(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GetUICustomization
        /// 
        /// Gets the user interface (UI) Customization information for a particular app client's
        /// app UI, if any such information exists for the client. If nothing is set for the particular
        /// client, but there is an existing pool level customization (the app clientId
        /// is ALL), then that information is returned. If nothing is present, then
        /// an empty shape is returned.
        /// 
        /// Container for the necessary parameters to execute the GetUICustomization service method.
        /// 
        /// The response from the GetUICustomization service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for GetUICustomization Operation
        public virtual GetUICustomizationResponse GetUICustomization(GetUICustomizationRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetUICustomizationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetUICustomizationResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GetUICustomization operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetUICustomization operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetUICustomization
        ///         operation.
        /// REST API Reference for GetUICustomization Operation
        public virtual IAsyncResult BeginGetUICustomization(GetUICustomizationRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetUICustomizationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetUICustomizationResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GetUICustomization operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetUICustomization.
        /// 
        /// Returns a  GetUICustomizationResult from CognitoIdentityProvider.
        /// REST API Reference for GetUICustomization Operation
        public virtual GetUICustomizationResponse EndGetUICustomization(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GetUser
        /// 
        /// Gets the user attributes and metadata for a user.
        /// 
        /// Container for the necessary parameters to execute the GetUser service method.
        /// 
        /// The response from the GetUser service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for GetUser Operation
        public virtual GetUserResponse GetUser(GetUserRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetUserResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GetUser operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetUser operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetUser
        ///         operation.
        /// REST API Reference for GetUser Operation
        public virtual IAsyncResult BeginGetUser(GetUserRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetUserRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetUserResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GetUser operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetUser.
        /// 
        /// Returns a  GetUserResult from CognitoIdentityProvider.
        /// REST API Reference for GetUser Operation
        public virtual GetUserResponse EndGetUser(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GetUserAttributeVerificationCode
        /// 
        /// Generates a user attribute verification code for the specified attribute name. Sends
        /// a message to a user with a code that they must return in a VerifyUserAttribute request.
        /// 
        ///   
        /// 
        /// This action might generate an SMS text message. Starting June 1, 2021, US telecom
        /// carriers require you to register an origination phone number before you can send SMS
        /// messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you
        /// must register a phone number with Amazon
        /// Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise,
        /// Amazon Cognito users who must receive SMS messages might not be able to sign up, activate
        /// their accounts, or sign in.
        /// 
        ///  
        /// 
        /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web
        /// Service, Amazon Simple Notification Service might place your account in the SMS sandbox.
        /// In  sandbox
        /// mode , you can send messages only to verified phone numbers. After you test
        /// your app while in the sandbox environment, you can move out of the sandbox and into
        /// production. For more information, see 
        /// SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer
        /// Guide.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the GetUserAttributeVerificationCode service method.
        /// 
        /// The response from the GetUserAttributeVerificationCode service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when a verification code fails to deliver successfully.
        /// 
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito isn't allowed to use your email identity.
        /// HTTP status code: 400.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid Lambda response.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is returned when the role provided for SMS configuration doesn't have
        /// permission to publish using Amazon SNS.
        /// 
        /// 
        /// This exception is thrown when the trust relationship is not valid for the role provided
        /// for SMS configuration. This can happen if you don't trust cognito-idp.amazonaws.com
        /// or the external ID provided in the role does not match what is provided in the SMS
        /// configuration for the user pool.
        /// 
        /// 
        /// This exception is thrown when a user exceeds the limit for a requested Amazon Web
        /// Services resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an unexpected exception with
        /// Lambda.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters a user validation
        /// exception with the Lambda service.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for GetUserAttributeVerificationCode Operation
        public virtual GetUserAttributeVerificationCodeResponse GetUserAttributeVerificationCode(GetUserAttributeVerificationCodeRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetUserAttributeVerificationCodeRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetUserAttributeVerificationCodeResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GetUserAttributeVerificationCode operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetUserAttributeVerificationCode operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetUserAttributeVerificationCode
        ///         operation.
        /// REST API Reference for GetUserAttributeVerificationCode Operation
        public virtual IAsyncResult BeginGetUserAttributeVerificationCode(GetUserAttributeVerificationCodeRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetUserAttributeVerificationCodeRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetUserAttributeVerificationCodeResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GetUserAttributeVerificationCode operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetUserAttributeVerificationCode.
        /// 
        /// Returns a  GetUserAttributeVerificationCodeResult from CognitoIdentityProvider.
        /// REST API Reference for GetUserAttributeVerificationCode Operation
        public virtual GetUserAttributeVerificationCodeResponse EndGetUserAttributeVerificationCode(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GetUserPoolMfaConfig
        /// 
        /// Gets the user pool multi-factor authentication (MFA) configuration.
        /// 
        /// Container for the necessary parameters to execute the GetUserPoolMfaConfig service method.
        /// 
        /// The response from the GetUserPoolMfaConfig service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for GetUserPoolMfaConfig Operation
        public virtual GetUserPoolMfaConfigResponse GetUserPoolMfaConfig(GetUserPoolMfaConfigRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetUserPoolMfaConfigRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetUserPoolMfaConfigResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GetUserPoolMfaConfig operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GetUserPoolMfaConfig operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetUserPoolMfaConfig
        ///         operation.
        /// REST API Reference for GetUserPoolMfaConfig Operation
        public virtual IAsyncResult BeginGetUserPoolMfaConfig(GetUserPoolMfaConfigRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GetUserPoolMfaConfigRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GetUserPoolMfaConfigResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GetUserPoolMfaConfig operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGetUserPoolMfaConfig.
        /// 
        /// Returns a  GetUserPoolMfaConfigResult from CognitoIdentityProvider.
        /// REST API Reference for GetUserPoolMfaConfig Operation
        public virtual GetUserPoolMfaConfigResponse EndGetUserPoolMfaConfig(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  GlobalSignOut
        /// 
        /// Signs out users from all devices. It also invalidates all refresh tokens that Amazon
        /// Cognito has issued to a user. A user can still use a hosted UI cookie to retrieve
        /// new tokens for the duration of the 1-hour cookie validity period.
        /// 
        /// Container for the necessary parameters to execute the GlobalSignOut service method.
        /// 
        /// The response from the GlobalSignOut service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// REST API Reference for GlobalSignOut Operation
        public virtual GlobalSignOutResponse GlobalSignOut(GlobalSignOutRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GlobalSignOutRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GlobalSignOutResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the GlobalSignOut operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the GlobalSignOut operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGlobalSignOut
        ///         operation.
        /// REST API Reference for GlobalSignOut Operation
        public virtual IAsyncResult BeginGlobalSignOut(GlobalSignOutRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = GlobalSignOutRequestMarshaller.Instance;
            options.ResponseUnmarshaller = GlobalSignOutResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  GlobalSignOut operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginGlobalSignOut.
        /// 
        /// Returns a  GlobalSignOutResult from CognitoIdentityProvider.
        /// REST API Reference for GlobalSignOut Operation
        public virtual GlobalSignOutResponse EndGlobalSignOut(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  InitiateAuth
        /// 
        /// Initiates sign-in for a user in the Amazon Cognito user directory. You can't sign
        /// in a user with a federated IdP with InitiateAuth. For more information,
        /// see 
        /// Adding user pool sign-in through a third party.
        /// 
        ///   
        /// 
        /// This action might generate an SMS text message. Starting June 1, 2021, US telecom
        /// carriers require you to register an origination phone number before you can send SMS
        /// messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you
        /// must register a phone number with Amazon
        /// Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise,
        /// Amazon Cognito users who must receive SMS messages might not be able to sign up, activate
        /// their accounts, or sign in.
        /// 
        ///  
        /// 
        /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web
        /// Service, Amazon Simple Notification Service might place your account in the SMS sandbox.
        /// In  sandbox
        /// mode , you can send messages only to verified phone numbers. After you test
        /// your app while in the sandbox environment, you can move out of the sandbox and into
        /// production. For more information, see 
        /// SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer
        /// Guide.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the InitiateAuth service method.
        /// 
        /// The response from the InitiateAuth service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid Lambda response.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is returned when the role provided for SMS configuration doesn't have
        /// permission to publish using Amazon SNS.
        /// 
        /// 
        /// This exception is thrown when the trust relationship is not valid for the role provided
        /// for SMS configuration. This can happen if you don't trust cognito-idp.amazonaws.com
        /// or the external ID provided in the role does not match what is provided in the SMS
        /// configuration for the user pool.
        /// 
        /// 
        /// This exception is thrown when the user pool configuration is not valid.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an unexpected exception with
        /// Lambda.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters a user validation
        /// exception with the Lambda service.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for InitiateAuth Operation
        public virtual InitiateAuthResponse InitiateAuth(InitiateAuthRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = InitiateAuthRequestMarshaller.Instance;
            options.ResponseUnmarshaller = InitiateAuthResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the InitiateAuth operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the InitiateAuth operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndInitiateAuth
        ///         operation.
        /// REST API Reference for InitiateAuth Operation
        public virtual IAsyncResult BeginInitiateAuth(InitiateAuthRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = InitiateAuthRequestMarshaller.Instance;
            options.ResponseUnmarshaller = InitiateAuthResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  InitiateAuth operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginInitiateAuth.
        /// 
        /// Returns a  InitiateAuthResult from CognitoIdentityProvider.
        /// REST API Reference for InitiateAuth Operation
        public virtual InitiateAuthResponse EndInitiateAuth(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListDevices
        /// 
        /// Lists the sign-in devices that Amazon Cognito has registered to the current user.
        /// 
        /// Container for the necessary parameters to execute the ListDevices service method.
        /// 
        /// The response from the ListDevices service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when the user pool configuration is not valid.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for ListDevices Operation
        public virtual ListDevicesResponse ListDevices(ListDevicesRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListDevicesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListDevicesResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListDevices operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListDevices operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListDevices
        ///         operation.
        /// REST API Reference for ListDevices Operation
        public virtual IAsyncResult BeginListDevices(ListDevicesRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListDevicesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListDevicesResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListDevices operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListDevices.
        /// 
        /// Returns a  ListDevicesResult from CognitoIdentityProvider.
        /// REST API Reference for ListDevices Operation
        public virtual ListDevicesResponse EndListDevices(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListGroups
        /// 
        /// Lists the groups associated with a user pool.
        /// 
        ///  
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListGroups service method.
        /// 
        /// The response from the ListGroups service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for ListGroups Operation
        public virtual ListGroupsResponse ListGroups(ListGroupsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListGroupsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListGroupsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListGroups operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListGroups operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListGroups
        ///         operation.
        /// REST API Reference for ListGroups Operation
        public virtual IAsyncResult BeginListGroups(ListGroupsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListGroupsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListGroupsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListGroups operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListGroups.
        /// 
        /// Returns a  ListGroupsResult from CognitoIdentityProvider.
        /// REST API Reference for ListGroups Operation
        public virtual ListGroupsResponse EndListGroups(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListIdentityProviders
        /// 
        /// Lists information about all IdPs for a user pool.
        /// 
        /// Container for the necessary parameters to execute the ListIdentityProviders service method.
        /// 
        /// The response from the ListIdentityProviders service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for ListIdentityProviders Operation
        public virtual ListIdentityProvidersResponse ListIdentityProviders(ListIdentityProvidersRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListIdentityProvidersRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListIdentityProvidersResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListIdentityProviders operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListIdentityProviders operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListIdentityProviders
        ///         operation.
        /// REST API Reference for ListIdentityProviders Operation
        public virtual IAsyncResult BeginListIdentityProviders(ListIdentityProvidersRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListIdentityProvidersRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListIdentityProvidersResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListIdentityProviders operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListIdentityProviders.
        /// 
        /// Returns a  ListIdentityProvidersResult from CognitoIdentityProvider.
        /// REST API Reference for ListIdentityProviders Operation
        public virtual ListIdentityProvidersResponse EndListIdentityProviders(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListResourceServers
        /// 
        /// Lists the resource servers for a user pool.
        /// 
        /// Container for the necessary parameters to execute the ListResourceServers service method.
        /// 
        /// The response from the ListResourceServers service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for ListResourceServers Operation
        public virtual ListResourceServersResponse ListResourceServers(ListResourceServersRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListResourceServersRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListResourceServersResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListResourceServers operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListResourceServers operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListResourceServers
        ///         operation.
        /// REST API Reference for ListResourceServers Operation
        public virtual IAsyncResult BeginListResourceServers(ListResourceServersRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListResourceServersRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListResourceServersResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListResourceServers operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListResourceServers.
        /// 
        /// Returns a  ListResourceServersResult from CognitoIdentityProvider.
        /// REST API Reference for ListResourceServers Operation
        public virtual ListResourceServersResponse EndListResourceServers(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListTagsForResource
        /// 
        /// Lists the tags that are assigned to an Amazon Cognito user pool.
        /// 
        ///  
        /// 
        /// A tag is a label that you can apply to user pools to categorize and manage them in
        /// different ways, such as by purpose, owner, environment, or other criteria.
        /// 
        ///  
        /// 
        /// You can use this action up to 10 times per second, per account.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListTagsForResource service method.
        /// 
        /// The response from the ListTagsForResource service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for ListTagsForResource Operation
        public virtual ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListTagsForResource operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListTagsForResource operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListTagsForResource
        ///         operation.
        /// REST API Reference for ListTagsForResource Operation
        public virtual IAsyncResult BeginListTagsForResource(ListTagsForResourceRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListTagsForResource operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListTagsForResource.
        /// 
        /// Returns a  ListTagsForResourceResult from CognitoIdentityProvider.
        /// REST API Reference for ListTagsForResource Operation
        public virtual ListTagsForResourceResponse EndListTagsForResource(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListUserImportJobs
        /// 
        /// Lists the user import jobs.
        /// 
        /// Container for the necessary parameters to execute the ListUserImportJobs service method.
        /// 
        /// The response from the ListUserImportJobs service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for ListUserImportJobs Operation
        public virtual ListUserImportJobsResponse ListUserImportJobs(ListUserImportJobsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListUserImportJobsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListUserImportJobsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListUserImportJobs operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListUserImportJobs operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListUserImportJobs
        ///         operation.
        /// REST API Reference for ListUserImportJobs Operation
        public virtual IAsyncResult BeginListUserImportJobs(ListUserImportJobsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListUserImportJobsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListUserImportJobsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListUserImportJobs operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListUserImportJobs.
        /// 
        /// Returns a  ListUserImportJobsResult from CognitoIdentityProvider.
        /// REST API Reference for ListUserImportJobs Operation
        public virtual ListUserImportJobsResponse EndListUserImportJobs(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListUserPoolClients
        /// 
        /// Lists the clients that have been created for the specified user pool.
        /// 
        /// Container for the necessary parameters to execute the ListUserPoolClients service method.
        /// 
        /// The response from the ListUserPoolClients service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for ListUserPoolClients Operation
        public virtual ListUserPoolClientsResponse ListUserPoolClients(ListUserPoolClientsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListUserPoolClientsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListUserPoolClientsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListUserPoolClients operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListUserPoolClients operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListUserPoolClients
        ///         operation.
        /// REST API Reference for ListUserPoolClients Operation
        public virtual IAsyncResult BeginListUserPoolClients(ListUserPoolClientsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListUserPoolClientsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListUserPoolClientsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListUserPoolClients operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListUserPoolClients.
        /// 
        /// Returns a  ListUserPoolClientsResult from CognitoIdentityProvider.
        /// REST API Reference for ListUserPoolClients Operation
        public virtual ListUserPoolClientsResponse EndListUserPoolClients(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListUserPools
        /// 
        /// Lists the user pools associated with an Amazon Web Services account.
        /// 
        /// Container for the necessary parameters to execute the ListUserPools service method.
        /// 
        /// The response from the ListUserPools service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for ListUserPools Operation
        public virtual ListUserPoolsResponse ListUserPools(ListUserPoolsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListUserPoolsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListUserPoolsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListUserPools operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListUserPools operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListUserPools
        ///         operation.
        /// REST API Reference for ListUserPools Operation
        public virtual IAsyncResult BeginListUserPools(ListUserPoolsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListUserPoolsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListUserPoolsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListUserPools operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListUserPools.
        /// 
        /// Returns a  ListUserPoolsResult from CognitoIdentityProvider.
        /// REST API Reference for ListUserPools Operation
        public virtual ListUserPoolsResponse EndListUserPools(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListUsers
        /// 
        /// Lists the users in the Amazon Cognito user pool.
        /// 
        /// Container for the necessary parameters to execute the ListUsers service method.
        /// 
        /// The response from the ListUsers service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for ListUsers Operation
        public virtual ListUsersResponse ListUsers(ListUsersRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListUsersRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListUsersResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListUsers operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListUsers operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListUsers
        ///         operation.
        /// REST API Reference for ListUsers Operation
        public virtual IAsyncResult BeginListUsers(ListUsersRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListUsersRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListUsersResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListUsers operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListUsers.
        /// 
        /// Returns a  ListUsersResult from CognitoIdentityProvider.
        /// REST API Reference for ListUsers Operation
        public virtual ListUsersResponse EndListUsers(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ListUsersInGroup
        /// 
        /// Lists the users in the specified group.
        /// 
        ///  
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListUsersInGroup service method.
        /// 
        /// The response from the ListUsersInGroup service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for ListUsersInGroup Operation
        public virtual ListUsersInGroupResponse ListUsersInGroup(ListUsersInGroupRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListUsersInGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListUsersInGroupResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ListUsersInGroup operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListUsersInGroup operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListUsersInGroup
        ///         operation.
        /// REST API Reference for ListUsersInGroup Operation
        public virtual IAsyncResult BeginListUsersInGroup(ListUsersInGroupRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ListUsersInGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ListUsersInGroupResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ListUsersInGroup operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginListUsersInGroup.
        /// 
        /// Returns a  ListUsersInGroupResult from CognitoIdentityProvider.
        /// REST API Reference for ListUsersInGroup Operation
        public virtual ListUsersInGroupResponse EndListUsersInGroup(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  ResendConfirmationCode
        /// 
        /// Resends the confirmation (for confirmation of registration) to a specific user in
        /// the user pool.
        /// 
        ///   
        /// 
        /// This action might generate an SMS text message. Starting June 1, 2021, US telecom
        /// carriers require you to register an origination phone number before you can send SMS
        /// messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you
        /// must register a phone number with Amazon
        /// Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise,
        /// Amazon Cognito users who must receive SMS messages might not be able to sign up, activate
        /// their accounts, or sign in.
        /// 
        ///  
        /// 
        /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web
        /// Service, Amazon Simple Notification Service might place your account in the SMS sandbox.
        /// In  sandbox
        /// mode , you can send messages only to verified phone numbers. After you test
        /// your app while in the sandbox environment, you can move out of the sandbox and into
        /// production. For more information, see 
        /// SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer
        /// Guide.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the ResendConfirmationCode service method.
        /// 
        /// The response from the ResendConfirmationCode service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when a verification code fails to deliver successfully.
        /// 
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito isn't allowed to use your email identity.
        /// HTTP status code: 400.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid Lambda response.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is returned when the role provided for SMS configuration doesn't have
        /// permission to publish using Amazon SNS.
        /// 
        /// 
        /// This exception is thrown when the trust relationship is not valid for the role provided
        /// for SMS configuration. This can happen if you don't trust cognito-idp.amazonaws.com
        /// or the external ID provided in the role does not match what is provided in the SMS
        /// configuration for the user pool.
        /// 
        /// 
        /// This exception is thrown when a user exceeds the limit for a requested Amazon Web
        /// Services resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an unexpected exception with
        /// Lambda.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters a user validation
        /// exception with the Lambda service.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for ResendConfirmationCode Operation
        public virtual ResendConfirmationCodeResponse ResendConfirmationCode(ResendConfirmationCodeRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ResendConfirmationCodeRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ResendConfirmationCodeResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the ResendConfirmationCode operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ResendConfirmationCode operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndResendConfirmationCode
        ///         operation.
        /// REST API Reference for ResendConfirmationCode Operation
        public virtual IAsyncResult BeginResendConfirmationCode(ResendConfirmationCodeRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = ResendConfirmationCodeRequestMarshaller.Instance;
            options.ResponseUnmarshaller = ResendConfirmationCodeResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  ResendConfirmationCode operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginResendConfirmationCode.
        /// 
        /// Returns a  ResendConfirmationCodeResult from CognitoIdentityProvider.
        /// REST API Reference for ResendConfirmationCode Operation
        public virtual ResendConfirmationCodeResponse EndResendConfirmationCode(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  RespondToAuthChallenge
        /// 
        /// Responds to the authentication challenge.
        /// 
        ///   
        /// 
        /// This action might generate an SMS text message. Starting June 1, 2021, US telecom
        /// carriers require you to register an origination phone number before you can send SMS
        /// messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you
        /// must register a phone number with Amazon
        /// Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise,
        /// Amazon Cognito users who must receive SMS messages might not be able to sign up, activate
        /// their accounts, or sign in.
        /// 
        ///  
        /// 
        /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web
        /// Service, Amazon Simple Notification Service might place your account in the SMS sandbox.
        /// In  sandbox
        /// mode , you can send messages only to verified phone numbers. After you test
        /// your app while in the sandbox environment, you can move out of the sandbox and into
        /// production. For more information, see 
        /// SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer
        /// Guide.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the RespondToAuthChallenge service method.
        /// 
        /// The response from the RespondToAuthChallenge service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when a user tries to confirm the account with an email address
        /// or phone number that has already been supplied as an alias for a different user profile.
        /// This exception indicates that an account with this email address or phone already
        /// exists in a user pool that you've configured to use email address or phone number
        /// as a sign-in alias.
        /// 
        /// 
        /// This exception is thrown if the provided code doesn't match what the server was expecting.
        /// 
        /// 
        /// This exception is thrown if a code has expired.
        /// 
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid Lambda response.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid password.
        /// 
        /// 
        /// This exception is returned when the role provided for SMS configuration doesn't have
        /// permission to publish using Amazon SNS.
        /// 
        /// 
        /// This exception is thrown when the trust relationship is not valid for the role provided
        /// for SMS configuration. This can happen if you don't trust cognito-idp.amazonaws.com
        /// or the external ID provided in the role does not match what is provided in the SMS
        /// configuration for the user pool.
        /// 
        /// 
        /// This exception is thrown when the user pool configuration is not valid.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito can't find a multi-factor authentication
        /// (MFA) method.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the software token time-based one-time password (TOTP)
        /// multi-factor authentication (MFA) isn't activated for the user pool.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an unexpected exception with
        /// Lambda.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters a user validation
        /// exception with the Lambda service.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for RespondToAuthChallenge Operation
        public virtual RespondToAuthChallengeResponse RespondToAuthChallenge(RespondToAuthChallengeRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = RespondToAuthChallengeRequestMarshaller.Instance;
            options.ResponseUnmarshaller = RespondToAuthChallengeResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the RespondToAuthChallenge operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the RespondToAuthChallenge operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndRespondToAuthChallenge
        ///         operation.
        /// REST API Reference for RespondToAuthChallenge Operation
        public virtual IAsyncResult BeginRespondToAuthChallenge(RespondToAuthChallengeRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = RespondToAuthChallengeRequestMarshaller.Instance;
            options.ResponseUnmarshaller = RespondToAuthChallengeResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  RespondToAuthChallenge operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginRespondToAuthChallenge.
        /// 
        /// Returns a  RespondToAuthChallengeResult from CognitoIdentityProvider.
        /// REST API Reference for RespondToAuthChallenge Operation
        public virtual RespondToAuthChallengeResponse EndRespondToAuthChallenge(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  RevokeToken
        /// 
        /// Revokes all of the access tokens generated by, and at the same time as, the specified
        /// refresh token. After a token is revoked, you can't use the revoked token to access
        /// Amazon Cognito user APIs, or to authorize access to your resource server.
        /// 
        /// Container for the necessary parameters to execute the RevokeToken service method.
        /// 
        /// The response from the RevokeToken service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// Exception that is thrown when the request isn't authorized. This can happen due to
        /// an invalid access token in the request.
        /// 
        /// 
        /// Exception that is thrown when you attempt to perform an operation that isn't enabled
        /// for the user pool client.
        /// 
        /// 
        /// Exception that is thrown when an unsupported token is passed to an operation.
        /// 
        /// REST API Reference for RevokeToken Operation
        public virtual RevokeTokenResponse RevokeToken(RevokeTokenRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = RevokeTokenRequestMarshaller.Instance;
            options.ResponseUnmarshaller = RevokeTokenResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the RevokeToken operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the RevokeToken operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndRevokeToken
        ///         operation.
        /// REST API Reference for RevokeToken Operation
        public virtual IAsyncResult BeginRevokeToken(RevokeTokenRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = RevokeTokenRequestMarshaller.Instance;
            options.ResponseUnmarshaller = RevokeTokenResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  RevokeToken operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginRevokeToken.
        /// 
        /// Returns a  RevokeTokenResult from CognitoIdentityProvider.
        /// REST API Reference for RevokeToken Operation
        public virtual RevokeTokenResponse EndRevokeToken(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  SetRiskConfiguration
        /// 
        /// Configures actions on detected risks. To delete the risk configuration for UserPoolId
        /// or ClientId, pass null values for all four configuration types.
        /// 
        ///  
        /// 
        /// To activate Amazon Cognito advanced security features, update the user pool to include
        /// the UserPoolAddOns keyAdvancedSecurityMode.
        /// 
        /// 
        /// Container for the necessary parameters to execute the SetRiskConfiguration service method.
        /// 
        /// The response from the SetRiskConfiguration service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when a verification code fails to deliver successfully.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito isn't allowed to use your email identity.
        /// HTTP status code: 400.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when user pool add-ons aren't enabled.
        /// 
        /// REST API Reference for SetRiskConfiguration Operation
        public virtual SetRiskConfigurationResponse SetRiskConfiguration(SetRiskConfigurationRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = SetRiskConfigurationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = SetRiskConfigurationResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the SetRiskConfiguration operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the SetRiskConfiguration operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndSetRiskConfiguration
        ///         operation.
        /// REST API Reference for SetRiskConfiguration Operation
        public virtual IAsyncResult BeginSetRiskConfiguration(SetRiskConfigurationRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = SetRiskConfigurationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = SetRiskConfigurationResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  SetRiskConfiguration operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginSetRiskConfiguration.
        /// 
        /// Returns a  SetRiskConfigurationResult from CognitoIdentityProvider.
        /// REST API Reference for SetRiskConfiguration Operation
        public virtual SetRiskConfigurationResponse EndSetRiskConfiguration(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  SetUICustomization
        /// 
        /// Sets the user interface (UI) customization information for a user pool's built-in
        /// app UI.
        /// 
        ///  
        /// 
        /// You can specify app UI customization settings for a single client (with a specific
        /// clientId) or for all clients (by setting the clientId to
        /// ALL). If you specify ALL, the default configuration is used
        /// for every client that has no previously set UI customization. If you specify UI customization
        /// settings for a particular client, it will no longer return to the ALL
        /// configuration.
        /// 
        ///   
        /// 
        /// To use this API, your user pool must have a domain associated with it. Otherwise,
        /// there is no place to host the app's pages, and the service will throw an error.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the SetUICustomization service method.
        /// 
        /// The response from the SetUICustomization service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for SetUICustomization Operation
        public virtual SetUICustomizationResponse SetUICustomization(SetUICustomizationRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = SetUICustomizationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = SetUICustomizationResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the SetUICustomization operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the SetUICustomization operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndSetUICustomization
        ///         operation.
        /// REST API Reference for SetUICustomization Operation
        public virtual IAsyncResult BeginSetUICustomization(SetUICustomizationRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = SetUICustomizationRequestMarshaller.Instance;
            options.ResponseUnmarshaller = SetUICustomizationResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  SetUICustomization operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginSetUICustomization.
        /// 
        /// Returns a  SetUICustomizationResult from CognitoIdentityProvider.
        /// REST API Reference for SetUICustomization Operation
        public virtual SetUICustomizationResponse EndSetUICustomization(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  SetUserMFAPreference
        /// 
        /// Set the user's multi-factor authentication (MFA) method preference, including which
        /// MFA factors are activated and if any are preferred. Only one factor can be set as
        /// preferred. The preferred MFA factor will be used to authenticate a user if multiple
        /// factors are activated. If multiple options are activated and no preference is set,
        /// a challenge to choose an MFA option will be returned during sign-in. If an MFA type
        /// is activated for a user, the user will be prompted for MFA during all sign-in attempts
        /// unless device tracking is turned on and the device has been trusted. If you want MFA
        /// to be applied selectively based on the assessed risk level of sign-in attempts, deactivate
        /// MFA for users and turn on Adaptive Authentication for the user pool.
        /// 
        /// Container for the necessary parameters to execute the SetUserMFAPreference service method.
        /// 
        /// The response from the SetUserMFAPreference service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for SetUserMFAPreference Operation
        public virtual SetUserMFAPreferenceResponse SetUserMFAPreference(SetUserMFAPreferenceRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = SetUserMFAPreferenceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = SetUserMFAPreferenceResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the SetUserMFAPreference operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the SetUserMFAPreference operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndSetUserMFAPreference
        ///         operation.
        /// REST API Reference for SetUserMFAPreference Operation
        public virtual IAsyncResult BeginSetUserMFAPreference(SetUserMFAPreferenceRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = SetUserMFAPreferenceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = SetUserMFAPreferenceResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  SetUserMFAPreference operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginSetUserMFAPreference.
        /// 
        /// Returns a  SetUserMFAPreferenceResult from CognitoIdentityProvider.
        /// REST API Reference for SetUserMFAPreference Operation
        public virtual SetUserMFAPreferenceResponse EndSetUserMFAPreference(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  SetUserPoolMfaConfig
        /// 
        /// Sets the user pool multi-factor authentication (MFA) configuration.
        /// 
        ///   
        /// 
        /// This action might generate an SMS text message. Starting June 1, 2021, US telecom
        /// carriers require you to register an origination phone number before you can send SMS
        /// messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you
        /// must register a phone number with Amazon
        /// Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise,
        /// Amazon Cognito users who must receive SMS messages might not be able to sign up, activate
        /// their accounts, or sign in.
        /// 
        ///  
        /// 
        /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web
        /// Service, Amazon Simple Notification Service might place your account in the SMS sandbox.
        /// In  sandbox
        /// mode , you can send messages only to verified phone numbers. After you test
        /// your app while in the sandbox environment, you can move out of the sandbox and into
        /// production. For more information, see 
        /// SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer
        /// Guide.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the SetUserPoolMfaConfig service method.
        /// 
        /// The response from the SetUserPoolMfaConfig service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is returned when the role provided for SMS configuration doesn't have
        /// permission to publish using Amazon SNS.
        /// 
        /// 
        /// This exception is thrown when the trust relationship is not valid for the role provided
        /// for SMS configuration. This can happen if you don't trust cognito-idp.amazonaws.com
        /// or the external ID provided in the role does not match what is provided in the SMS
        /// configuration for the user pool.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for SetUserPoolMfaConfig Operation
        public virtual SetUserPoolMfaConfigResponse SetUserPoolMfaConfig(SetUserPoolMfaConfigRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = SetUserPoolMfaConfigRequestMarshaller.Instance;
            options.ResponseUnmarshaller = SetUserPoolMfaConfigResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the SetUserPoolMfaConfig operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the SetUserPoolMfaConfig operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndSetUserPoolMfaConfig
        ///         operation.
        /// REST API Reference for SetUserPoolMfaConfig Operation
        public virtual IAsyncResult BeginSetUserPoolMfaConfig(SetUserPoolMfaConfigRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = SetUserPoolMfaConfigRequestMarshaller.Instance;
            options.ResponseUnmarshaller = SetUserPoolMfaConfigResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  SetUserPoolMfaConfig operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginSetUserPoolMfaConfig.
        /// 
        /// Returns a  SetUserPoolMfaConfigResult from CognitoIdentityProvider.
        /// REST API Reference for SetUserPoolMfaConfig Operation
        public virtual SetUserPoolMfaConfigResponse EndSetUserPoolMfaConfig(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  SetUserSettings
        /// 
        /// This action is no longer supported. You can use it to configure only SMS MFA.
        /// You can't use it to configure time-based one-time password (TOTP) software token MFA.
        /// To configure either type of MFA, use SetUserMFAPreference
        /// instead.
        /// 
        /// Container for the necessary parameters to execute the SetUserSettings service method.
        /// 
        /// The response from the SetUserSettings service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for SetUserSettings Operation
        public virtual SetUserSettingsResponse SetUserSettings(SetUserSettingsRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = SetUserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = SetUserSettingsResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the SetUserSettings operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the SetUserSettings operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndSetUserSettings
        ///         operation.
        /// REST API Reference for SetUserSettings Operation
        public virtual IAsyncResult BeginSetUserSettings(SetUserSettingsRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = SetUserSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = SetUserSettingsResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  SetUserSettings operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginSetUserSettings.
        /// 
        /// Returns a  SetUserSettingsResult from CognitoIdentityProvider.
        /// REST API Reference for SetUserSettings Operation
        public virtual SetUserSettingsResponse EndSetUserSettings(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  SignUp
        /// 
        /// Registers the user in the specified user pool and creates a user name, password, and
        /// user attributes.
        /// 
        ///   
        /// 
        /// This action might generate an SMS text message. Starting June 1, 2021, US telecom
        /// carriers require you to register an origination phone number before you can send SMS
        /// messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you
        /// must register a phone number with Amazon
        /// Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise,
        /// Amazon Cognito users who must receive SMS messages might not be able to sign up, activate
        /// their accounts, or sign in.
        /// 
        ///  
        /// 
        /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web
        /// Service, Amazon Simple Notification Service might place your account in the SMS sandbox.
        /// In  sandbox
        /// mode , you can send messages only to verified phone numbers. After you test
        /// your app while in the sandbox environment, you can move out of the sandbox and into
        /// production. For more information, see 
        /// SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer
        /// Guide.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the SignUp service method.
        /// 
        /// The response from the SignUp service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when a verification code fails to deliver successfully.
        /// 
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito isn't allowed to use your email identity.
        /// HTTP status code: 400.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid Lambda response.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid password.
        /// 
        /// 
        /// This exception is returned when the role provided for SMS configuration doesn't have
        /// permission to publish using Amazon SNS.
        /// 
        /// 
        /// This exception is thrown when the trust relationship is not valid for the role provided
        /// for SMS configuration. This can happen if you don't trust cognito-idp.amazonaws.com
        /// or the external ID provided in the role does not match what is provided in the SMS
        /// configuration for the user pool.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an unexpected exception with
        /// Lambda.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters a user validation
        /// exception with the Lambda service.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters a user name that already exists
        /// in the user pool.
        /// 
        /// REST API Reference for SignUp Operation
        public virtual SignUpResponse SignUp(SignUpRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = SignUpRequestMarshaller.Instance;
            options.ResponseUnmarshaller = SignUpResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the SignUp operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the SignUp operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndSignUp
        ///         operation.
        /// REST API Reference for SignUp Operation
        public virtual IAsyncResult BeginSignUp(SignUpRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = SignUpRequestMarshaller.Instance;
            options.ResponseUnmarshaller = SignUpResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  SignUp operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginSignUp.
        /// 
        /// Returns a  SignUpResult from CognitoIdentityProvider.
        /// REST API Reference for SignUp Operation
        public virtual SignUpResponse EndSignUp(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  StartUserImportJob
        /// 
        /// Starts the user import.
        /// 
        /// Container for the necessary parameters to execute the StartUserImportJob service method.
        /// 
        /// The response from the StartUserImportJob service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a precondition is not met.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for StartUserImportJob Operation
        public virtual StartUserImportJobResponse StartUserImportJob(StartUserImportJobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StartUserImportJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StartUserImportJobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the StartUserImportJob operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the StartUserImportJob operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndStartUserImportJob
        ///         operation.
        /// REST API Reference for StartUserImportJob Operation
        public virtual IAsyncResult BeginStartUserImportJob(StartUserImportJobRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StartUserImportJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StartUserImportJobResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  StartUserImportJob operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginStartUserImportJob.
        /// 
        /// Returns a  StartUserImportJobResult from CognitoIdentityProvider.
        /// REST API Reference for StartUserImportJob Operation
        public virtual StartUserImportJobResponse EndStartUserImportJob(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  StopUserImportJob
        /// 
        /// Stops the user import job.
        /// 
        /// Container for the necessary parameters to execute the StopUserImportJob service method.
        /// 
        /// The response from the StopUserImportJob service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a precondition is not met.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for StopUserImportJob Operation
        public virtual StopUserImportJobResponse StopUserImportJob(StopUserImportJobRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StopUserImportJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StopUserImportJobResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the StopUserImportJob operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the StopUserImportJob operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndStopUserImportJob
        ///         operation.
        /// REST API Reference for StopUserImportJob Operation
        public virtual IAsyncResult BeginStopUserImportJob(StopUserImportJobRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = StopUserImportJobRequestMarshaller.Instance;
            options.ResponseUnmarshaller = StopUserImportJobResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  StopUserImportJob operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginStopUserImportJob.
        /// 
        /// Returns a  StopUserImportJobResult from CognitoIdentityProvider.
        /// REST API Reference for StopUserImportJob Operation
        public virtual StopUserImportJobResponse EndStopUserImportJob(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  TagResource
        /// 
        /// Assigns a set of tags to an Amazon Cognito user pool. A tag is a label that you can
        /// use to categorize and manage user pools in different ways, such as by purpose, owner,
        /// environment, or other criteria.
        /// 
        ///  
        /// 
        /// Each tag consists of a key and value, both of which you define. A key is a general
        /// category for more specific values. For example, if you have two versions of a user
        /// pool, one for testing and another for production, you might assign an Environment
        /// tag key to both user pools. The value of this key might be Test for one
        /// user pool, and Production for the other.
        /// 
        ///  
        /// 
        /// Tags are useful for cost tracking and access control. You can activate your tags so
        /// that they appear on the Billing and Cost Management console, where you can track the
        /// costs associated with your user pools. In an Identity and Access Management policy,
        /// you can constrain permissions for user pools based on specific tags or tag values.
        /// 
        ///  
        /// 
        /// You can use this action up to 5 times per second, per account. A user pool can have
        /// as many as 50 tags.
        /// 
        /// 
        /// Container for the necessary parameters to execute the TagResource service method.
        /// 
        /// The response from the TagResource service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for TagResource Operation
        public virtual TagResourceResponse TagResource(TagResourceRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = TagResourceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the TagResource operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the TagResource operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndTagResource
        ///         operation.
        /// REST API Reference for TagResource Operation
        public virtual IAsyncResult BeginTagResource(TagResourceRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = TagResourceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  TagResource operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginTagResource.
        /// 
        /// Returns a  TagResourceResult from CognitoIdentityProvider.
        /// REST API Reference for TagResource Operation
        public virtual TagResourceResponse EndTagResource(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  UntagResource
        /// 
        /// Removes the specified tags from an Amazon Cognito user pool. You can use this action
        /// up to 5 times per second, per account.
        /// 
        /// Container for the necessary parameters to execute the UntagResource service method.
        /// 
        /// The response from the UntagResource service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for UntagResource Operation
        public virtual UntagResourceResponse UntagResource(UntagResourceRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UntagResourceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the UntagResource operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UntagResource operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUntagResource
        ///         operation.
        /// REST API Reference for UntagResource Operation
        public virtual IAsyncResult BeginUntagResource(UntagResourceRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UntagResourceRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  UntagResource operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUntagResource.
        /// 
        /// Returns a  UntagResourceResult from CognitoIdentityProvider.
        /// REST API Reference for UntagResource Operation
        public virtual UntagResourceResponse EndUntagResource(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  UpdateAuthEventFeedback
        /// 
        /// Provides the feedback for an authentication event, whether it was from a valid user
        /// or not. This feedback is used for improving the risk evaluation decision for the user
        /// pool as part of Amazon Cognito advanced security.
        /// 
        /// Container for the necessary parameters to execute the UpdateAuthEventFeedback service method.
        /// 
        /// The response from the UpdateAuthEventFeedback service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// 
        /// This exception is thrown when user pool add-ons aren't enabled.
        /// 
        /// REST API Reference for UpdateAuthEventFeedback Operation
        public virtual UpdateAuthEventFeedbackResponse UpdateAuthEventFeedback(UpdateAuthEventFeedbackRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateAuthEventFeedbackRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateAuthEventFeedbackResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the UpdateAuthEventFeedback operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateAuthEventFeedback operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateAuthEventFeedback
        ///         operation.
        /// REST API Reference for UpdateAuthEventFeedback Operation
        public virtual IAsyncResult BeginUpdateAuthEventFeedback(UpdateAuthEventFeedbackRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateAuthEventFeedbackRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateAuthEventFeedbackResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  UpdateAuthEventFeedback operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdateAuthEventFeedback.
        /// 
        /// Returns a  UpdateAuthEventFeedbackResult from CognitoIdentityProvider.
        /// REST API Reference for UpdateAuthEventFeedback Operation
        public virtual UpdateAuthEventFeedbackResponse EndUpdateAuthEventFeedback(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  UpdateDeviceStatus
        /// 
        /// Updates the device status.
        /// 
        /// Container for the necessary parameters to execute the UpdateDeviceStatus service method.
        /// 
        /// The response from the UpdateDeviceStatus service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when the user pool configuration is not valid.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for UpdateDeviceStatus Operation
        public virtual UpdateDeviceStatusResponse UpdateDeviceStatus(UpdateDeviceStatusRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateDeviceStatusRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateDeviceStatusResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the UpdateDeviceStatus operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateDeviceStatus operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateDeviceStatus
        ///         operation.
        /// REST API Reference for UpdateDeviceStatus Operation
        public virtual IAsyncResult BeginUpdateDeviceStatus(UpdateDeviceStatusRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateDeviceStatusRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateDeviceStatusResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  UpdateDeviceStatus operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdateDeviceStatus.
        /// 
        /// Returns a  UpdateDeviceStatusResult from CognitoIdentityProvider.
        /// REST API Reference for UpdateDeviceStatus Operation
        public virtual UpdateDeviceStatusResponse EndUpdateDeviceStatus(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  UpdateGroup
        /// 
        /// Updates the specified group with the specified attributes.
        /// 
        ///  
        /// 
        /// Calling this action requires developer credentials.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateGroup service method.
        /// 
        /// The response from the UpdateGroup service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for UpdateGroup Operation
        public virtual UpdateGroupResponse UpdateGroup(UpdateGroupRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateGroupResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the UpdateGroup operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateGroup operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateGroup
        ///         operation.
        /// REST API Reference for UpdateGroup Operation
        public virtual IAsyncResult BeginUpdateGroup(UpdateGroupRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateGroupRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateGroupResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  UpdateGroup operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdateGroup.
        /// 
        /// Returns a  UpdateGroupResult from CognitoIdentityProvider.
        /// REST API Reference for UpdateGroup Operation
        public virtual UpdateGroupResponse EndUpdateGroup(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  UpdateIdentityProvider
        /// 
        /// Updates IdP information for a user pool.
        /// 
        /// Container for the necessary parameters to execute the UpdateIdentityProvider service method.
        /// 
        /// The response from the UpdateIdentityProvider service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown if two or more modifications are happening concurrently.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when the specified identifier isn't supported.
        /// 
        /// REST API Reference for UpdateIdentityProvider Operation
        public virtual UpdateIdentityProviderResponse UpdateIdentityProvider(UpdateIdentityProviderRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateIdentityProviderRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateIdentityProviderResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the UpdateIdentityProvider operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateIdentityProvider operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateIdentityProvider
        ///         operation.
        /// REST API Reference for UpdateIdentityProvider Operation
        public virtual IAsyncResult BeginUpdateIdentityProvider(UpdateIdentityProviderRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateIdentityProviderRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateIdentityProviderResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  UpdateIdentityProvider operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdateIdentityProvider.
        /// 
        /// Returns a  UpdateIdentityProviderResult from CognitoIdentityProvider.
        /// REST API Reference for UpdateIdentityProvider Operation
        public virtual UpdateIdentityProviderResponse EndUpdateIdentityProvider(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  UpdateResourceServer
        /// 
        /// Updates the name and scopes of resource server. All other fields are read-only.
        /// 
        ///   
        /// 
        /// If you don't provide a value for an attribute, it is set to the default value.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the UpdateResourceServer service method.
        /// 
        /// The response from the UpdateResourceServer service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for UpdateResourceServer Operation
        public virtual UpdateResourceServerResponse UpdateResourceServer(UpdateResourceServerRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateResourceServerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateResourceServerResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the UpdateResourceServer operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateResourceServer operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateResourceServer
        ///         operation.
        /// REST API Reference for UpdateResourceServer Operation
        public virtual IAsyncResult BeginUpdateResourceServer(UpdateResourceServerRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateResourceServerRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateResourceServerResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  UpdateResourceServer operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdateResourceServer.
        /// 
        /// Returns a  UpdateResourceServerResult from CognitoIdentityProvider.
        /// REST API Reference for UpdateResourceServer Operation
        public virtual UpdateResourceServerResponse EndUpdateResourceServer(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  UpdateUserAttributes
        /// 
        /// Allows a user to update a specific attribute (one at a time).
        /// 
        ///   
        /// 
        /// This action might generate an SMS text message. Starting June 1, 2021, US telecom
        /// carriers require you to register an origination phone number before you can send SMS
        /// messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you
        /// must register a phone number with Amazon
        /// Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise,
        /// Amazon Cognito users who must receive SMS messages might not be able to sign up, activate
        /// their accounts, or sign in.
        /// 
        ///  
        /// 
        /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web
        /// Service, Amazon Simple Notification Service might place your account in the SMS sandbox.
        /// In  sandbox
        /// mode , you can send messages only to verified phone numbers. After you test
        /// your app while in the sandbox environment, you can move out of the sandbox and into
        /// production. For more information, see 
        /// SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer
        /// Guide.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the UpdateUserAttributes service method.
        /// 
        /// The response from the UpdateUserAttributes service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when a user tries to confirm the account with an email address
        /// or phone number that has already been supplied as an alias for a different user profile.
        /// This exception indicates that an account with this email address or phone already
        /// exists in a user pool that you've configured to use email address or phone number
        /// as a sign-in alias.
        /// 
        /// 
        /// This exception is thrown when a verification code fails to deliver successfully.
        /// 
        /// 
        /// This exception is thrown if the provided code doesn't match what the server was expecting.
        /// 
        /// 
        /// This exception is thrown if a code has expired.
        /// 
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito isn't allowed to use your email identity.
        /// HTTP status code: 400.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an invalid Lambda response.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is returned when the role provided for SMS configuration doesn't have
        /// permission to publish using Amazon SNS.
        /// 
        /// 
        /// This exception is thrown when the trust relationship is not valid for the role provided
        /// for SMS configuration. This can happen if you don't trust cognito-idp.amazonaws.com
        /// or the external ID provided in the role does not match what is provided in the SMS
        /// configuration for the user pool.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an unexpected exception with
        /// Lambda.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters a user validation
        /// exception with the Lambda service.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for UpdateUserAttributes Operation
        public virtual UpdateUserAttributesResponse UpdateUserAttributes(UpdateUserAttributesRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateUserAttributesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateUserAttributesResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the UpdateUserAttributes operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateUserAttributes operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateUserAttributes
        ///         operation.
        /// REST API Reference for UpdateUserAttributes Operation
        public virtual IAsyncResult BeginUpdateUserAttributes(UpdateUserAttributesRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateUserAttributesRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateUserAttributesResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  UpdateUserAttributes operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdateUserAttributes.
        /// 
        /// Returns a  UpdateUserAttributesResult from CognitoIdentityProvider.
        /// REST API Reference for UpdateUserAttributes Operation
        public virtual UpdateUserAttributesResponse EndUpdateUserAttributes(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  UpdateUserPool
        /// 
        /// Updates the specified user pool with the specified attributes. You can get a list
        /// of the current user pool settings using DescribeUserPool.
        /// If you don't provide a value for an attribute, it will be set to the default value.
        /// 
        /// 
        ///   
        /// 
        /// This action might generate an SMS text message. Starting June 1, 2021, US telecom
        /// carriers require you to register an origination phone number before you can send SMS
        /// messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you
        /// must register a phone number with Amazon
        /// Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise,
        /// Amazon Cognito users who must receive SMS messages might not be able to sign up, activate
        /// their accounts, or sign in.
        /// 
        ///  
        /// 
        /// If you have never used SMS text messages with Amazon Cognito or any other Amazon Web
        /// Service, Amazon Simple Notification Service might place your account in the SMS sandbox.
        /// In  sandbox
        /// mode , you can send messages only to verified phone numbers. After you test
        /// your app while in the sandbox environment, you can move out of the sandbox and into
        /// production. For more information, see 
        /// SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer
        /// Guide.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the UpdateUserPool service method.
        /// 
        /// The response from the UpdateUserPool service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown if two or more modifications are happening concurrently.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito isn't allowed to use your email identity.
        /// HTTP status code: 400.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is returned when the role provided for SMS configuration doesn't have
        /// permission to publish using Amazon SNS.
        /// 
        /// 
        /// This exception is thrown when the trust relationship is not valid for the role provided
        /// for SMS configuration. This can happen if you don't trust cognito-idp.amazonaws.com
        /// or the external ID provided in the role does not match what is provided in the SMS
        /// configuration for the user pool.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when you're trying to modify a user pool while a user import
        /// job is in progress for that pool.
        /// 
        /// 
        /// This exception is thrown when a user pool tag can't be set or updated.
        /// 
        /// REST API Reference for UpdateUserPool Operation
        public virtual UpdateUserPoolResponse UpdateUserPool(UpdateUserPoolRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateUserPoolRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateUserPoolResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the UpdateUserPool operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateUserPool operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateUserPool
        ///         operation.
        /// REST API Reference for UpdateUserPool Operation
        public virtual IAsyncResult BeginUpdateUserPool(UpdateUserPoolRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateUserPoolRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateUserPoolResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  UpdateUserPool operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdateUserPool.
        /// 
        /// Returns a  UpdateUserPoolResult from CognitoIdentityProvider.
        /// REST API Reference for UpdateUserPool Operation
        public virtual UpdateUserPoolResponse EndUpdateUserPool(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  UpdateUserPoolClient
        /// 
        /// Updates the specified user pool app client with the specified attributes. You can
        /// get a list of the current user pool app client settings using DescribeUserPoolClient.
        /// 
        ///   
        /// 
        /// If you don't provide a value for an attribute, it will be set to the default value.
        /// 
        ///   
        /// 
        /// You can also use this operation to enable token revocation for user pool clients.
        /// For more information about revoking tokens, see RevokeToken.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateUserPoolClient service method.
        /// 
        /// The response from the UpdateUserPoolClient service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown if two or more modifications are happening concurrently.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the specified OAuth flow is not valid.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the specified scope doesn't exist.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for UpdateUserPoolClient Operation
        public virtual UpdateUserPoolClientResponse UpdateUserPoolClient(UpdateUserPoolClientRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateUserPoolClientRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateUserPoolClientResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the UpdateUserPoolClient operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateUserPoolClient operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateUserPoolClient
        ///         operation.
        /// REST API Reference for UpdateUserPoolClient Operation
        public virtual IAsyncResult BeginUpdateUserPoolClient(UpdateUserPoolClientRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateUserPoolClientRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateUserPoolClientResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  UpdateUserPoolClient operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdateUserPoolClient.
        /// 
        /// Returns a  UpdateUserPoolClientResult from CognitoIdentityProvider.
        /// REST API Reference for UpdateUserPoolClient Operation
        public virtual UpdateUserPoolClientResponse EndUpdateUserPoolClient(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  UpdateUserPoolDomain
        /// 
        /// Updates the Secure Sockets Layer (SSL) certificate for the custom domain for your
        /// user pool.
        /// 
        ///  
        /// 
        /// You can use this operation to provide the Amazon Resource Name (ARN) of a new certificate
        /// to Amazon Cognito. You can't use it to change the domain for a user pool.
        /// 
        ///  
        /// 
        /// A custom domain is used to host the Amazon Cognito hosted UI, which provides sign-up
        /// and sign-in pages for your application. When you set up a custom domain, you provide
        /// a certificate that you manage with Certificate Manager (ACM). When necessary, you
        /// can use this operation to change the certificate that you applied to your custom domain.
        /// 
        ///  
        /// 
        /// Usually, this is unnecessary following routine certificate renewal with ACM. When
        /// you renew your existing certificate in ACM, the ARN for your certificate remains the
        /// same, and your custom domain uses the new certificate automatically.
        /// 
        ///  
        /// 
        /// However, if you replace your existing certificate with a new one, ACM gives the new
        /// certificate a new ARN. To apply the new certificate to your custom domain, you must
        /// provide this ARN to Amazon Cognito.
        /// 
        ///  
        /// 
        /// When you add your new certificate in ACM, you must choose US East (N. Virginia) as
        /// the Amazon Web Services Region.
        /// 
        ///  
        /// 
        /// After you submit your request, Amazon Cognito requires up to 1 hour to distribute
        /// your new certificate to your custom domain.
        /// 
        ///  
        /// 
        /// For more information about adding a custom domain to your user pool, see Using
        /// Your Own Domain for the Hosted UI.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateUserPoolDomain service method.
        /// 
        /// The response from the UpdateUserPoolDomain service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// REST API Reference for UpdateUserPoolDomain Operation
        public virtual UpdateUserPoolDomainResponse UpdateUserPoolDomain(UpdateUserPoolDomainRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateUserPoolDomainRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateUserPoolDomainResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the UpdateUserPoolDomain operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateUserPoolDomain operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateUserPoolDomain
        ///         operation.
        /// REST API Reference for UpdateUserPoolDomain Operation
        public virtual IAsyncResult BeginUpdateUserPoolDomain(UpdateUserPoolDomainRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = UpdateUserPoolDomainRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateUserPoolDomainResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  UpdateUserPoolDomain operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginUpdateUserPoolDomain.
        /// 
        /// Returns a  UpdateUserPoolDomainResult from CognitoIdentityProvider.
        /// REST API Reference for UpdateUserPoolDomain Operation
        public virtual UpdateUserPoolDomainResponse EndUpdateUserPoolDomain(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  VerifySoftwareToken
        /// 
        /// Use this API to register a user's entered time-based one-time password (TOTP) code
        /// and mark the user's software token MFA status as "verified" if successful. The request
        /// takes an access token or a session string, but not both.
        /// 
        /// Container for the necessary parameters to execute the VerifySoftwareToken service method.
        /// 
        /// The response from the VerifySoftwareToken service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown if the provided code doesn't match what the server was expecting.
        /// 
        /// 
        /// This exception is thrown when there is a code mismatch and the service fails to configure
        /// the software token TOTP multi-factor authentication (MFA).
        /// 
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when the user pool configuration is not valid.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the software token time-based one-time password (TOTP)
        /// multi-factor authentication (MFA) isn't activated for the user pool.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for VerifySoftwareToken Operation
        public virtual VerifySoftwareTokenResponse VerifySoftwareToken(VerifySoftwareTokenRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = VerifySoftwareTokenRequestMarshaller.Instance;
            options.ResponseUnmarshaller = VerifySoftwareTokenResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the VerifySoftwareToken operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the VerifySoftwareToken operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndVerifySoftwareToken
        ///         operation.
        /// REST API Reference for VerifySoftwareToken Operation
        public virtual IAsyncResult BeginVerifySoftwareToken(VerifySoftwareTokenRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = VerifySoftwareTokenRequestMarshaller.Instance;
            options.ResponseUnmarshaller = VerifySoftwareTokenResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  VerifySoftwareToken operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginVerifySoftwareToken.
        /// 
        /// Returns a  VerifySoftwareTokenResult from CognitoIdentityProvider.
        /// REST API Reference for VerifySoftwareToken Operation
        public virtual VerifySoftwareTokenResponse EndVerifySoftwareToken(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
        #region  VerifyUserAttribute
        /// 
        /// Verifies the specified user attributes in the user pool.
        /// 
        ///  
        /// 
        ///  If your user pool requires verification before Amazon Cognito updates the attribute
        /// value, VerifyUserAttribute updates the affected attribute to its pending value. For
        /// more information, see 
        /// UserAttributeUpdateSettingsType. 
        /// 
        /// 
        /// Container for the necessary parameters to execute the VerifyUserAttribute service method.
        /// 
        /// The response from the VerifyUserAttribute service method, as returned by CognitoIdentityProvider.
        /// 
        /// This exception is thrown when a user tries to confirm the account with an email address
        /// or phone number that has already been supplied as an alias for a different user profile.
        /// This exception indicates that an account with this email address or phone already
        /// exists in a user pool that you've configured to use email address or phone number
        /// as a sign-in alias.
        /// 
        /// 
        /// This exception is thrown if the provided code doesn't match what the server was expecting.
        /// 
        /// 
        /// This exception is thrown if a code has expired.
        /// 
        /// 
        /// This exception is thrown when WAF doesn't allow your request based on a web ACL that's
        /// associated with your user pool.
        /// 
        /// 
        /// This exception is thrown when Amazon Cognito encounters an internal error.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service encounters an invalid parameter.
        /// 
        /// 
        /// This exception is thrown when a user exceeds the limit for a requested Amazon Web
        /// Services resource.
        /// 
        /// 
        /// This exception is thrown when a user isn't authorized.
        /// 
        /// 
        /// This exception is thrown when a password reset is required.
        /// 
        /// 
        /// This exception is thrown when the Amazon Cognito service can't find the requested
        /// resource.
        /// 
        /// 
        /// This exception is thrown when the user has made too many requests for a given operation.
        /// 
        /// 
        /// This exception is thrown when a user isn't confirmed successfully.
        /// 
        /// 
        /// This exception is thrown when a user isn't found.
        /// 
        /// REST API Reference for VerifyUserAttribute Operation
        public virtual VerifyUserAttributeResponse VerifyUserAttribute(VerifyUserAttributeRequest request)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = VerifyUserAttributeRequestMarshaller.Instance;
            options.ResponseUnmarshaller = VerifyUserAttributeResponseUnmarshaller.Instance;
            return Invoke(request, options);
        }
        /// 
        /// Initiates the asynchronous execution of the VerifyUserAttribute operation.
        /// 
        /// 
        /// Container for the necessary parameters to execute the VerifyUserAttribute operation on AmazonCognitoIdentityProviderClient.
        /// An AsyncCallback delegate that is invoked when the operation completes.
        /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
        ///          procedure using the AsyncState property.
        /// 
        /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndVerifyUserAttribute
        ///         operation.
        /// REST API Reference for VerifyUserAttribute Operation
        public virtual IAsyncResult BeginVerifyUserAttribute(VerifyUserAttributeRequest request, AsyncCallback callback, object state)
        {
            var options = new InvokeOptions();
            options.RequestMarshaller = VerifyUserAttributeRequestMarshaller.Instance;
            options.ResponseUnmarshaller = VerifyUserAttributeResponseUnmarshaller.Instance;
            return BeginInvoke(request, options, callback, state);
        }
        /// 
        /// Finishes the asynchronous execution of the  VerifyUserAttribute operation.
        /// 
        /// 
        /// The IAsyncResult returned by the call to BeginVerifyUserAttribute.
        /// 
        /// Returns a  VerifyUserAttributeResult from CognitoIdentityProvider.
        /// REST API Reference for VerifyUserAttribute Operation
        public virtual VerifyUserAttributeResponse EndVerifyUserAttribute(IAsyncResult asyncResult)
        {
            return EndInvoke(asyncResult);
        }
        #endregion
        
    }
}