# Alpn

The ALPN protocol identifier.

- Source: [`aws-route53/lib/record-set.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-route53/lib/record-set.ts#L1046)
- Type last changed: v2.216.0 · 22 Sep 2025

## Example

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

declare const myZone: route53.HostedZone;
declare const distribution: cloudfront.CloudFrontWebDistribution;
// Alias to CloudFront target
new route53.HttpsRecord(this, 'HttpsRecord-CloudFrontAlias', {
  zone: myZone,
  target: route53.RecordTarget.fromAlias(new targets.CloudFrontTarget(distribution)),
});
// ServiceMode (priority >= 1)
new route53.HttpsRecord(this, 'HttpsRecord-ServiceMode', {
  zone: myZone,
  values: [route53.HttpsRecordValue.service({ alpn: [route53.Alpn.H3, route53.Alpn.H2] })],
});
// AliasMode (priority = 0)
new route53.HttpsRecord(this, 'HttpsRecord-AliasMode', {
  zone: myZone,
  values: [route53.HttpsRecordValue.alias('service.example.com')],
});
```

## Properties

- `H2`: [Alpn](/cdk/api/v2/docs/aws-cdk-lib.aws_route53.Alpn.html) (static) — HTTP2.

- `H3`: [Alpn](/cdk/api/v2/docs/aws-cdk-lib.aws_route53.Alpn.html) (static) — HTTP3 (QUIC).

- `HTTP1_1`: [Alpn](/cdk/api/v2/docs/aws-cdk-lib.aws_route53.Alpn.html) (static) — HTTP/1.1.

- `protocol`: string — The ALPN protocol identifier.

## Methods

- `of(protocol: string): Alpn // chainable` (static) — A custom ALPN protocol identifier.

  **Parameters**

  - `protocol` — The ALPN protocol identifier.
