Class: AWSCDK::Cognito::CfnUserPool::EmailConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
cognito/cfn_user_pool.rb

Overview

The email configuration of your user pool.

The email configuration type sets your preferred sending method, AWS Region, and sender for messages from your user pool.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(configuration_set: nil, email_sending_account: nil, from: nil, reply_to_email_address: nil, source_arn: nil) ⇒ EmailConfigurationProperty

Returns a new instance of EmailConfigurationProperty.

Parameters:

  • configuration_set (String, nil) (defaults to: nil)

    The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service.

  • email_sending_account (String, nil) (defaults to: nil)

    Specifies whether Amazon Cognito uses its built-in functionality to send your users email messages, or uses your Amazon Simple Email Service email configuration.

  • from (String, nil) (defaults to: nil)

    Either the sender’s email address or the sender’s name with their email address.

  • reply_to_email_address (String, nil) (defaults to: nil)

    The destination to which the receiver of the email should reply.

  • source_arn (String, nil) (defaults to: nil)

    The ARN of a verified email address or an address from a verified domain in Amazon SES.



1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
# File 'cognito/cfn_user_pool.rb', line 1240

def initialize(configuration_set: nil, email_sending_account: nil, from: nil, reply_to_email_address: nil, source_arn: nil)
  @configuration_set = configuration_set
  Jsii::Type.check_type(@configuration_set, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "configurationSet") unless @configuration_set.nil?
  @email_sending_account = 
  Jsii::Type.check_type(@email_sending_account, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "emailSendingAccount") unless @email_sending_account.nil?
  @from = from
  Jsii::Type.check_type(@from, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "from") unless @from.nil?
  @reply_to_email_address = reply_to_email_address
  Jsii::Type.check_type(@reply_to_email_address, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "replyToEmailAddress") unless @reply_to_email_address.nil?
  @source_arn = source_arn
  Jsii::Type.check_type(@source_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sourceArn") unless @source_arn.nil?
end

Instance Attribute Details

#configuration_setString? (readonly)

The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service.

A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails:

  • Event publishing - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch
  • IP pool management - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets.


1262
1263
1264
# File 'cognito/cfn_user_pool.rb', line 1262

def configuration_set
  @configuration_set
end

#email_sending_accountString? (readonly)

Specifies whether Amazon Cognito uses its built-in functionality to send your users email messages, or uses your Amazon Simple Email Service email configuration.

Specify one of the following values:

  • COGNITO_DEFAULT - When Amazon Cognito emails your users, it uses its built-in email functionality. When you use the default option, Amazon Cognito allows only a limited number of emails each day for your user pool. For typical production environments, the default email limit is less than the required delivery volume. To achieve a higher delivery volume, specify DEVELOPER to use your Amazon SES email configuration.

To look up the email delivery limit for the default option, see Limits in the Amazon Cognito Developer Guide .

The default FROM address is no-reply@verificationemail.com . To customize the FROM address, provide the Amazon Resource Name (ARN) of an Amazon SES verified email address for the SourceArn parameter.

  • DEVELOPER - When Amazon Cognito emails your users, it uses your Amazon SES configuration. Amazon Cognito calls Amazon SES on your behalf to send email from your verified email address. When you use this option, the email delivery limits are the same limits that apply to your Amazon SES verified email address in your AWS account .

If you use this option, provide the ARN of an Amazon SES verified email address for the SourceArn parameter.

Before Amazon Cognito can email your users, it requires additional permissions to call Amazon SES on your behalf. When you update your user pool with this option, Amazon Cognito creates a service-linked role , which is a type of role in your AWS account . This role contains the permissions that allow you to access Amazon SES and send email messages from your email address. For more information about the service-linked role that Amazon Cognito creates, see Using Service-Linked Roles for Amazon Cognito in the Amazon Cognito Developer Guide .



1281
1282
1283
# File 'cognito/cfn_user_pool.rb', line 1281

def 
  @email_sending_account
end

#fromString? (readonly)

Either the sender’s email address or the sender’s name with their email address.

For example, testuser@example.com or Test User <testuser@example.com> . This address appears before the body of the email.



1288
1289
1290
# File 'cognito/cfn_user_pool.rb', line 1288

def from
  @from
end

#reply_to_email_addressString? (readonly)

The destination to which the receiver of the email should reply.



1293
1294
1295
# File 'cognito/cfn_user_pool.rb', line 1293

def reply_to_email_address
  @reply_to_email_address
end

#source_arnString? (readonly)

The ARN of a verified email address or an address from a verified domain in Amazon SES.

You can set a SourceArn email from a verified domain only with an API request. You can set a verified email address, but not an address in a verified domain, in the Amazon Cognito console. Amazon Cognito uses the email address that you provide in one of the following ways, depending on the value that you specify for the EmailSendingAccount parameter:

  • If you specify COGNITO_DEFAULT , Amazon Cognito uses this address as the custom FROM address when it emails your users using its built-in email account.
  • If you specify DEVELOPER , Amazon Cognito emails your users with this address by calling Amazon SES on your behalf.

The Region value of the SourceArn parameter must indicate a supported AWS Region of your user pool. Typically, the Region in the SourceArn and the user pool Region are the same. For more information, see Amazon SES email configuration regions in the Amazon Cognito Developer Guide .



1305
1306
1307
# File 'cognito/cfn_user_pool.rb', line 1305

def source_arn
  @source_arn
end

Class Method Details

.jsii_propertiesObject



1307
1308
1309
1310
1311
1312
1313
1314
1315
# File 'cognito/cfn_user_pool.rb', line 1307

def self.jsii_properties
  {
    :configuration_set => "configurationSet",
    :email_sending_account => "emailSendingAccount",
    :from => "from",
    :reply_to_email_address => "replyToEmailAddress",
    :source_arn => "sourceArn",
  }
end

Instance Method Details

#to_jsiiObject



1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
# File 'cognito/cfn_user_pool.rb', line 1317

def to_jsii
  result = {}
  result.merge!({
    "configurationSet" => @configuration_set,
    "emailSendingAccount" => @email_sending_account,
    "from" => @from,
    "replyToEmailAddress" => @reply_to_email_address,
    "sourceArn" => @source_arn,
  })
  result.compact
end