118 lines
3.4 KiB
TypeScript
118 lines
3.4 KiB
TypeScript
import type { Construct } from 'constructs';
|
|
/**
|
|
* Configuration for Cognito sending emails via Amazon SES
|
|
*/
|
|
export interface UserPoolSESOptions {
|
|
/**
|
|
* The verified Amazon SES email address that Cognito should
|
|
* use to send emails.
|
|
*
|
|
* The email address used must be a verified email address
|
|
* in Amazon SES and must be configured to allow Cognito to
|
|
* send emails.
|
|
*
|
|
* @see https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-email.html
|
|
*/
|
|
readonly fromEmail: string;
|
|
/**
|
|
* An optional name that should be used as the sender's name
|
|
* along with the email.
|
|
*
|
|
* @default - no name
|
|
*/
|
|
readonly fromName?: string;
|
|
/**
|
|
* The destination to which the receiver of the email should reply to.
|
|
*
|
|
* @default - same as the fromEmail
|
|
*/
|
|
readonly replyTo?: string;
|
|
/**
|
|
* The name of a configuration set in Amazon SES that should
|
|
* be applied to emails sent via Cognito.
|
|
*
|
|
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-configurationset
|
|
*
|
|
* @default - no configuration set
|
|
*/
|
|
readonly configurationSetName?: string;
|
|
/**
|
|
* Required if the UserPool region is different than the SES region.
|
|
*
|
|
* If sending emails with a Amazon SES verified email address,
|
|
* and the region that SES is configured is different than the
|
|
* region in which the UserPool is deployed, you must specify that
|
|
* region here.
|
|
*
|
|
* @default - The same region as the Cognito UserPool
|
|
*/
|
|
readonly sesRegion?: string;
|
|
/**
|
|
* SES Verified custom domain to be used to verify the identity
|
|
*
|
|
* @default - no domain
|
|
*/
|
|
readonly sesVerifiedDomain?: string;
|
|
}
|
|
/**
|
|
* Result of binding email settings with a user pool
|
|
*/
|
|
export interface UserPoolEmailConfig {
|
|
/**
|
|
* The name of the configuration set in SES.
|
|
*
|
|
* @default - none
|
|
*/
|
|
readonly configurationSet?: string;
|
|
/**
|
|
* Specifies whether to use Cognito's built in email functionality
|
|
* or SES.
|
|
*
|
|
* @default - Cognito built in email functionality
|
|
*/
|
|
readonly emailSendingAccount?: string;
|
|
/**
|
|
* Identifies either the sender's email address or the sender's
|
|
* name with their email address.
|
|
*
|
|
* If emailSendingAccount is DEVELOPER then this cannot be specified.
|
|
*
|
|
* @default 'no-reply@verificationemail.com'
|
|
*/
|
|
readonly from?: string;
|
|
/**
|
|
* The destination to which the receiver of the email should reply to.
|
|
*
|
|
* @default - same as `from`
|
|
*/
|
|
readonly replyToEmailAddress?: string;
|
|
/**
|
|
* The ARN of a verified email address in Amazon SES.
|
|
*
|
|
* required if emailSendingAccount is DEVELOPER or if
|
|
* 'from' is provided.
|
|
*
|
|
* @default - none
|
|
*/
|
|
readonly sourceArn?: string;
|
|
}
|
|
/**
|
|
* Configure how Cognito sends emails
|
|
*/
|
|
export declare abstract class UserPoolEmail {
|
|
/**
|
|
* Send email using Cognito
|
|
*/
|
|
static withCognito(replyTo?: string): UserPoolEmail;
|
|
/**
|
|
* Send email using SES
|
|
*/
|
|
static withSES(options: UserPoolSESOptions): UserPoolEmail;
|
|
/**
|
|
* Returns the email configuration for a Cognito UserPool
|
|
* that controls how Cognito will send emails
|
|
* @internal
|
|
*/
|
|
abstract _bind(scope: Construct): UserPoolEmailConfig;
|
|
}
|