java.lang.Object
software.amazon.awssdk.services.cloudfront.model.Origin
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<Origin.Builder,Origin>

@Generated("software.amazon.awssdk:codegen") public final class Origin extends Object implements SdkPojo, Serializable, ToCopyableBuilder<Origin.Builder,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:

  • 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 Elemental MediaPackage endpoint

    • An 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).

See Also:
  • Method Details

    • id

      public final String 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.

      Returns:
      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.

    • domainName

      public final String domainName()

      The domain name for the origin.

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

      Returns:
      The domain name for the origin.

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

    • originPath

      public final String originPath()

      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.

      Returns:
      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.

    • customHeaders

      public final CustomHeaders 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.

      Returns:
      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.

    • s3OriginConfig

      public final S3OriginConfig 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.

      Returns:
      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.
    • customOriginConfig

      public final CustomOriginConfig 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.

      Returns:
      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.
    • connectionAttempts

      public final Integer connectionAttempts()

      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.

      Returns:
      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.

    • connectionTimeout

      public final Integer connectionTimeout()

      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.

      Returns:
      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.

    • originShield

      public final OriginShield 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.

      Returns:
      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.

    • originAccessControlId

      public final String originAccessControlId()

      The unique identifier of an origin access control for this origin.

      For more information, see Restricting access to an Amazon S3 origin in the Amazon CloudFront Developer Guide.

      Returns:
      The unique identifier of an origin access control for this origin.

      For more information, see Restricting access to an Amazon S3 origin in the Amazon CloudFront Developer Guide.

    • toBuilder

      public Origin.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<Origin.Builder,Origin>
      Returns:
      a builder for type T
    • builder

      public static Origin.Builder builder()
    • serializableBuilderClass

      public static Class<? extends Origin.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.