Skip to content
This repository has been archived by the owner on May 9, 2024. It is now read-only.

AWS CDK construct to create and verify SES identity with DKIM in Route53 hosted zone

License

Notifications You must be signed in to change notification settings

Malanius/cdk-verified-ses-identity

Repository files navigation

CKD Verified SES identity

Warning

This construct is now deprecated and no longer maintained. Use CDK SES EmailIdentity instead. It does the same thing directly in CDK without the need for a custom handler and allows you to set grants on the identity as well.

This construct library allows you to create SES identity with identity and DKIM verification records under a hosted zone in Route53.

Requirements

Any domain identity you're creating and verifying with this construct must be under already existing hosted zone in Route53. Domains hosted anywhere else are not supported.

Usage

  1. Install the construct library:

    npm i @malanius/cdk-verified-ses-identity
  2. Import the construct:

    import {VerifiedSESIdentity} from '@malanius/cdk-verified-ses-identity';
  3. Use the construct in your stack:

    const identity = new VerifiedSESIdentity(this, 'Identity', {
      // Hosted zone domain name under which the verification records are created
      baseDomain: 'example.xyz',
      // Optional, will be prepednded to base domain name, i.e. mail.example.xyz
      domainPrefix: 'mail',
    });

Note on versioning

For CDK v1, this construct version followed CDK version due to occuring discrepancies between module versions used and CDK app and this construct. This could happen when app was initialized on certain version and this module was instaled at later time.

Since CDK v2 has all modules packed inside single package dependency, this can no longer happen so v2 of this construct lib specifies "aws-cdk-lib": "^2.0.0" only and doesn't follow the CDK version anymore and uses SemVer on it's own.

As CDK v1 is no longer supported, this construct lib is no longer maintained for v1 version as of 2023-06-01. Use CDK v2 and v2 of this construct lib instead.

Interesting points

  • update of the identity is handled by creation and verification of new identity and returned to CloudFormation, when the outputed physical ID returned from custom resource handler differs from the previous one CFN automatically calls the delete operation with previous physical ID