class Aws::CloudFront::Types::Origin

An origin.

An origin is the location where content is stored, and from which CloudFront gets content to serve to viewers. To specify an origin:

For the current maximum number of origins that you can specify per distribution, see [General Quotas on Web Distributions] in the *Amazon CloudFront Developer Guide* (quotas were formerly referred to as limits).

[1]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits-web-distributions

@note When making an API call, you may pass Origin

data as a hash:

    {
      id: "string", # required
      domain_name: "string", # required
      origin_path: "string",
      custom_headers: {
        quantity: 1, # required
        items: [
          {
            header_name: "string", # required
            header_value: "string", # required
          },
        ],
      },
      s3_origin_config: {
        origin_access_identity: "string", # required
      },
      custom_origin_config: {
        http_port: 1, # required
        https_port: 1, # required
        origin_protocol_policy: "http-only", # required, accepts http-only, match-viewer, https-only
        origin_ssl_protocols: {
          quantity: 1, # required
          items: ["SSLv3"], # required, accepts SSLv3, TLSv1, TLSv1.1, TLSv1.2
        },
        origin_read_timeout: 1,
        origin_keepalive_timeout: 1,
      },
      connection_attempts: 1,
      connection_timeout: 1,
      origin_shield: {
        enabled: false, # required
        origin_shield_region: "OriginShieldRegion",
      },
    }

@!attribute [rw] id

A unique identifier for the origin. This value must be unique within
the distribution.

Use this value to specify the `TargetOriginId` in a `CacheBehavior`
or `DefaultCacheBehavior`.
@return [String]

@!attribute [rw] domain_name

The domain name for the origin.

For more information, see [Origin Domain Name][1] in the *Amazon
CloudFront Developer Guide*.

[1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesDomainName
@return [String]

@!attribute [rw] origin_path

An optional path that CloudFront appends to the origin domain name
when CloudFront requests content from the origin.

For more information, see [Origin Path][1] in the *Amazon CloudFront
Developer Guide*.

[1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginPath
@return [String]

@!attribute [rw] custom_headers

A list of HTTP header names and values that CloudFront adds to the
requests that it sends to the origin.

For more information, see [Adding Custom Headers to Origin
Requests][1] in the *Amazon CloudFront Developer Guide*.

[1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/add-origin-custom-headers.html
@return [Types::CustomHeaders]

@!attribute [rw] s3_origin_config

Use this type to specify an origin that is an Amazon S3 bucket that
is not configured with static website hosting. To specify any other
type of origin, including an Amazon S3 bucket that is configured
with static website hosting, use the `CustomOriginConfig` type
instead.
@return [Types::S3OriginConfig]

@!attribute [rw] custom_origin_config

Use this type to specify an origin that is not an Amazon S3 bucket,
with one exception. If the Amazon S3 bucket is configured with
static website hosting, use this type. If the Amazon S3 bucket is
not configured with static website hosting, use the `S3OriginConfig`
type instead.
@return [Types::CustomOriginConfig]

@!attribute [rw] connection_attempts

The number of times that CloudFront attempts to connect to the
origin. The minimum number is 1, the maximum is 3, and the default
(if you don’t specify otherwise) is 3.

For a custom origin (including an Amazon S3 bucket that’s configured
with static website hosting), this value also specifies the number
of times that CloudFront attempts to get a response from the origin,
in the case of an [Origin Response Timeout][1].

For more information, see [Origin Connection Attempts][2] in the
*Amazon CloudFront Developer Guide*.

[1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout
[2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-attempts
@return [Integer]

@!attribute [rw] connection_timeout

The number of seconds that CloudFront waits when trying to establish
a connection to the origin. The minimum timeout is 1 second, the
maximum is 10 seconds, and the default (if you don’t specify
otherwise) is 10 seconds.

For more information, see [Origin Connection Timeout][1] in the
*Amazon CloudFront Developer Guide*.

[1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-timeout
@return [Integer]

@!attribute [rw] origin_shield

CloudFront Origin Shield. Using Origin Shield can help reduce the
load on your origin.

For more information, see [Using Origin Shield][1] in the *Amazon
CloudFront Developer Guide*.

[1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html
@return [Types::OriginShield]

@see docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/Origin AWS API Documentation

Constants

SENSITIVE