@common-creation/aws-cdk-ses-domain-identity
Version:
Constructs for provisioning and referencing domain identities which can be used in SES RuleSets and Actions Construct.
106 lines (79 loc) • 3.5 kB
Markdown
# SES Domain Identity Construct for AWS CDK
[](https://github.com/mooyoul/aws-cdk-ses-domain-identity/actions)
[](https://github.com/semantic-release/semantic-release)
[](https://renovatebot.com/)
[](http://mooyoul.mit-license.org/)
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.](https://docs.aws.amazon.com/cdk/api/latest/docs/aws-certificatemanager-readme.html)
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
```typescript
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
```typescript
new DnsValidatedDomainIdentity(scope: Construct, id: string, props?: DnsValidatedDomainIdentityProps)
```
#### Construct Props
```typescript
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](LICENSE)