# OriginOptions

Options to define an Origin.

- Source: [`aws-cloudfront/lib/origin.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/aws-cloudfront/lib/origin.ts#L102)
- Type last changed: v2.216.0 · 22 Sep 2025

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import * as cdk from 'aws-cdk-lib';
import { aws_cloudfront as cloudfront } from 'aws-cdk-lib';
const originOptions: cloudfront.OriginOptions = {
  connectionAttempts: 123,
  connectionTimeout: cdk.Duration.minutes(30),
  customHeaders: {
    customHeadersKey: 'customHeaders',
  },
  originAccessControlId: 'originAccessControlId',
  originId: 'originId',
  originShieldEnabled: false,
  originShieldRegion: 'originShieldRegion',
  responseCompletionTimeout: cdk.Duration.minutes(30),
};
```

## Properties

- `connectionAttempts`: number = 3 — The number of times that CloudFront attempts to connect to the origin;

  valid values are 1, 2, or 3 attempts.

- `connectionTimeout`: [Duration](/cdk/api/v2/docs/aws-cdk-lib.Duration.html) = Duration.seconds(10) — The number of seconds that CloudFront waits when trying to establish a connection to the origin.

  Valid values are 1-10 seconds, inclusive.

- `customHeaders`: { [key: string]: string } = {} — A list of HTTP header names and values that CloudFront adds to requests it sends to the origin.

- `originAccessControlId`: string = no origin access control — The unique identifier of an origin access control for this origin.

- `originId`: string = an originid will be generated for you — A unique identifier for the origin.

  This value must be unique within the distribution.

  **Default:** an originid will be generated for you

- `originShieldEnabled`: boolean = true — Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false.

- `originShieldRegion`: string = origin shield not enabled — When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance.

- `responseCompletionTimeout`: [Duration](/cdk/api/v2/docs/aws-cdk-lib.Duration.html) = undefined - AWS CloudFront default is not enforcing a maximum value — The time that a request from CloudFront to the origin can stay open and wait for a response.

  If the complete response isn't received from the origin by this time, CloudFront ends the connection.

  Valid values are 1-3600 seconds, inclusive.

  **Default:** undefined - AWS CloudFront default is not enforcing a maximum value
