Skip to content

Commit fff86a9

Browse files
committed
fix(route53): warn when ttl is provided with alias target
When creating a Route53 RecordSet with an alias target, the ttl property is ignored since alias targets don't use TTL values. This change adds a warning annotation to inform users when they provide a ttl value that will be ignored. This improves developer experience by making it clear when a provided configuration option has no effect, helping users avoid confusion and potential misconfigurations.
1 parent 7490b92 commit fff86a9

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

packages/aws-cdk-lib/aws-route53/lib/record-set.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { IHostedZone } from './hosted-zone-ref';
77
import { CfnRecordSet } from './route53.generated';
88
import { determineFullyQualifiedDomainName } from './util';
99
import * as iam from '../../aws-iam';
10-
import { CustomResource, Duration, IResource, Names, RemovalPolicy, Resource, Token } from '../../core';
10+
import { Annotations, CustomResource, Duration, IResource, Names, RemovalPolicy, Resource, Token } from '../../core';
1111
import { ValidationError } from '../../core/lib/errors';
1212
import { addConstructMetadata } from '../../core/lib/metadata-resource';
1313
import { propertyInjectable } from '../../core/lib/prop-injectable';
@@ -389,6 +389,9 @@ export class RecordSet extends Resource implements IRecordSet {
389389
this.multiValueAnswer = props.multiValueAnswer;
390390

391391
const ttl = props.target.aliasTarget ? undefined : ((props.ttl && props.ttl.toSeconds()) ?? 1800).toString();
392+
if (props.target.aliasTarget && props.ttl != undefined) {
393+
Annotations.of(this).addWarningV2('aws-cdk-lib/aws-route53:ttlIgnored', 'Ignoring ttl since \'target\' uses an alias target');
394+
}
392395

393396
const recordName = determineFullyQualifiedDomainName(props.recordName || props.zone.zoneName, props.zone);
394397

0 commit comments

Comments
 (0)