/aws-cdk-ses-domain-identity

Constructs for provisioning and referencing domain identities which can be used in SES RuleSets and Actions Construct.

Primary LanguageTypeScriptMIT LicenseMIT

SES Domain Identity Construct for AWS CDK

Build Status Semantic Release enabled Renovate enabled MIT license

This package provides Constructs for provisioning & validating SES Domain Identity which can be used in SES.

Inspired from Automatic DNS-validated certificates using Route 53 of aws-cdk-lib/aws-certificatemanager package.

This package automatically validates SES Domain Identity like aws-cdk-lib/aws-certificatemanager does.


About CDK Compatibility

Now aws-cdk-ses-domain-identity has been migrated to CDK v2. The major version of aws-cdk-ses-domain-identity matches to compatible CDK version.

  • For CDK v1 users: Use 1.x.x version
    • npm i aws-cdk-ses-domain-identity@1 --save
  • For CDK v2 users: Use 2.x.x version
    • npm i aws-cdk-ses-domain-identity@latest --save
    • or npm i aws-cdk-ses-domain-identity@2 --save

Example

import * as route53 from "aws-cdk-lib/aws-route53";
import { DnsValidatedDomainIdentity } from "aws-cdk-ses-domain-identity";

// ... (truncated)
    const hostedZone = route53.HostedZone.fromLookup(this, 'HostedZone', {
      domainName: 'example.com',
      privateZone: false,
    });

    const identity = new DnsValidatedDomainIdentity(this, 'DomainIdentity', {
      domainName: 'example.com',
      dkim: true,
      region: 'us-east-1',
      hostedZone,
    });
// ... (truncated)

Constructs

DnsValidatedDomainIdentity

Initializer

new DnsValidatedDomainIdentity(scope: Construct, id: string, props?: DnsValidatedDomainIdentityProps)

Construct Props

interface DnsValidatedDomainIdentityProps {
  /**
   * Fully-qualified domain name to request a domain identity for.
   */
  readonly domainName: string;

  /**
   * Whether to configure DKIM on domain identity.
   * @default true
   */
  readonly dkim?: boolean;

  /**
   * Route 53 Hosted Zone used to perform DNS validation of the request.  The zone
   * must be authoritative for the domain name specified in the Domain Identity Request.
   */
  readonly hostedZone: route53.IHostedZone;
  /**
   * AWS region that will validate the domain identity. This is needed especially
   * for domain identity used for AWS SES services, which require the region
   * to be one of SES supported regions.
   *
   * @default the region the stack is deployed in.
   */
  readonly region?: string;

  /**
   * Role to use for the custom resource that creates the validated domain identity
   *
   * @default - A new role will be created
   */
  readonly customResourceRole?: iam.IRole;
}

Properties

Name Type Description
identityArn string The ARN of the domain identity.

License

MIT

See full license on mooyoul.mit-license.org