/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace CognitoIdentityProvider { namespace Model { /** *

Represents the request to create a user pool client.

See Also:

* AWS * API Reference

*/ class AWS_COGNITOIDENTITYPROVIDER_API CreateUserPoolClientRequest : public CognitoIdentityProviderRequest { public: CreateUserPoolClientRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateUserPoolClient"; } Aws::String SerializePayload() const override; Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The user pool ID for the user pool where you want to create a user pool * client.

*/ inline const Aws::String& GetUserPoolId() const{ return m_userPoolId; } /** *

The user pool ID for the user pool where you want to create a user pool * client.

*/ inline bool UserPoolIdHasBeenSet() const { return m_userPoolIdHasBeenSet; } /** *

The user pool ID for the user pool where you want to create a user pool * client.

*/ inline void SetUserPoolId(const Aws::String& value) { m_userPoolIdHasBeenSet = true; m_userPoolId = value; } /** *

The user pool ID for the user pool where you want to create a user pool * client.

*/ inline void SetUserPoolId(Aws::String&& value) { m_userPoolIdHasBeenSet = true; m_userPoolId = std::move(value); } /** *

The user pool ID for the user pool where you want to create a user pool * client.

*/ inline void SetUserPoolId(const char* value) { m_userPoolIdHasBeenSet = true; m_userPoolId.assign(value); } /** *

The user pool ID for the user pool where you want to create a user pool * client.

*/ inline CreateUserPoolClientRequest& WithUserPoolId(const Aws::String& value) { SetUserPoolId(value); return *this;} /** *

The user pool ID for the user pool where you want to create a user pool * client.

*/ inline CreateUserPoolClientRequest& WithUserPoolId(Aws::String&& value) { SetUserPoolId(std::move(value)); return *this;} /** *

The user pool ID for the user pool where you want to create a user pool * client.

*/ inline CreateUserPoolClientRequest& WithUserPoolId(const char* value) { SetUserPoolId(value); return *this;} /** *

The client name for the user pool client you would like to create.

*/ inline const Aws::String& GetClientName() const{ return m_clientName; } /** *

The client name for the user pool client you would like to create.

*/ inline bool ClientNameHasBeenSet() const { return m_clientNameHasBeenSet; } /** *

The client name for the user pool client you would like to create.

*/ inline void SetClientName(const Aws::String& value) { m_clientNameHasBeenSet = true; m_clientName = value; } /** *

The client name for the user pool client you would like to create.

*/ inline void SetClientName(Aws::String&& value) { m_clientNameHasBeenSet = true; m_clientName = std::move(value); } /** *

The client name for the user pool client you would like to create.

*/ inline void SetClientName(const char* value) { m_clientNameHasBeenSet = true; m_clientName.assign(value); } /** *

The client name for the user pool client you would like to create.

*/ inline CreateUserPoolClientRequest& WithClientName(const Aws::String& value) { SetClientName(value); return *this;} /** *

The client name for the user pool client you would like to create.

*/ inline CreateUserPoolClientRequest& WithClientName(Aws::String&& value) { SetClientName(std::move(value)); return *this;} /** *

The client name for the user pool client you would like to create.

*/ inline CreateUserPoolClientRequest& WithClientName(const char* value) { SetClientName(value); return *this;} /** *

Boolean to specify whether you want to generate a secret for the user pool * client being created.

*/ inline bool GetGenerateSecret() const{ return m_generateSecret; } /** *

Boolean to specify whether you want to generate a secret for the user pool * client being created.

*/ inline bool GenerateSecretHasBeenSet() const { return m_generateSecretHasBeenSet; } /** *

Boolean to specify whether you want to generate a secret for the user pool * client being created.

*/ inline void SetGenerateSecret(bool value) { m_generateSecretHasBeenSet = true; m_generateSecret = value; } /** *

Boolean to specify whether you want to generate a secret for the user pool * client being created.

*/ inline CreateUserPoolClientRequest& WithGenerateSecret(bool value) { SetGenerateSecret(value); return *this;} /** *

The time limit, in days, after which the refresh token is no longer valid and * cannot be used.

*/ inline int GetRefreshTokenValidity() const{ return m_refreshTokenValidity; } /** *

The time limit, in days, after which the refresh token is no longer valid and * cannot be used.

*/ inline bool RefreshTokenValidityHasBeenSet() const { return m_refreshTokenValidityHasBeenSet; } /** *

The time limit, in days, after which the refresh token is no longer valid and * cannot be used.

*/ inline void SetRefreshTokenValidity(int value) { m_refreshTokenValidityHasBeenSet = true; m_refreshTokenValidity = value; } /** *

The time limit, in days, after which the refresh token is no longer valid and * cannot be used.

*/ inline CreateUserPoolClientRequest& WithRefreshTokenValidity(int value) { SetRefreshTokenValidity(value); return *this;} /** *

The time limit, between 5 minutes and 1 day, after which the access token is * no longer valid and cannot be used. This value will be overridden if you have * entered a value in TokenValidityUnits.

*/ inline int GetAccessTokenValidity() const{ return m_accessTokenValidity; } /** *

The time limit, between 5 minutes and 1 day, after which the access token is * no longer valid and cannot be used. This value will be overridden if you have * entered a value in TokenValidityUnits.

*/ inline bool AccessTokenValidityHasBeenSet() const { return m_accessTokenValidityHasBeenSet; } /** *

The time limit, between 5 minutes and 1 day, after which the access token is * no longer valid and cannot be used. This value will be overridden if you have * entered a value in TokenValidityUnits.

*/ inline void SetAccessTokenValidity(int value) { m_accessTokenValidityHasBeenSet = true; m_accessTokenValidity = value; } /** *

The time limit, between 5 minutes and 1 day, after which the access token is * no longer valid and cannot be used. This value will be overridden if you have * entered a value in TokenValidityUnits.

*/ inline CreateUserPoolClientRequest& WithAccessTokenValidity(int value) { SetAccessTokenValidity(value); return *this;} /** *

The time limit, between 5 minutes and 1 day, after which the ID token is no * longer valid and cannot be used. This value will be overridden if you have * entered a value in TokenValidityUnits.

*/ inline int GetIdTokenValidity() const{ return m_idTokenValidity; } /** *

The time limit, between 5 minutes and 1 day, after which the ID token is no * longer valid and cannot be used. This value will be overridden if you have * entered a value in TokenValidityUnits.

*/ inline bool IdTokenValidityHasBeenSet() const { return m_idTokenValidityHasBeenSet; } /** *

The time limit, between 5 minutes and 1 day, after which the ID token is no * longer valid and cannot be used. This value will be overridden if you have * entered a value in TokenValidityUnits.

*/ inline void SetIdTokenValidity(int value) { m_idTokenValidityHasBeenSet = true; m_idTokenValidity = value; } /** *

The time limit, between 5 minutes and 1 day, after which the ID token is no * longer valid and cannot be used. This value will be overridden if you have * entered a value in TokenValidityUnits.

*/ inline CreateUserPoolClientRequest& WithIdTokenValidity(int value) { SetIdTokenValidity(value); return *this;} /** *

The units in which the validity times are represented in. Default for * RefreshToken is days, and default for ID and access tokens are hours.

*/ inline const TokenValidityUnitsType& GetTokenValidityUnits() const{ return m_tokenValidityUnits; } /** *

The units in which the validity times are represented in. Default for * RefreshToken is days, and default for ID and access tokens are hours.

*/ inline bool TokenValidityUnitsHasBeenSet() const { return m_tokenValidityUnitsHasBeenSet; } /** *

The units in which the validity times are represented in. Default for * RefreshToken is days, and default for ID and access tokens are hours.

*/ inline void SetTokenValidityUnits(const TokenValidityUnitsType& value) { m_tokenValidityUnitsHasBeenSet = true; m_tokenValidityUnits = value; } /** *

The units in which the validity times are represented in. Default for * RefreshToken is days, and default for ID and access tokens are hours.

*/ inline void SetTokenValidityUnits(TokenValidityUnitsType&& value) { m_tokenValidityUnitsHasBeenSet = true; m_tokenValidityUnits = std::move(value); } /** *

The units in which the validity times are represented in. Default for * RefreshToken is days, and default for ID and access tokens are hours.

*/ inline CreateUserPoolClientRequest& WithTokenValidityUnits(const TokenValidityUnitsType& value) { SetTokenValidityUnits(value); return *this;} /** *

The units in which the validity times are represented in. Default for * RefreshToken is days, and default for ID and access tokens are hours.

*/ inline CreateUserPoolClientRequest& WithTokenValidityUnits(TokenValidityUnitsType&& value) { SetTokenValidityUnits(std::move(value)); return *this;} /** *

The read attributes.

*/ inline const Aws::Vector& GetReadAttributes() const{ return m_readAttributes; } /** *

The read attributes.

*/ inline bool ReadAttributesHasBeenSet() const { return m_readAttributesHasBeenSet; } /** *

The read attributes.

*/ inline void SetReadAttributes(const Aws::Vector& value) { m_readAttributesHasBeenSet = true; m_readAttributes = value; } /** *

The read attributes.

*/ inline void SetReadAttributes(Aws::Vector&& value) { m_readAttributesHasBeenSet = true; m_readAttributes = std::move(value); } /** *

The read attributes.

*/ inline CreateUserPoolClientRequest& WithReadAttributes(const Aws::Vector& value) { SetReadAttributes(value); return *this;} /** *

The read attributes.

*/ inline CreateUserPoolClientRequest& WithReadAttributes(Aws::Vector&& value) { SetReadAttributes(std::move(value)); return *this;} /** *

The read attributes.

*/ inline CreateUserPoolClientRequest& AddReadAttributes(const Aws::String& value) { m_readAttributesHasBeenSet = true; m_readAttributes.push_back(value); return *this; } /** *

The read attributes.

*/ inline CreateUserPoolClientRequest& AddReadAttributes(Aws::String&& value) { m_readAttributesHasBeenSet = true; m_readAttributes.push_back(std::move(value)); return *this; } /** *

The read attributes.

*/ inline CreateUserPoolClientRequest& AddReadAttributes(const char* value) { m_readAttributesHasBeenSet = true; m_readAttributes.push_back(value); return *this; } /** *

The user pool attributes that the app client can write to.

If your app * client allows users to sign in through an identity provider, this array must * include all attributes that are mapped to identity provider attributes. Amazon * Cognito updates mapped attributes when users sign in to your application through * an identity provider. If your app client lacks write access to a mapped * attribute, Amazon Cognito throws an error when it attempts to update the * attribute. For more information, see Specifying * Identity Provider Attribute Mappings for Your User Pool.

*/ inline const Aws::Vector& GetWriteAttributes() const{ return m_writeAttributes; } /** *

The user pool attributes that the app client can write to.

If your app * client allows users to sign in through an identity provider, this array must * include all attributes that are mapped to identity provider attributes. Amazon * Cognito updates mapped attributes when users sign in to your application through * an identity provider. If your app client lacks write access to a mapped * attribute, Amazon Cognito throws an error when it attempts to update the * attribute. For more information, see Specifying * Identity Provider Attribute Mappings for Your User Pool.

*/ inline bool WriteAttributesHasBeenSet() const { return m_writeAttributesHasBeenSet; } /** *

The user pool attributes that the app client can write to.

If your app * client allows users to sign in through an identity provider, this array must * include all attributes that are mapped to identity provider attributes. Amazon * Cognito updates mapped attributes when users sign in to your application through * an identity provider. If your app client lacks write access to a mapped * attribute, Amazon Cognito throws an error when it attempts to update the * attribute. For more information, see Specifying * Identity Provider Attribute Mappings for Your User Pool.

*/ inline void SetWriteAttributes(const Aws::Vector& value) { m_writeAttributesHasBeenSet = true; m_writeAttributes = value; } /** *

The user pool attributes that the app client can write to.

If your app * client allows users to sign in through an identity provider, this array must * include all attributes that are mapped to identity provider attributes. Amazon * Cognito updates mapped attributes when users sign in to your application through * an identity provider. If your app client lacks write access to a mapped * attribute, Amazon Cognito throws an error when it attempts to update the * attribute. For more information, see Specifying * Identity Provider Attribute Mappings for Your User Pool.

*/ inline void SetWriteAttributes(Aws::Vector&& value) { m_writeAttributesHasBeenSet = true; m_writeAttributes = std::move(value); } /** *

The user pool attributes that the app client can write to.

If your app * client allows users to sign in through an identity provider, this array must * include all attributes that are mapped to identity provider attributes. Amazon * Cognito updates mapped attributes when users sign in to your application through * an identity provider. If your app client lacks write access to a mapped * attribute, Amazon Cognito throws an error when it attempts to update the * attribute. For more information, see Specifying * Identity Provider Attribute Mappings for Your User Pool.

*/ inline CreateUserPoolClientRequest& WithWriteAttributes(const Aws::Vector& value) { SetWriteAttributes(value); return *this;} /** *

The user pool attributes that the app client can write to.

If your app * client allows users to sign in through an identity provider, this array must * include all attributes that are mapped to identity provider attributes. Amazon * Cognito updates mapped attributes when users sign in to your application through * an identity provider. If your app client lacks write access to a mapped * attribute, Amazon Cognito throws an error when it attempts to update the * attribute. For more information, see Specifying * Identity Provider Attribute Mappings for Your User Pool.

*/ inline CreateUserPoolClientRequest& WithWriteAttributes(Aws::Vector&& value) { SetWriteAttributes(std::move(value)); return *this;} /** *

The user pool attributes that the app client can write to.

If your app * client allows users to sign in through an identity provider, this array must * include all attributes that are mapped to identity provider attributes. Amazon * Cognito updates mapped attributes when users sign in to your application through * an identity provider. If your app client lacks write access to a mapped * attribute, Amazon Cognito throws an error when it attempts to update the * attribute. For more information, see Specifying * Identity Provider Attribute Mappings for Your User Pool.

*/ inline CreateUserPoolClientRequest& AddWriteAttributes(const Aws::String& value) { m_writeAttributesHasBeenSet = true; m_writeAttributes.push_back(value); return *this; } /** *

The user pool attributes that the app client can write to.

If your app * client allows users to sign in through an identity provider, this array must * include all attributes that are mapped to identity provider attributes. Amazon * Cognito updates mapped attributes when users sign in to your application through * an identity provider. If your app client lacks write access to a mapped * attribute, Amazon Cognito throws an error when it attempts to update the * attribute. For more information, see Specifying * Identity Provider Attribute Mappings for Your User Pool.

*/ inline CreateUserPoolClientRequest& AddWriteAttributes(Aws::String&& value) { m_writeAttributesHasBeenSet = true; m_writeAttributes.push_back(std::move(value)); return *this; } /** *

The user pool attributes that the app client can write to.

If your app * client allows users to sign in through an identity provider, this array must * include all attributes that are mapped to identity provider attributes. Amazon * Cognito updates mapped attributes when users sign in to your application through * an identity provider. If your app client lacks write access to a mapped * attribute, Amazon Cognito throws an error when it attempts to update the * attribute. For more information, see Specifying * Identity Provider Attribute Mappings for Your User Pool.

*/ inline CreateUserPoolClientRequest& AddWriteAttributes(const char* value) { m_writeAttributesHasBeenSet = true; m_writeAttributes.push_back(value); return *this; } /** *

The authentication flows that are supported by the user pool clients. Flow * names without the ALLOW_ prefix are deprecated in favor of new * names with the ALLOW_ prefix. Note that values with * ALLOW_ prefix cannot be used along with values without * ALLOW_ prefix.

Valid values include:

  • * ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password * authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces * the ADMIN_NO_SRP_AUTH setting. With this authentication flow, * Cognito receives the password in the request instead of using the SRP (Secure * Remote Password protocol) protocol to verify passwords.

  • * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication.

    *
  • ALLOW_USER_PASSWORD_AUTH: Enable user password-based * authentication. In this flow, Cognito receives the password in the request * instead of using the SRP protocol to verify passwords.

  • * ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

  • *
  • ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh * tokens.

*/ inline const Aws::Vector& GetExplicitAuthFlows() const{ return m_explicitAuthFlows; } /** *

The authentication flows that are supported by the user pool clients. Flow * names without the ALLOW_ prefix are deprecated in favor of new * names with the ALLOW_ prefix. Note that values with * ALLOW_ prefix cannot be used along with values without * ALLOW_ prefix.

Valid values include:

  • * ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password * authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces * the ADMIN_NO_SRP_AUTH setting. With this authentication flow, * Cognito receives the password in the request instead of using the SRP (Secure * Remote Password protocol) protocol to verify passwords.

  • * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication.

    *
  • ALLOW_USER_PASSWORD_AUTH: Enable user password-based * authentication. In this flow, Cognito receives the password in the request * instead of using the SRP protocol to verify passwords.

  • * ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

  • *
  • ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh * tokens.

*/ inline bool ExplicitAuthFlowsHasBeenSet() const { return m_explicitAuthFlowsHasBeenSet; } /** *

The authentication flows that are supported by the user pool clients. Flow * names without the ALLOW_ prefix are deprecated in favor of new * names with the ALLOW_ prefix. Note that values with * ALLOW_ prefix cannot be used along with values without * ALLOW_ prefix.

Valid values include:

  • * ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password * authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces * the ADMIN_NO_SRP_AUTH setting. With this authentication flow, * Cognito receives the password in the request instead of using the SRP (Secure * Remote Password protocol) protocol to verify passwords.

  • * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication.

    *
  • ALLOW_USER_PASSWORD_AUTH: Enable user password-based * authentication. In this flow, Cognito receives the password in the request * instead of using the SRP protocol to verify passwords.

  • * ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

  • *
  • ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh * tokens.

*/ inline void SetExplicitAuthFlows(const Aws::Vector& value) { m_explicitAuthFlowsHasBeenSet = true; m_explicitAuthFlows = value; } /** *

The authentication flows that are supported by the user pool clients. Flow * names without the ALLOW_ prefix are deprecated in favor of new * names with the ALLOW_ prefix. Note that values with * ALLOW_ prefix cannot be used along with values without * ALLOW_ prefix.

Valid values include:

  • * ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password * authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces * the ADMIN_NO_SRP_AUTH setting. With this authentication flow, * Cognito receives the password in the request instead of using the SRP (Secure * Remote Password protocol) protocol to verify passwords.

  • * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication.

    *
  • ALLOW_USER_PASSWORD_AUTH: Enable user password-based * authentication. In this flow, Cognito receives the password in the request * instead of using the SRP protocol to verify passwords.

  • * ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

  • *
  • ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh * tokens.

*/ inline void SetExplicitAuthFlows(Aws::Vector&& value) { m_explicitAuthFlowsHasBeenSet = true; m_explicitAuthFlows = std::move(value); } /** *

The authentication flows that are supported by the user pool clients. Flow * names without the ALLOW_ prefix are deprecated in favor of new * names with the ALLOW_ prefix. Note that values with * ALLOW_ prefix cannot be used along with values without * ALLOW_ prefix.

Valid values include:

  • * ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password * authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces * the ADMIN_NO_SRP_AUTH setting. With this authentication flow, * Cognito receives the password in the request instead of using the SRP (Secure * Remote Password protocol) protocol to verify passwords.

  • * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication.

    *
  • ALLOW_USER_PASSWORD_AUTH: Enable user password-based * authentication. In this flow, Cognito receives the password in the request * instead of using the SRP protocol to verify passwords.

  • * ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

  • *
  • ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh * tokens.

*/ inline CreateUserPoolClientRequest& WithExplicitAuthFlows(const Aws::Vector& value) { SetExplicitAuthFlows(value); return *this;} /** *

The authentication flows that are supported by the user pool clients. Flow * names without the ALLOW_ prefix are deprecated in favor of new * names with the ALLOW_ prefix. Note that values with * ALLOW_ prefix cannot be used along with values without * ALLOW_ prefix.

Valid values include:

  • * ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password * authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces * the ADMIN_NO_SRP_AUTH setting. With this authentication flow, * Cognito receives the password in the request instead of using the SRP (Secure * Remote Password protocol) protocol to verify passwords.

  • * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication.

    *
  • ALLOW_USER_PASSWORD_AUTH: Enable user password-based * authentication. In this flow, Cognito receives the password in the request * instead of using the SRP protocol to verify passwords.

  • * ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

  • *
  • ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh * tokens.

*/ inline CreateUserPoolClientRequest& WithExplicitAuthFlows(Aws::Vector&& value) { SetExplicitAuthFlows(std::move(value)); return *this;} /** *

The authentication flows that are supported by the user pool clients. Flow * names without the ALLOW_ prefix are deprecated in favor of new * names with the ALLOW_ prefix. Note that values with * ALLOW_ prefix cannot be used along with values without * ALLOW_ prefix.

Valid values include:

  • * ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password * authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces * the ADMIN_NO_SRP_AUTH setting. With this authentication flow, * Cognito receives the password in the request instead of using the SRP (Secure * Remote Password protocol) protocol to verify passwords.

  • * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication.

    *
  • ALLOW_USER_PASSWORD_AUTH: Enable user password-based * authentication. In this flow, Cognito receives the password in the request * instead of using the SRP protocol to verify passwords.

  • * ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

  • *
  • ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh * tokens.

*/ inline CreateUserPoolClientRequest& AddExplicitAuthFlows(const ExplicitAuthFlowsType& value) { m_explicitAuthFlowsHasBeenSet = true; m_explicitAuthFlows.push_back(value); return *this; } /** *

The authentication flows that are supported by the user pool clients. Flow * names without the ALLOW_ prefix are deprecated in favor of new * names with the ALLOW_ prefix. Note that values with * ALLOW_ prefix cannot be used along with values without * ALLOW_ prefix.

Valid values include:

  • * ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password * authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces * the ADMIN_NO_SRP_AUTH setting. With this authentication flow, * Cognito receives the password in the request instead of using the SRP (Secure * Remote Password protocol) protocol to verify passwords.

  • * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication.

    *
  • ALLOW_USER_PASSWORD_AUTH: Enable user password-based * authentication. In this flow, Cognito receives the password in the request * instead of using the SRP protocol to verify passwords.

  • * ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

  • *
  • ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh * tokens.

*/ inline CreateUserPoolClientRequest& AddExplicitAuthFlows(ExplicitAuthFlowsType&& value) { m_explicitAuthFlowsHasBeenSet = true; m_explicitAuthFlows.push_back(std::move(value)); return *this; } /** *

A list of provider names for the identity providers that are supported on * this client. The following are supported: COGNITO, * Facebook, Google and LoginWithAmazon.

*/ inline const Aws::Vector& GetSupportedIdentityProviders() const{ return m_supportedIdentityProviders; } /** *

A list of provider names for the identity providers that are supported on * this client. The following are supported: COGNITO, * Facebook, Google and LoginWithAmazon.

*/ inline bool SupportedIdentityProvidersHasBeenSet() const { return m_supportedIdentityProvidersHasBeenSet; } /** *

A list of provider names for the identity providers that are supported on * this client. The following are supported: COGNITO, * Facebook, Google and LoginWithAmazon.

*/ inline void SetSupportedIdentityProviders(const Aws::Vector& value) { m_supportedIdentityProvidersHasBeenSet = true; m_supportedIdentityProviders = value; } /** *

A list of provider names for the identity providers that are supported on * this client. The following are supported: COGNITO, * Facebook, Google and LoginWithAmazon.

*/ inline void SetSupportedIdentityProviders(Aws::Vector&& value) { m_supportedIdentityProvidersHasBeenSet = true; m_supportedIdentityProviders = std::move(value); } /** *

A list of provider names for the identity providers that are supported on * this client. The following are supported: COGNITO, * Facebook, Google and LoginWithAmazon.

*/ inline CreateUserPoolClientRequest& WithSupportedIdentityProviders(const Aws::Vector& value) { SetSupportedIdentityProviders(value); return *this;} /** *

A list of provider names for the identity providers that are supported on * this client. The following are supported: COGNITO, * Facebook, Google and LoginWithAmazon.

*/ inline CreateUserPoolClientRequest& WithSupportedIdentityProviders(Aws::Vector&& value) { SetSupportedIdentityProviders(std::move(value)); return *this;} /** *

A list of provider names for the identity providers that are supported on * this client. The following are supported: COGNITO, * Facebook, Google and LoginWithAmazon.

*/ inline CreateUserPoolClientRequest& AddSupportedIdentityProviders(const Aws::String& value) { m_supportedIdentityProvidersHasBeenSet = true; m_supportedIdentityProviders.push_back(value); return *this; } /** *

A list of provider names for the identity providers that are supported on * this client. The following are supported: COGNITO, * Facebook, Google and LoginWithAmazon.

*/ inline CreateUserPoolClientRequest& AddSupportedIdentityProviders(Aws::String&& value) { m_supportedIdentityProvidersHasBeenSet = true; m_supportedIdentityProviders.push_back(std::move(value)); return *this; } /** *

A list of provider names for the identity providers that are supported on * this client. The following are supported: COGNITO, * Facebook, Google and LoginWithAmazon.

*/ inline CreateUserPoolClientRequest& AddSupportedIdentityProviders(const char* value) { m_supportedIdentityProvidersHasBeenSet = true; m_supportedIdentityProviders.push_back(value); return *this; } /** *

A list of allowed redirect (callback) URLs for the identity providers.

*

A redirect URI must:

  • Be an absolute URI.

  • *

    Be registered with the authorization server.

  • Not include a * fragment component.

See OAuth 2.0 - Redirection * Endpoint.

Amazon Cognito requires HTTPS over HTTP except for * http://localhost for testing purposes only.

App callback URLs such as * myapp://example are also supported.

*/ inline const Aws::Vector& GetCallbackURLs() const{ return m_callbackURLs; } /** *

A list of allowed redirect (callback) URLs for the identity providers.

*

A redirect URI must:

  • Be an absolute URI.

  • *

    Be registered with the authorization server.

  • Not include a * fragment component.

See OAuth 2.0 - Redirection * Endpoint.

Amazon Cognito requires HTTPS over HTTP except for * http://localhost for testing purposes only.

App callback URLs such as * myapp://example are also supported.

*/ inline bool CallbackURLsHasBeenSet() const { return m_callbackURLsHasBeenSet; } /** *

A list of allowed redirect (callback) URLs for the identity providers.

*

A redirect URI must:

  • Be an absolute URI.

  • *

    Be registered with the authorization server.

  • Not include a * fragment component.

See OAuth 2.0 - Redirection * Endpoint.

Amazon Cognito requires HTTPS over HTTP except for * http://localhost for testing purposes only.

App callback URLs such as * myapp://example are also supported.

*/ inline void SetCallbackURLs(const Aws::Vector& value) { m_callbackURLsHasBeenSet = true; m_callbackURLs = value; } /** *

A list of allowed redirect (callback) URLs for the identity providers.

*

A redirect URI must:

  • Be an absolute URI.

  • *

    Be registered with the authorization server.

  • Not include a * fragment component.

See OAuth 2.0 - Redirection * Endpoint.

Amazon Cognito requires HTTPS over HTTP except for * http://localhost for testing purposes only.

App callback URLs such as * myapp://example are also supported.

*/ inline void SetCallbackURLs(Aws::Vector&& value) { m_callbackURLsHasBeenSet = true; m_callbackURLs = std::move(value); } /** *

A list of allowed redirect (callback) URLs for the identity providers.

*

A redirect URI must:

  • Be an absolute URI.

  • *

    Be registered with the authorization server.

  • Not include a * fragment component.

See OAuth 2.0 - Redirection * Endpoint.

Amazon Cognito requires HTTPS over HTTP except for * http://localhost for testing purposes only.

App callback URLs such as * myapp://example are also supported.

*/ inline CreateUserPoolClientRequest& WithCallbackURLs(const Aws::Vector& value) { SetCallbackURLs(value); return *this;} /** *

A list of allowed redirect (callback) URLs for the identity providers.

*

A redirect URI must:

  • Be an absolute URI.

  • *

    Be registered with the authorization server.

  • Not include a * fragment component.

See OAuth 2.0 - Redirection * Endpoint.

Amazon Cognito requires HTTPS over HTTP except for * http://localhost for testing purposes only.

App callback URLs such as * myapp://example are also supported.

*/ inline CreateUserPoolClientRequest& WithCallbackURLs(Aws::Vector&& value) { SetCallbackURLs(std::move(value)); return *this;} /** *

A list of allowed redirect (callback) URLs for the identity providers.

*

A redirect URI must:

  • Be an absolute URI.

  • *

    Be registered with the authorization server.

  • Not include a * fragment component.

See OAuth 2.0 - Redirection * Endpoint.

Amazon Cognito requires HTTPS over HTTP except for * http://localhost for testing purposes only.

App callback URLs such as * myapp://example are also supported.

*/ inline CreateUserPoolClientRequest& AddCallbackURLs(const Aws::String& value) { m_callbackURLsHasBeenSet = true; m_callbackURLs.push_back(value); return *this; } /** *

A list of allowed redirect (callback) URLs for the identity providers.

*

A redirect URI must:

  • Be an absolute URI.

  • *

    Be registered with the authorization server.

  • Not include a * fragment component.

See OAuth 2.0 - Redirection * Endpoint.

Amazon Cognito requires HTTPS over HTTP except for * http://localhost for testing purposes only.

App callback URLs such as * myapp://example are also supported.

*/ inline CreateUserPoolClientRequest& AddCallbackURLs(Aws::String&& value) { m_callbackURLsHasBeenSet = true; m_callbackURLs.push_back(std::move(value)); return *this; } /** *

A list of allowed redirect (callback) URLs for the identity providers.

*

A redirect URI must:

  • Be an absolute URI.

  • *

    Be registered with the authorization server.

  • Not include a * fragment component.

See OAuth 2.0 - Redirection * Endpoint.

Amazon Cognito requires HTTPS over HTTP except for * http://localhost for testing purposes only.

App callback URLs such as * myapp://example are also supported.

*/ inline CreateUserPoolClientRequest& AddCallbackURLs(const char* value) { m_callbackURLsHasBeenSet = true; m_callbackURLs.push_back(value); return *this; } /** *

A list of allowed logout URLs for the identity providers.

*/ inline const Aws::Vector& GetLogoutURLs() const{ return m_logoutURLs; } /** *

A list of allowed logout URLs for the identity providers.

*/ inline bool LogoutURLsHasBeenSet() const { return m_logoutURLsHasBeenSet; } /** *

A list of allowed logout URLs for the identity providers.

*/ inline void SetLogoutURLs(const Aws::Vector& value) { m_logoutURLsHasBeenSet = true; m_logoutURLs = value; } /** *

A list of allowed logout URLs for the identity providers.

*/ inline void SetLogoutURLs(Aws::Vector&& value) { m_logoutURLsHasBeenSet = true; m_logoutURLs = std::move(value); } /** *

A list of allowed logout URLs for the identity providers.

*/ inline CreateUserPoolClientRequest& WithLogoutURLs(const Aws::Vector& value) { SetLogoutURLs(value); return *this;} /** *

A list of allowed logout URLs for the identity providers.

*/ inline CreateUserPoolClientRequest& WithLogoutURLs(Aws::Vector&& value) { SetLogoutURLs(std::move(value)); return *this;} /** *

A list of allowed logout URLs for the identity providers.

*/ inline CreateUserPoolClientRequest& AddLogoutURLs(const Aws::String& value) { m_logoutURLsHasBeenSet = true; m_logoutURLs.push_back(value); return *this; } /** *

A list of allowed logout URLs for the identity providers.

*/ inline CreateUserPoolClientRequest& AddLogoutURLs(Aws::String&& value) { m_logoutURLsHasBeenSet = true; m_logoutURLs.push_back(std::move(value)); return *this; } /** *

A list of allowed logout URLs for the identity providers.

*/ inline CreateUserPoolClientRequest& AddLogoutURLs(const char* value) { m_logoutURLsHasBeenSet = true; m_logoutURLs.push_back(value); return *this; } /** *

The default redirect URI. Must be in the CallbackURLs list.

*

A redirect URI must:

  • Be an absolute URI.

  • *

    Be registered with the authorization server.

  • Not include a * fragment component.

See OAuth 2.0 - Redirection * Endpoint.

Amazon Cognito requires HTTPS over HTTP except for * http://localhost for testing purposes only.

App callback URLs such as * myapp://example are also supported.

*/ inline const Aws::String& GetDefaultRedirectURI() const{ return m_defaultRedirectURI; } /** *

The default redirect URI. Must be in the CallbackURLs list.

*

A redirect URI must:

  • Be an absolute URI.

  • *

    Be registered with the authorization server.

  • Not include a * fragment component.

See OAuth 2.0 - Redirection * Endpoint.

Amazon Cognito requires HTTPS over HTTP except for * http://localhost for testing purposes only.

App callback URLs such as * myapp://example are also supported.

*/ inline bool DefaultRedirectURIHasBeenSet() const { return m_defaultRedirectURIHasBeenSet; } /** *

The default redirect URI. Must be in the CallbackURLs list.

*

A redirect URI must:

  • Be an absolute URI.

  • *

    Be registered with the authorization server.

  • Not include a * fragment component.

See OAuth 2.0 - Redirection * Endpoint.

Amazon Cognito requires HTTPS over HTTP except for * http://localhost for testing purposes only.

App callback URLs such as * myapp://example are also supported.

*/ inline void SetDefaultRedirectURI(const Aws::String& value) { m_defaultRedirectURIHasBeenSet = true; m_defaultRedirectURI = value; } /** *

The default redirect URI. Must be in the CallbackURLs list.

*

A redirect URI must:

  • Be an absolute URI.

  • *

    Be registered with the authorization server.

  • Not include a * fragment component.

See OAuth 2.0 - Redirection * Endpoint.

Amazon Cognito requires HTTPS over HTTP except for * http://localhost for testing purposes only.

App callback URLs such as * myapp://example are also supported.

*/ inline void SetDefaultRedirectURI(Aws::String&& value) { m_defaultRedirectURIHasBeenSet = true; m_defaultRedirectURI = std::move(value); } /** *

The default redirect URI. Must be in the CallbackURLs list.

*

A redirect URI must:

  • Be an absolute URI.

  • *

    Be registered with the authorization server.

  • Not include a * fragment component.

See OAuth 2.0 - Redirection * Endpoint.

Amazon Cognito requires HTTPS over HTTP except for * http://localhost for testing purposes only.

App callback URLs such as * myapp://example are also supported.

*/ inline void SetDefaultRedirectURI(const char* value) { m_defaultRedirectURIHasBeenSet = true; m_defaultRedirectURI.assign(value); } /** *

The default redirect URI. Must be in the CallbackURLs list.

*

A redirect URI must:

  • Be an absolute URI.

  • *

    Be registered with the authorization server.

  • Not include a * fragment component.

See OAuth 2.0 - Redirection * Endpoint.

Amazon Cognito requires HTTPS over HTTP except for * http://localhost for testing purposes only.

App callback URLs such as * myapp://example are also supported.

*/ inline CreateUserPoolClientRequest& WithDefaultRedirectURI(const Aws::String& value) { SetDefaultRedirectURI(value); return *this;} /** *

The default redirect URI. Must be in the CallbackURLs list.

*

A redirect URI must:

  • Be an absolute URI.

  • *

    Be registered with the authorization server.

  • Not include a * fragment component.

See OAuth 2.0 - Redirection * Endpoint.

Amazon Cognito requires HTTPS over HTTP except for * http://localhost for testing purposes only.

App callback URLs such as * myapp://example are also supported.

*/ inline CreateUserPoolClientRequest& WithDefaultRedirectURI(Aws::String&& value) { SetDefaultRedirectURI(std::move(value)); return *this;} /** *

The default redirect URI. Must be in the CallbackURLs list.

*

A redirect URI must:

  • Be an absolute URI.

  • *

    Be registered with the authorization server.

  • Not include a * fragment component.

See OAuth 2.0 - Redirection * Endpoint.

Amazon Cognito requires HTTPS over HTTP except for * http://localhost for testing purposes only.

App callback URLs such as * myapp://example are also supported.

*/ inline CreateUserPoolClientRequest& WithDefaultRedirectURI(const char* value) { SetDefaultRedirectURI(value); return *this;} /** *

The allowed OAuth flows.

Set to code to initiate a code * grant flow, which provides an authorization code as the response. This code can * be exchanged for access tokens with the token endpoint.

Set to * implicit to specify that the client should get the access token * (and, optionally, ID token, based on scopes) directly.

Set to * client_credentials to specify that the client should get the access * token (and, optionally, ID token, based on scopes) from the token endpoint using * a combination of client and client_secret.

*/ inline const Aws::Vector& GetAllowedOAuthFlows() const{ return m_allowedOAuthFlows; } /** *

The allowed OAuth flows.

Set to code to initiate a code * grant flow, which provides an authorization code as the response. This code can * be exchanged for access tokens with the token endpoint.

Set to * implicit to specify that the client should get the access token * (and, optionally, ID token, based on scopes) directly.

Set to * client_credentials to specify that the client should get the access * token (and, optionally, ID token, based on scopes) from the token endpoint using * a combination of client and client_secret.

*/ inline bool AllowedOAuthFlowsHasBeenSet() const { return m_allowedOAuthFlowsHasBeenSet; } /** *

The allowed OAuth flows.

Set to code to initiate a code * grant flow, which provides an authorization code as the response. This code can * be exchanged for access tokens with the token endpoint.

Set to * implicit to specify that the client should get the access token * (and, optionally, ID token, based on scopes) directly.

Set to * client_credentials to specify that the client should get the access * token (and, optionally, ID token, based on scopes) from the token endpoint using * a combination of client and client_secret.

*/ inline void SetAllowedOAuthFlows(const Aws::Vector& value) { m_allowedOAuthFlowsHasBeenSet = true; m_allowedOAuthFlows = value; } /** *

The allowed OAuth flows.

Set to code to initiate a code * grant flow, which provides an authorization code as the response. This code can * be exchanged for access tokens with the token endpoint.

Set to * implicit to specify that the client should get the access token * (and, optionally, ID token, based on scopes) directly.

Set to * client_credentials to specify that the client should get the access * token (and, optionally, ID token, based on scopes) from the token endpoint using * a combination of client and client_secret.

*/ inline void SetAllowedOAuthFlows(Aws::Vector&& value) { m_allowedOAuthFlowsHasBeenSet = true; m_allowedOAuthFlows = std::move(value); } /** *

The allowed OAuth flows.

Set to code to initiate a code * grant flow, which provides an authorization code as the response. This code can * be exchanged for access tokens with the token endpoint.

Set to * implicit to specify that the client should get the access token * (and, optionally, ID token, based on scopes) directly.

Set to * client_credentials to specify that the client should get the access * token (and, optionally, ID token, based on scopes) from the token endpoint using * a combination of client and client_secret.

*/ inline CreateUserPoolClientRequest& WithAllowedOAuthFlows(const Aws::Vector& value) { SetAllowedOAuthFlows(value); return *this;} /** *

The allowed OAuth flows.

Set to code to initiate a code * grant flow, which provides an authorization code as the response. This code can * be exchanged for access tokens with the token endpoint.

Set to * implicit to specify that the client should get the access token * (and, optionally, ID token, based on scopes) directly.

Set to * client_credentials to specify that the client should get the access * token (and, optionally, ID token, based on scopes) from the token endpoint using * a combination of client and client_secret.

*/ inline CreateUserPoolClientRequest& WithAllowedOAuthFlows(Aws::Vector&& value) { SetAllowedOAuthFlows(std::move(value)); return *this;} /** *

The allowed OAuth flows.

Set to code to initiate a code * grant flow, which provides an authorization code as the response. This code can * be exchanged for access tokens with the token endpoint.

Set to * implicit to specify that the client should get the access token * (and, optionally, ID token, based on scopes) directly.

Set to * client_credentials to specify that the client should get the access * token (and, optionally, ID token, based on scopes) from the token endpoint using * a combination of client and client_secret.

*/ inline CreateUserPoolClientRequest& AddAllowedOAuthFlows(const OAuthFlowType& value) { m_allowedOAuthFlowsHasBeenSet = true; m_allowedOAuthFlows.push_back(value); return *this; } /** *

The allowed OAuth flows.

Set to code to initiate a code * grant flow, which provides an authorization code as the response. This code can * be exchanged for access tokens with the token endpoint.

Set to * implicit to specify that the client should get the access token * (and, optionally, ID token, based on scopes) directly.

Set to * client_credentials to specify that the client should get the access * token (and, optionally, ID token, based on scopes) from the token endpoint using * a combination of client and client_secret.

*/ inline CreateUserPoolClientRequest& AddAllowedOAuthFlows(OAuthFlowType&& value) { m_allowedOAuthFlowsHasBeenSet = true; m_allowedOAuthFlows.push_back(std::move(value)); return *this; } /** *

The allowed OAuth scopes. Possible values provided by OAuth are: * phone, email, openid, and * profile. Possible values provided by AWS are: * aws.cognito.signin.user.admin. Custom scopes created in Resource * Servers are also supported.

*/ inline const Aws::Vector& GetAllowedOAuthScopes() const{ return m_allowedOAuthScopes; } /** *

The allowed OAuth scopes. Possible values provided by OAuth are: * phone, email, openid, and * profile. Possible values provided by AWS are: * aws.cognito.signin.user.admin. Custom scopes created in Resource * Servers are also supported.

*/ inline bool AllowedOAuthScopesHasBeenSet() const { return m_allowedOAuthScopesHasBeenSet; } /** *

The allowed OAuth scopes. Possible values provided by OAuth are: * phone, email, openid, and * profile. Possible values provided by AWS are: * aws.cognito.signin.user.admin. Custom scopes created in Resource * Servers are also supported.

*/ inline void SetAllowedOAuthScopes(const Aws::Vector& value) { m_allowedOAuthScopesHasBeenSet = true; m_allowedOAuthScopes = value; } /** *

The allowed OAuth scopes. Possible values provided by OAuth are: * phone, email, openid, and * profile. Possible values provided by AWS are: * aws.cognito.signin.user.admin. Custom scopes created in Resource * Servers are also supported.

*/ inline void SetAllowedOAuthScopes(Aws::Vector&& value) { m_allowedOAuthScopesHasBeenSet = true; m_allowedOAuthScopes = std::move(value); } /** *

The allowed OAuth scopes. Possible values provided by OAuth are: * phone, email, openid, and * profile. Possible values provided by AWS are: * aws.cognito.signin.user.admin. Custom scopes created in Resource * Servers are also supported.

*/ inline CreateUserPoolClientRequest& WithAllowedOAuthScopes(const Aws::Vector& value) { SetAllowedOAuthScopes(value); return *this;} /** *

The allowed OAuth scopes. Possible values provided by OAuth are: * phone, email, openid, and * profile. Possible values provided by AWS are: * aws.cognito.signin.user.admin. Custom scopes created in Resource * Servers are also supported.

*/ inline CreateUserPoolClientRequest& WithAllowedOAuthScopes(Aws::Vector&& value) { SetAllowedOAuthScopes(std::move(value)); return *this;} /** *

The allowed OAuth scopes. Possible values provided by OAuth are: * phone, email, openid, and * profile. Possible values provided by AWS are: * aws.cognito.signin.user.admin. Custom scopes created in Resource * Servers are also supported.

*/ inline CreateUserPoolClientRequest& AddAllowedOAuthScopes(const Aws::String& value) { m_allowedOAuthScopesHasBeenSet = true; m_allowedOAuthScopes.push_back(value); return *this; } /** *

The allowed OAuth scopes. Possible values provided by OAuth are: * phone, email, openid, and * profile. Possible values provided by AWS are: * aws.cognito.signin.user.admin. Custom scopes created in Resource * Servers are also supported.

*/ inline CreateUserPoolClientRequest& AddAllowedOAuthScopes(Aws::String&& value) { m_allowedOAuthScopesHasBeenSet = true; m_allowedOAuthScopes.push_back(std::move(value)); return *this; } /** *

The allowed OAuth scopes. Possible values provided by OAuth are: * phone, email, openid, and * profile. Possible values provided by AWS are: * aws.cognito.signin.user.admin. Custom scopes created in Resource * Servers are also supported.

*/ inline CreateUserPoolClientRequest& AddAllowedOAuthScopes(const char* value) { m_allowedOAuthScopesHasBeenSet = true; m_allowedOAuthScopes.push_back(value); return *this; } /** *

Set to true if the client is allowed to follow the OAuth protocol when * interacting with Cognito user pools.

*/ inline bool GetAllowedOAuthFlowsUserPoolClient() const{ return m_allowedOAuthFlowsUserPoolClient; } /** *

Set to true if the client is allowed to follow the OAuth protocol when * interacting with Cognito user pools.

*/ inline bool AllowedOAuthFlowsUserPoolClientHasBeenSet() const { return m_allowedOAuthFlowsUserPoolClientHasBeenSet; } /** *

Set to true if the client is allowed to follow the OAuth protocol when * interacting with Cognito user pools.

*/ inline void SetAllowedOAuthFlowsUserPoolClient(bool value) { m_allowedOAuthFlowsUserPoolClientHasBeenSet = true; m_allowedOAuthFlowsUserPoolClient = value; } /** *

Set to true if the client is allowed to follow the OAuth protocol when * interacting with Cognito user pools.

*/ inline CreateUserPoolClientRequest& WithAllowedOAuthFlowsUserPoolClient(bool value) { SetAllowedOAuthFlowsUserPoolClient(value); return *this;} /** *

The Amazon Pinpoint analytics configuration for collecting metrics for this * user pool.

In regions where Pinpoint is not available, Cognito * User Pools only supports sending events to Amazon Pinpoint projects in * us-east-1. In regions where Pinpoint is available, Cognito User Pools will * support sending events to Amazon Pinpoint projects within that same region.

* */ inline const AnalyticsConfigurationType& GetAnalyticsConfiguration() const{ return m_analyticsConfiguration; } /** *

The Amazon Pinpoint analytics configuration for collecting metrics for this * user pool.

In regions where Pinpoint is not available, Cognito * User Pools only supports sending events to Amazon Pinpoint projects in * us-east-1. In regions where Pinpoint is available, Cognito User Pools will * support sending events to Amazon Pinpoint projects within that same region.

* */ inline bool AnalyticsConfigurationHasBeenSet() const { return m_analyticsConfigurationHasBeenSet; } /** *

The Amazon Pinpoint analytics configuration for collecting metrics for this * user pool.

In regions where Pinpoint is not available, Cognito * User Pools only supports sending events to Amazon Pinpoint projects in * us-east-1. In regions where Pinpoint is available, Cognito User Pools will * support sending events to Amazon Pinpoint projects within that same region.

* */ inline void SetAnalyticsConfiguration(const AnalyticsConfigurationType& value) { m_analyticsConfigurationHasBeenSet = true; m_analyticsConfiguration = value; } /** *

The Amazon Pinpoint analytics configuration for collecting metrics for this * user pool.

In regions where Pinpoint is not available, Cognito * User Pools only supports sending events to Amazon Pinpoint projects in * us-east-1. In regions where Pinpoint is available, Cognito User Pools will * support sending events to Amazon Pinpoint projects within that same region.

* */ inline void SetAnalyticsConfiguration(AnalyticsConfigurationType&& value) { m_analyticsConfigurationHasBeenSet = true; m_analyticsConfiguration = std::move(value); } /** *

The Amazon Pinpoint analytics configuration for collecting metrics for this * user pool.

In regions where Pinpoint is not available, Cognito * User Pools only supports sending events to Amazon Pinpoint projects in * us-east-1. In regions where Pinpoint is available, Cognito User Pools will * support sending events to Amazon Pinpoint projects within that same region.

* */ inline CreateUserPoolClientRequest& WithAnalyticsConfiguration(const AnalyticsConfigurationType& value) { SetAnalyticsConfiguration(value); return *this;} /** *

The Amazon Pinpoint analytics configuration for collecting metrics for this * user pool.

In regions where Pinpoint is not available, Cognito * User Pools only supports sending events to Amazon Pinpoint projects in * us-east-1. In regions where Pinpoint is available, Cognito User Pools will * support sending events to Amazon Pinpoint projects within that same region.

* */ inline CreateUserPoolClientRequest& WithAnalyticsConfiguration(AnalyticsConfigurationType&& value) { SetAnalyticsConfiguration(std::move(value)); return *this;} /** *

Use this setting to choose which errors and responses are returned by Cognito * APIs during authentication, account confirmation, and password recovery when the * user does not exist in the user pool. When set to ENABLED and the * user does not exist, authentication returns an error indicating either the * username or password was incorrect, and account confirmation and password * recovery return a response indicating a code was sent to a simulated * destination. When set to LEGACY, those APIs will return a * UserNotFoundException exception if the user does not exist in the * user pool.

Valid values include:

  • ENABLED - * This prevents user existence-related errors.

  • * LEGACY - This represents the old behavior of Cognito where user * existence related errors are not prevented.

After * February 15th 2020, the value of PreventUserExistenceErrors will * default to ENABLED for newly created user pool clients if no value * is provided.

*/ inline const PreventUserExistenceErrorTypes& GetPreventUserExistenceErrors() const{ return m_preventUserExistenceErrors; } /** *

Use this setting to choose which errors and responses are returned by Cognito * APIs during authentication, account confirmation, and password recovery when the * user does not exist in the user pool. When set to ENABLED and the * user does not exist, authentication returns an error indicating either the * username or password was incorrect, and account confirmation and password * recovery return a response indicating a code was sent to a simulated * destination. When set to LEGACY, those APIs will return a * UserNotFoundException exception if the user does not exist in the * user pool.

Valid values include:

  • ENABLED - * This prevents user existence-related errors.

  • * LEGACY - This represents the old behavior of Cognito where user * existence related errors are not prevented.

After * February 15th 2020, the value of PreventUserExistenceErrors will * default to ENABLED for newly created user pool clients if no value * is provided.

*/ inline bool PreventUserExistenceErrorsHasBeenSet() const { return m_preventUserExistenceErrorsHasBeenSet; } /** *

Use this setting to choose which errors and responses are returned by Cognito * APIs during authentication, account confirmation, and password recovery when the * user does not exist in the user pool. When set to ENABLED and the * user does not exist, authentication returns an error indicating either the * username or password was incorrect, and account confirmation and password * recovery return a response indicating a code was sent to a simulated * destination. When set to LEGACY, those APIs will return a * UserNotFoundException exception if the user does not exist in the * user pool.

Valid values include:

  • ENABLED - * This prevents user existence-related errors.

  • * LEGACY - This represents the old behavior of Cognito where user * existence related errors are not prevented.

After * February 15th 2020, the value of PreventUserExistenceErrors will * default to ENABLED for newly created user pool clients if no value * is provided.

*/ inline void SetPreventUserExistenceErrors(const PreventUserExistenceErrorTypes& value) { m_preventUserExistenceErrorsHasBeenSet = true; m_preventUserExistenceErrors = value; } /** *

Use this setting to choose which errors and responses are returned by Cognito * APIs during authentication, account confirmation, and password recovery when the * user does not exist in the user pool. When set to ENABLED and the * user does not exist, authentication returns an error indicating either the * username or password was incorrect, and account confirmation and password * recovery return a response indicating a code was sent to a simulated * destination. When set to LEGACY, those APIs will return a * UserNotFoundException exception if the user does not exist in the * user pool.

Valid values include:

  • ENABLED - * This prevents user existence-related errors.

  • * LEGACY - This represents the old behavior of Cognito where user * existence related errors are not prevented.

After * February 15th 2020, the value of PreventUserExistenceErrors will * default to ENABLED for newly created user pool clients if no value * is provided.

*/ inline void SetPreventUserExistenceErrors(PreventUserExistenceErrorTypes&& value) { m_preventUserExistenceErrorsHasBeenSet = true; m_preventUserExistenceErrors = std::move(value); } /** *

Use this setting to choose which errors and responses are returned by Cognito * APIs during authentication, account confirmation, and password recovery when the * user does not exist in the user pool. When set to ENABLED and the * user does not exist, authentication returns an error indicating either the * username or password was incorrect, and account confirmation and password * recovery return a response indicating a code was sent to a simulated * destination. When set to LEGACY, those APIs will return a * UserNotFoundException exception if the user does not exist in the * user pool.

Valid values include:

  • ENABLED - * This prevents user existence-related errors.

  • * LEGACY - This represents the old behavior of Cognito where user * existence related errors are not prevented.

After * February 15th 2020, the value of PreventUserExistenceErrors will * default to ENABLED for newly created user pool clients if no value * is provided.

*/ inline CreateUserPoolClientRequest& WithPreventUserExistenceErrors(const PreventUserExistenceErrorTypes& value) { SetPreventUserExistenceErrors(value); return *this;} /** *

Use this setting to choose which errors and responses are returned by Cognito * APIs during authentication, account confirmation, and password recovery when the * user does not exist in the user pool. When set to ENABLED and the * user does not exist, authentication returns an error indicating either the * username or password was incorrect, and account confirmation and password * recovery return a response indicating a code was sent to a simulated * destination. When set to LEGACY, those APIs will return a * UserNotFoundException exception if the user does not exist in the * user pool.

Valid values include:

  • ENABLED - * This prevents user existence-related errors.

  • * LEGACY - This represents the old behavior of Cognito where user * existence related errors are not prevented.

After * February 15th 2020, the value of PreventUserExistenceErrors will * default to ENABLED for newly created user pool clients if no value * is provided.

*/ inline CreateUserPoolClientRequest& WithPreventUserExistenceErrors(PreventUserExistenceErrorTypes&& value) { SetPreventUserExistenceErrors(std::move(value)); return *this;} private: Aws::String m_userPoolId; bool m_userPoolIdHasBeenSet; Aws::String m_clientName; bool m_clientNameHasBeenSet; bool m_generateSecret; bool m_generateSecretHasBeenSet; int m_refreshTokenValidity; bool m_refreshTokenValidityHasBeenSet; int m_accessTokenValidity; bool m_accessTokenValidityHasBeenSet; int m_idTokenValidity; bool m_idTokenValidityHasBeenSet; TokenValidityUnitsType m_tokenValidityUnits; bool m_tokenValidityUnitsHasBeenSet; Aws::Vector m_readAttributes; bool m_readAttributesHasBeenSet; Aws::Vector m_writeAttributes; bool m_writeAttributesHasBeenSet; Aws::Vector m_explicitAuthFlows; bool m_explicitAuthFlowsHasBeenSet; Aws::Vector m_supportedIdentityProviders; bool m_supportedIdentityProvidersHasBeenSet; Aws::Vector m_callbackURLs; bool m_callbackURLsHasBeenSet; Aws::Vector m_logoutURLs; bool m_logoutURLsHasBeenSet; Aws::String m_defaultRedirectURI; bool m_defaultRedirectURIHasBeenSet; Aws::Vector m_allowedOAuthFlows; bool m_allowedOAuthFlowsHasBeenSet; Aws::Vector m_allowedOAuthScopes; bool m_allowedOAuthScopesHasBeenSet; bool m_allowedOAuthFlowsUserPoolClient; bool m_allowedOAuthFlowsUserPoolClientHasBeenSet; AnalyticsConfigurationType m_analyticsConfiguration; bool m_analyticsConfigurationHasBeenSet; PreventUserExistenceErrorTypes m_preventUserExistenceErrors; bool m_preventUserExistenceErrorsHasBeenSet; }; } // namespace Model } // namespace CognitoIdentityProvider } // namespace Aws