class Aws::CognitoIdentityProvider::Types::SignUpRequest

Represents the request to register a user.

@note When making an API call, you may pass SignUpRequest

data as a hash:

    {
      client_id: "ClientIdType", # required
      secret_hash: "SecretHashType",
      username: "UsernameType", # required
      password: "PasswordType", # required
      user_attributes: [
        {
          name: "AttributeNameType", # required
          value: "AttributeValueType",
        },
      ],
      validation_data: [
        {
          name: "AttributeNameType", # required
          value: "AttributeValueType",
        },
      ],
      analytics_metadata: {
        analytics_endpoint_id: "StringType",
      },
      user_context_data: {
        encoded_data: "StringType",
      },
      client_metadata: {
        "StringType" => "StringType",
      },
    }

@!attribute [rw] client_id

The ID of the client associated with the user pool.
@return [String]

@!attribute [rw] secret_hash

A keyed-hash message authentication code (HMAC) calculated using the
secret key of a user pool client and username plus the client ID in
the message.
@return [String]

@!attribute [rw] username

The user name of the user you wish to register.
@return [String]

@!attribute [rw] password

The password of the user you wish to register.
@return [String]

@!attribute [rw] user_attributes

An array of name-value pairs representing user attributes.

For custom attributes, you must prepend the `custom:` prefix to the
attribute name.
@return [Array<Types::AttributeType>]

@!attribute [rw] validation_data

The validation data in the request to register a user.
@return [Array<Types::AttributeType>]

@!attribute [rw] analytics_metadata

The Amazon Pinpoint analytics metadata for collecting metrics for
`SignUp` calls.
@return [Types::AnalyticsMetadataType]

@!attribute [rw] user_context_data

Contextual data such as the user's device fingerprint, IP address,
or location used for evaluating the risk of an unexpected event by
Amazon Cognito advanced security.
@return [Types::UserContextDataType]

@!attribute [rw] client_metadata

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

You create custom workflows by assigning Lambda functions to user
pool triggers. When you use the SignUp API action, Amazon Cognito
invokes any functions that are assigned to the following triggers:
*pre sign-up*, *custom message*, and *post confirmation*. When
Amazon Cognito invokes any of these functions, it passes a JSON
payload, which the function receives as input. This payload contains
a `clientMetadata` attribute, which provides the data that you
assigned to the ClientMetadata parameter in your SignUp request. In
your function code in Lambda, you can process the `clientMetadata`
value to enhance your workflow for your specific needs.

For more information, see [Customizing User Pool Workflows with
Lambda Triggers][1] in the *Amazon Cognito Developer Guide*.

<note markdown="1"> Take the following limitations into consideration when you use the
ClientMetadata parameter:

 * Amazon Cognito does not store the ClientMetadata value. This data
  is available only to Lambda triggers that are assigned to a user
  pool to support custom workflows. If your user pool configuration
  does not include triggers, the ClientMetadata parameter serves no
  purpose.

* Amazon Cognito does not validate the ClientMetadata value.

* Amazon Cognito does not encrypt the the ClientMetadata value, so
  don't use it to provide sensitive information.

 </note>

[1]: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html
@return [Hash<String,String>]

@see docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SignUpRequest AWS API Documentation

Constants

SENSITIVE