You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::CognitoIdentityProvider::Types::CreateUserPoolRequest

Inherits:
Struct
  • Object
show all
Defined in:
(unknown)

Overview

Note:

When passing CreateUserPoolRequest as input to an Aws::Client method, you can use a vanilla Hash:

{
  pool_name: "UserPoolNameType", # required
  policies: {
    password_policy: {
      minimum_length: 1,
      require_uppercase: false,
      require_lowercase: false,
      require_numbers: false,
      require_symbols: false,
      temporary_password_validity_days: 1,
    },
  },
  lambda_config: {
    pre_sign_up: "ArnType",
    custom_message: "ArnType",
    post_confirmation: "ArnType",
    pre_authentication: "ArnType",
    post_authentication: "ArnType",
    define_auth_challenge: "ArnType",
    create_auth_challenge: "ArnType",
    verify_auth_challenge_response: "ArnType",
    pre_token_generation: "ArnType",
    user_migration: "ArnType",
  },
  auto_verified_attributes: ["phone_number"], # accepts phone_number, email
  alias_attributes: ["phone_number"], # accepts phone_number, email, preferred_username
  username_attributes: ["phone_number"], # accepts phone_number, email
  sms_verification_message: "SmsVerificationMessageType",
  email_verification_message: "EmailVerificationMessageType",
  email_verification_subject: "EmailVerificationSubjectType",
  verification_message_template: {
    sms_message: "SmsVerificationMessageType",
    email_message: "EmailVerificationMessageType",
    email_subject: "EmailVerificationSubjectType",
    email_message_by_link: "EmailVerificationMessageByLinkType",
    email_subject_by_link: "EmailVerificationSubjectByLinkType",
    default_email_option: "CONFIRM_WITH_LINK", # accepts CONFIRM_WITH_LINK, CONFIRM_WITH_CODE
  },
  sms_authentication_message: "SmsVerificationMessageType",
  mfa_configuration: "OFF", # accepts OFF, ON, OPTIONAL
  device_configuration: {
    challenge_required_on_new_device: false,
    device_only_remembered_on_user_prompt: false,
  },
  email_configuration: {
    source_arn: "ArnType",
    reply_to_email_address: "EmailAddressType",
    email_sending_account: "COGNITO_DEFAULT", # accepts COGNITO_DEFAULT, DEVELOPER
    from: "StringType",
    configuration_set: "SESConfigurationSet",
  },
  sms_configuration: {
    sns_caller_arn: "ArnType", # required
    external_id: "StringType",
  },
  user_pool_tags: {
    "TagKeysType" => "TagValueType",
  },
  admin_create_user_config: {
    allow_admin_create_user_only: false,
    unused_account_validity_days: 1,
    invite_message_template: {
      sms_message: "SmsVerificationMessageType",
      email_message: "EmailVerificationMessageType",
      email_subject: "EmailVerificationSubjectType",
    },
  },
  schema: [
    {
      name: "CustomAttributeNameType",
      attribute_data_type: "String", # accepts String, Number, DateTime, Boolean
      developer_only_attribute: false,
      mutable: false,
      required: false,
      number_attribute_constraints: {
        min_value: "StringType",
        max_value: "StringType",
      },
      string_attribute_constraints: {
        min_length: "StringType",
        max_length: "StringType",
      },
    },
  ],
  user_pool_add_ons: {
    advanced_security_mode: "OFF", # required, accepts OFF, AUDIT, ENFORCED
  },
  username_configuration: {
    case_sensitive: false, # required
  },
  account_recovery_setting: {
    recovery_mechanisms: [
      {
        priority: 1, # required
        name: "verified_email", # required, accepts verified_email, verified_phone_number, admin_only
      },
    ],
  },
}

Represents the request to create a user pool.

Instance Attribute Summary collapse

Instance Attribute Details

#account_recovery_settingTypes::AccountRecoverySettingType

Use this setting to define which verified available method a user can use to recover their password when they call ForgotPassword. It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email.

Returns:

  • (Types::AccountRecoverySettingType)

    Use this setting to define which verified available method a user can use to recover their password when they call ForgotPassword.

#admin_create_user_configTypes::AdminCreateUserConfigType

The configuration for AdminCreateUser requests.

Returns:

#alias_attributesArray<String>

Attributes supported as an alias for this user pool. Possible values: phone_number, email, or preferred_username.

Returns:

  • (Array<String>)

    Attributes supported as an alias for this user pool.

#auto_verified_attributesArray<String>

The attributes to be auto-verified. Possible values: email, phone_number.

Returns:

  • (Array<String>)

    The attributes to be auto-verified.

#device_configurationTypes::DeviceConfigurationType

The device configuration.

Returns:

#email_configurationTypes::EmailConfigurationType

The email configuration.

Returns:

#email_verification_messageString

A string representing the email verification message.

Returns:

  • (String)

    A string representing the email verification message.

#email_verification_subjectString

A string representing the email verification subject.

Returns:

  • (String)

    A string representing the email verification subject.

#lambda_configTypes::LambdaConfigType

The Lambda trigger configuration information for the new user pool.

In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you will need to make an extra call to add permission for these event sources to invoke your Lambda function.

For more information on using the Lambda API to add permission, see AddPermission .

For adding permission using the AWS CLI, see add-permission .

Returns:

#mfa_configurationString

Specifies MFA configuration details.

Possible values:

  • OFF
  • ON
  • OPTIONAL

Returns:

  • (String)

    Specifies MFA configuration details.

#policiesTypes::UserPoolPolicyType

The policies associated with the new user pool.

Returns:

#pool_nameString

A string used to name the user pool.

Returns:

  • (String)

    A string used to name the user pool.

#schemaArray<Types::SchemaAttributeType>

An array of schema attributes for the new user pool. These attributes can be standard or custom attributes.

Returns:

#sms_authentication_messageString

A string representing the SMS authentication message.

Returns:

  • (String)

    A string representing the SMS authentication message.

#sms_configurationTypes::SmsConfigurationType

The SMS configuration.

Returns:

#sms_verification_messageString

A string representing the SMS verification message.

Returns:

  • (String)

    A string representing the SMS verification message.

#user_pool_add_onsTypes::UserPoolAddOnsType

Used to enable advanced security risk detection. Set the key AdvancedSecurityMode to the value \"AUDIT\".

Returns:

#user_pool_tagsHash<String,String>

The tag keys and values to assign to the 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.

Returns:

  • (Hash<String,String>)

    The tag keys and values to assign to the user pool.

#username_attributesArray<String>

Specifies whether email addresses or phone numbers can be specified as usernames when a user signs up.

Returns:

  • (Array<String>)

    Specifies whether email addresses or phone numbers can be specified as usernames when a user signs up.

#username_configurationTypes::UsernameConfigurationType

You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to False, users will be able to sign in using either \"username\" or \"Username\". This configuration is immutable once it has been set. For more information, see UsernameConfigurationType.

Returns:

#verification_message_templateTypes::VerificationMessageTemplateType

The template for the verification message that the user sees when the app requests permission to access the user\'s information.

Returns: