CacheBehavior class

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.

Constructors

CacheBehavior({required ForwardedValues forwardedValues, required int minTTL, required String pathPattern, required String targetOriginId, required TrustedSigners trustedSigners, required ViewerProtocolPolicy viewerProtocolPolicy, AllowedMethods? allowedMethods, bool? compress, int? defaultTTL, String? fieldLevelEncryptionId, LambdaFunctionAssociations? lambdaFunctionAssociations, int? maxTTL, bool? smoothStreaming})
CacheBehavior.fromXml(XmlElement elem)
factory

Properties

allowedMethods AllowedMethods?
final
compress bool?
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.
final
defaultTTL int?
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.
final
fieldLevelEncryptionId String?
final
forwardedValues ForwardedValues
A complex type that specifies how CloudFront handles query strings and cookies.
final
hashCode int
The hash code for this object.
no setterinherited
lambdaFunctionAssociations LambdaFunctionAssociations?
A complex type that contains zero or more Lambda function associations for a cache behavior.
final
maxTTL int?
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.
final
minTTL int
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.
final
pathPattern String
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. .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.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
smoothStreaming bool?
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.
final
targetOriginId String
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.
final
trustedSigners TrustedSigners
A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.
final
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:
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited
toXml(String elemName, {List<XmlAttribute>? attributes}) → XmlElement

Operators

operator ==(Object other) bool
The equality operator.
inherited