Class: Aws::CloudFront::Types::Origin

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
lib/aws-sdk-cloudfront/types.rb

Overview

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",
  },
}

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:

  • Use ‘S3OriginConfig` to specify an Amazon S3 bucket that is not configured with static website hosting.

  • Use ‘CustomOriginConfig` to specify all other kinds of origins, including:

    • An Amazon S3 bucket that is configured with static website hosting

    • An Elastic Load Balancing load balancer

    • An AWS Elemental MediaPackage endpoint

    • An AWS Elemental MediaStore container

    • Any other HTTP server, running on an Amazon EC2 instance or any other kind of host

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

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#connection_attemptsInteger

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].

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

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

Returns:

  • (Integer)


9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
# File 'lib/aws-sdk-cloudfront/types.rb', line 9350

class Origin < Struct.new(
  :id,
  :domain_name,
  :origin_path,
  :custom_headers,
  :s3_origin_config,
  :custom_origin_config,
  :connection_attempts,
  :connection_timeout,
  :origin_shield)
  SENSITIVE = []
  include Aws::Structure
end

#connection_timeoutInteger

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] in the *Amazon CloudFront Developer Guide*.

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

Returns:

  • (Integer)


9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
# File 'lib/aws-sdk-cloudfront/types.rb', line 9350

class Origin < Struct.new(
  :id,
  :domain_name,
  :origin_path,
  :custom_headers,
  :s3_origin_config,
  :custom_origin_config,
  :connection_attempts,
  :connection_timeout,
  :origin_shield)
  SENSITIVE = []
  include Aws::Structure
end

#custom_headersTypes::CustomHeaders

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] in the *Amazon CloudFront Developer Guide*.

[1]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/add-origin-custom-headers.html



9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
# File 'lib/aws-sdk-cloudfront/types.rb', line 9350

class Origin < Struct.new(
  :id,
  :domain_name,
  :origin_path,
  :custom_headers,
  :s3_origin_config,
  :custom_origin_config,
  :connection_attempts,
  :connection_timeout,
  :origin_shield)
  SENSITIVE = []
  include Aws::Structure
end

#custom_origin_configTypes::CustomOriginConfig

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.



9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
# File 'lib/aws-sdk-cloudfront/types.rb', line 9350

class Origin < Struct.new(
  :id,
  :domain_name,
  :origin_path,
  :custom_headers,
  :s3_origin_config,
  :custom_origin_config,
  :connection_attempts,
  :connection_timeout,
  :origin_shield)
  SENSITIVE = []
  include Aws::Structure
end

#domain_nameString

The domain name for the origin.

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

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

Returns:

  • (String)


9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
# File 'lib/aws-sdk-cloudfront/types.rb', line 9350

class Origin < Struct.new(
  :id,
  :domain_name,
  :origin_path,
  :custom_headers,
  :s3_origin_config,
  :custom_origin_config,
  :connection_attempts,
  :connection_timeout,
  :origin_shield)
  SENSITIVE = []
  include Aws::Structure
end

#idString

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`.

Returns:

  • (String)


9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
# File 'lib/aws-sdk-cloudfront/types.rb', line 9350

class Origin < Struct.new(
  :id,
  :domain_name,
  :origin_path,
  :custom_headers,
  :s3_origin_config,
  :custom_origin_config,
  :connection_attempts,
  :connection_timeout,
  :origin_shield)
  SENSITIVE = []
  include Aws::Structure
end

#origin_pathString

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

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

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

Returns:

  • (String)


9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
# File 'lib/aws-sdk-cloudfront/types.rb', line 9350

class Origin < Struct.new(
  :id,
  :domain_name,
  :origin_path,
  :custom_headers,
  :s3_origin_config,
  :custom_origin_config,
  :connection_attempts,
  :connection_timeout,
  :origin_shield)
  SENSITIVE = []
  include Aws::Structure
end

#origin_shieldTypes::OriginShield

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

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

[1]: docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html

Returns:



9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
# File 'lib/aws-sdk-cloudfront/types.rb', line 9350

class Origin < Struct.new(
  :id,
  :domain_name,
  :origin_path,
  :custom_headers,
  :s3_origin_config,
  :custom_origin_config,
  :connection_attempts,
  :connection_timeout,
  :origin_shield)
  SENSITIVE = []
  include Aws::Structure
end

#s3_origin_configTypes::S3OriginConfig

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.



9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
# File 'lib/aws-sdk-cloudfront/types.rb', line 9350

class Origin < Struct.new(
  :id,
  :domain_name,
  :origin_path,
  :custom_headers,
  :s3_origin_config,
  :custom_origin_config,
  :connection_attempts,
  :connection_timeout,
  :origin_shield)
  SENSITIVE = []
  include Aws::Structure
end