Skip to content

common-creation/aws-cdk-ses-domain-identity

 
 

Repository files navigation

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 @common-creation/aws-cdk-ses-domain-identity has been migrated to CDK v2. The major version of @common-creation/aws-cdk-ses-domain-identity matches to compatible CDK version.

  • For CDK v1 users: Use 1.x.x version (released by upstream)
    • npm i aws-cdk-ses-domain-identity@1 --save
  • For CDK v2 users: Use 2.x.x version
    • npm i @common-creation/aws-cdk-ses-domain-identity@latest --save
    • or npm i @common-creation/aws-cdk-ses-domain-identity@2 --save

Example

import * as route53 from "aws-cdk-lib/aws-route53";
import { DnsValidatedDomainIdentity } from "@common-creation/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 License

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 99.5%
  • Other 0.5%