aws-cdk-ses-domain-identity

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

Usage no npm install needed!

<script type="module">
  import awsCdkSesDomainIdentity from 'https://cdn.skypack.dev/aws-cdk-ses-domain-identity';
</script>

README

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