AwsRoute53RecordArgs

AwsRoute53RecordArgs = Omit<aws.route53.RecordArgs, 'name' | 'type'> & { albAlias?: AwsRoute53AlbAliasArgs; globalAcceleratorAlias?: AwsRoute53GlobalAcceleratorAliasArgs; name: string; privateZone?: never; type: string | AwsRoute53RecordTypeMap; zoneId: pulumi.Input<string>; zoneName?: never } | Omit<aws.route53.RecordArgs, 'name' | 'zoneId' | 'type'> & { albAlias?: AwsRoute53AlbAliasArgs; globalAcceleratorAlias?: AwsRoute53GlobalAcceleratorAliasArgs; name: string; privateZone?: pulumi.Input<boolean>; type: string | AwsRoute53RecordTypeMap; zoneId?: never; zoneName: pulumi.Input<string> }

Input arguments for the record capability of AwsRoute53.

Remarks

This service-level input extends aws.route53.RecordArgs with convenience behaviours:

  • Resolve zoneName to zoneId.
  • Expand a keyed type: { A: true, AAAA: true } map into multiple underlying records.
  • Create alias records for ALB and Global Accelerator via lookups.
  • Disallow ttl and records when any alias mode is used (aliases, albAlias, or globalAcceleratorAlias).

Exactly one zone selector must be provided: zoneId or zoneName.

Example

CODE
const recordArgs: AwsRoute53RecordArgs = {
  zoneName: 'example.com',
  name: 'api.example.com',
  type: { A: true, AAAA: true },
  albAlias: {
    loadBalancerName: 'public-ingress',
  },
};