# BucketWebsiteTarget

Use a S3 as an alias record target.

Extends: BucketWebsiteTarget
Implements: IAliasRecordTarget

- Source: [`aws-route53-targets/lib/bucket-website-target.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-route53-targets/lib/bucket-website-target.ts#L12)
- Type last changed: v2.177.0 · 25 Jan 2025

## Example

```ts
import * as s3 from 'aws-cdk-lib/aws-s3';

const recordName = 'www';
const domainName = 'example.com';

const bucketWebsite = new s3.Bucket(this, 'BucketWebsite', {
  bucketName: [recordName, domainName].join('.'), // www.example.com
  publicReadAccess: true,
  websiteIndexDocument: 'index.html',
});

const zone = route53.HostedZone.fromLookup(this, 'Zone', { domainName }); // example.com

new route53.ARecord(this, 'AliasRecord', {
  zone,
  recordName, // www
  target: route53.RecordTarget.fromAlias(
    new targets.BucketWebsiteTarget(bucketWebsite, {
      evaluateTargetHealth: true,
    }),
  ),
});
```

## Initializer

```ts
new BucketWebsiteTarget(bucket: IBucket, props?: IAliasRecordTargetProps)
```

## Methods

- `bind(record: IRecordSet, _zone?: IHostedZone): AliasRecordTargetConfig` — Return hosted zone ID and DNS name, usable for Route53 alias targets.
