@Generated(value="software.amazon.awssdk:codegen") public final class CacheBehavior extends Object implements SdkPojo, Serializable, ToCopyableBuilder<CacheBehavior.Builder,CacheBehavior>
A complex type that describes how CloudFront processes requests.
You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin is never used.
For the current limit on the number of cache behaviors that you can add to a distribution, see Amazon CloudFront Limits in the AWS General Reference.
If you don't want to specify any cache behaviors, include only an empty CacheBehaviors
element. Don't
include an empty CacheBehavior
element, or CloudFront returns a MalformedXML
error.
To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an
empty CacheBehaviors
element.
To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.
For more information about cache behaviors, see Cache Behaviors in the Amazon CloudFront Developer Guide.
Modifier and Type | Class and Description |
---|---|
static interface |
CacheBehavior.Builder |
Modifier and Type | Method and Description |
---|---|
AllowedMethods |
allowedMethods()
Returns the value of the AllowedMethods property for this object.
|
static CacheBehavior.Builder |
builder() |
Boolean |
compress()
Whether you want CloudFront to automatically compress certain files for this cache behavior.
|
Long |
defaultTTL()
The default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another
request to your origin to determine whether the object has been updated.
|
boolean |
equals(Object obj) |
String |
fieldLevelEncryptionId()
The value of
ID for the field-level encryption configuration that you want CloudFront to use for
encrypting specific fields of data for a cache behavior or for the default cache behavior in your distribution. |
ForwardedValues |
forwardedValues()
A complex type that specifies how CloudFront handles query strings and cookies.
|
<T> Optional<T> |
getValueForField(String fieldName,
Class<T> clazz) |
int |
hashCode() |
LambdaFunctionAssociations |
lambdaFunctionAssociations()
A complex type that contains zero or more Lambda function associations for a cache behavior.
|
Long |
maxTTL()
The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another
request to your origin to determine whether the object has been updated.
|
Long |
minTTL()
The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another
request to your origin to determine whether the object has been updated.
|
String |
pathPattern()
The pattern (for example,
images/*.jpg ) that specifies which requests to apply the behavior to. |
List<SdkField<?>> |
sdkFields() |
static Class<? extends CacheBehavior.Builder> |
serializableBuilderClass() |
Boolean |
smoothStreaming()
Indicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin
that is associated with this cache behavior.
|
String |
targetOriginId()
The value of
ID for the origin that you want CloudFront to route requests to when a request matches
the path pattern either for a cache behavior or for the default cache behavior in your distribution. |
CacheBehavior.Builder |
toBuilder()
Take this object and create a builder that contains all of the current property values of this object.
|
String |
toString() |
TrustedSigners |
trustedSigners()
A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private
content.
|
ViewerProtocolPolicy |
viewerProtocolPolicy()
The protocol that viewers can use to access the files in the origin specified by
TargetOriginId when
a request matches the path pattern in PathPattern . |
String |
viewerProtocolPolicyAsString()
The protocol that viewers can use to access the files in the origin specified by
TargetOriginId when
a request matches the path pattern in PathPattern . |
copy
public String pathPattern()
The pattern (for example, images/*.jpg
) that specifies which requests to apply the behavior to. When
CloudFront receives a viewer request, the requested path is compared with path patterns in the order in which
cache behaviors are listed in the distribution.
You can optionally include a slash (/
) at the beginning of the path pattern. For example,
/images/*.jpg
. CloudFront behavior is the same with or without the leading /
.
The path pattern for the default cache behavior is *
and cannot be changed. If the request for an
object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default
cache behavior.
For more information, see Path Pattern in the Amazon CloudFront Developer Guide.
images/*.jpg
) that specifies which requests to apply the behavior
to. When CloudFront receives a viewer request, the requested path is compared with path patterns in the
order in which cache behaviors are listed in the distribution.
You can optionally include a slash (/
) at the beginning of the path pattern. For example,
/images/*.jpg
. CloudFront behavior is the same with or without the leading /
.
The path pattern for the default cache behavior is *
and cannot be changed. If the request
for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in
the default cache behavior.
For more information, see Path Pattern in the Amazon CloudFront Developer Guide.
public String targetOriginId()
The value of ID
for the origin that you want CloudFront to route requests to when a request matches
the path pattern either for a cache behavior or for the default cache behavior in your distribution.
ID
for the origin that you want CloudFront to route requests to when a request
matches the path pattern either for a cache behavior or for the default cache behavior in your
distribution.public ForwardedValues forwardedValues()
A complex type that specifies how CloudFront handles query strings and cookies.
public TrustedSigners trustedSigners()
A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.
If you want to require signed URLs in requests for objects in the target origin that match the
PathPattern
for this cache behavior, specify true
for Enabled
, and specify
the applicable values for Quantity
and Items
. For more information, see Serving Private
Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.
If you don't want to require signed URLs in requests for objects that match PathPattern
, specify
false
for Enabled
and 0
for Quantity
. Omit Items
.
To add, change, or remove one or more trusted signers, change Enabled
to true
(if it's
currently false
), change Quantity
as applicable, and specify all of the trusted signers
that you want to include in the updated distribution.
If you want to require signed URLs in requests for objects in the target origin that match the
PathPattern
for this cache behavior, specify true
for Enabled
, and
specify the applicable values for Quantity
and Items
. For more information, see
Serving
Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.
If you don't want to require signed URLs in requests for objects that match PathPattern
,
specify false
for Enabled
and 0
for Quantity
. Omit
Items
.
To add, change, or remove one or more trusted signers, change Enabled
to true
(if it's currently false
), change Quantity
as applicable, and specify all of
the trusted signers that you want to include in the updated distribution.
public ViewerProtocolPolicy viewerProtocolPolicy()
The protocol that viewers can use to access the files in the origin specified by TargetOriginId
when
a request matches the path pattern in PathPattern
. You can specify the following options:
allow-all
: Viewers can use HTTP or HTTPS.
redirect-to-https
: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of
301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the
new URL.
https-only
: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403
(Forbidden).
For more information about requiring the HTTPS protocol, see Using an HTTPS Connection to Access Your Objects in the Amazon CloudFront Developer Guide.
The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.
If the service returns an enum value that is not available in the current SDK version,
viewerProtocolPolicy
will return ViewerProtocolPolicy.UNKNOWN_TO_SDK_VERSION
. The raw value
returned by the service is available from viewerProtocolPolicyAsString()
.
TargetOriginId
when a request matches the path pattern in PathPattern
. You can
specify the following options:
allow-all
: Viewers can use HTTP or HTTPS.
redirect-to-https
: If a viewer submits an HTTP request, CloudFront returns an HTTP status
code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the
request using the new URL.
https-only
: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403
(Forbidden).
For more information about requiring the HTTPS protocol, see Using an HTTPS Connection to Access Your Objects in the Amazon CloudFront Developer Guide.
The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.
ViewerProtocolPolicy
public String viewerProtocolPolicyAsString()
The protocol that viewers can use to access the files in the origin specified by TargetOriginId
when
a request matches the path pattern in PathPattern
. You can specify the following options:
allow-all
: Viewers can use HTTP or HTTPS.
redirect-to-https
: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of
301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the
new URL.
https-only
: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403
(Forbidden).
For more information about requiring the HTTPS protocol, see Using an HTTPS Connection to Access Your Objects in the Amazon CloudFront Developer Guide.
The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.
If the service returns an enum value that is not available in the current SDK version,
viewerProtocolPolicy
will return ViewerProtocolPolicy.UNKNOWN_TO_SDK_VERSION
. The raw value
returned by the service is available from viewerProtocolPolicyAsString()
.
TargetOriginId
when a request matches the path pattern in PathPattern
. You can
specify the following options:
allow-all
: Viewers can use HTTP or HTTPS.
redirect-to-https
: If a viewer submits an HTTP request, CloudFront returns an HTTP status
code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the
request using the new URL.
https-only
: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403
(Forbidden).
For more information about requiring the HTTPS protocol, see Using an HTTPS Connection to Access Your Objects in the Amazon CloudFront Developer Guide.
The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.
ViewerProtocolPolicy
public Long minTTL()
The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon Amazon CloudFront Developer Guide.
You must specify 0
for MinTTL
if you configure CloudFront to forward all headers to
your origin (under Headers
, if you specify 1
for Quantity
and
*
for Name
).
You must specify 0
for MinTTL
if you configure CloudFront to forward all
headers to your origin (under Headers
, if you specify 1
for
Quantity
and *
for Name
).
public AllowedMethods allowedMethods()
public Boolean smoothStreaming()
Indicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin
that is associated with this cache behavior. If so, specify true
; if not, specify false
. If you specify true
for SmoothStreaming
, you can still distribute other content using
this cache behavior if the content matches the value of PathPattern
.
true
; if not, specify
false
. If you specify true
for SmoothStreaming
, you can still
distribute other content using this cache behavior if the content matches the value of
PathPattern
.public Long defaultTTL()
The default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another
request to your origin to determine whether the object has been updated. The value that you specify applies only
when your origin does not add HTTP headers such as Cache-Control max-age
,
Cache-Control s-maxage
, and Expires
to objects. For more information, see Specifying How Long
Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer
Guide.
Cache-Control max-age
, Cache-Control s-maxage
, and Expires
to
objects. For more information, see Specifying How
Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront
Developer Guide.public Long maxTTL()
The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another
request to your origin to determine whether the object has been updated. The value that you specify applies only
when your origin adds HTTP headers such as Cache-Control max-age
,
Cache-Control s-maxage
, and Expires
to objects. For more information, see Specifying How Long
Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer
Guide.
Cache-Control max-age
,
Cache-Control s-maxage
, and Expires
to objects. For more information, see Specifying How
Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront
Developer Guide.public Boolean compress()
Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see Serving Compressed Files in the Amazon CloudFront Developer Guide.
public LambdaFunctionAssociations lambdaFunctionAssociations()
A complex type that contains zero or more Lambda function associations for a cache behavior.
public String fieldLevelEncryptionId()
The value of ID
for the field-level encryption configuration that you want CloudFront to use for
encrypting specific fields of data for a cache behavior or for the default cache behavior in your distribution.
ID
for the field-level encryption configuration that you want CloudFront to use
for encrypting specific fields of data for a cache behavior or for the default cache behavior in your
distribution.public CacheBehavior.Builder toBuilder()
ToCopyableBuilder
toBuilder
in interface ToCopyableBuilder<CacheBehavior.Builder,CacheBehavior>
public static CacheBehavior.Builder builder()
public static Class<? extends CacheBehavior.Builder> serializableBuilderClass()
Copyright © 2017 Amazon Web Services, Inc. All Rights Reserved.