Skip to content
v2.274.0

AddBehaviorOptions Struct ​

Options for adding a new behavior to a Distribution.

Example ​

ts
// Add a behavior to a Distribution after initial creation.
declare const myBucket: s3.Bucket;
declare const myWebDistribution: cloudfront.Distribution;
myWebDistribution.addBehavior('/images/*.jpg', new origins.S3Origin(myBucket), {
  viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
});

Properties ​

allowedMethodsoptionalAllowedMethodsallowed_methodsoptionalAllowedMethodsallowedMethodsoptionalAllowedMethodsAllowedMethodsoptionalAllowedMethodsAllowedMethodsoptionalAllowedMethods= AllowedMethods.ALLOW_GET_HEAD#
HTTP methods to allow for this behavior.
cachedMethodsoptionalCachedMethodscached_methodsoptionalCachedMethodscachedMethodsoptionalCachedMethodsCachedMethodsoptionalCachedMethodsCachedMethodsoptionalCachedMethods= CachedMethods.CACHE_GET_HEAD#
HTTP methods to cache for this behavior.
cachePolicyoptionalICachePolicyRefcache_policyoptionalICachePolicyRefcachePolicyoptionalICachePolicyRefCachePolicyoptionalICachePolicyRefCachePolicyoptionalICachePolicyRef= CachePolicy.CACHING_OPTIMIZED#
The cache policy for this behavior.

The cache policy determines what values are included in the cache key, and the time-to-live (TTL) values for the cache.

compressoptionalbooleancompressoptionalboolcompressoptionalBooleanCompressoptionalboolCompressoptional*bool= true#
Whether you want CloudFront to automatically compress certain files for this cache behavior.
edgeLambdasoptionalEdgeLambda[]edge_lambdasoptionaltyping.List[EdgeLambda]edgeLambdasoptionalList<EdgeLambda>EdgeLambdasoptionalEdgeLambda[]EdgeLambdasoptional*[]EdgeLambda#
The Lambda@Edge functions to invoke before serving the contents.

Default: no Lambda functions will be invoked

enableGrpcoptionalbooleanenable_grpcoptionalboolenableGrpcoptionalBooleanEnableGrpcoptionalboolEnableGrpcoptional*bool= false#
Enables your CloudFront distribution to receive gRPC requests and to proxy them directly to your origins.
notes

If the enableGrpc is set to true, the following restrictions apply:

  • The allowedMethods property must be AllowedMethods.ALLOW_ALL to include POST method because gRPC only supports POST method.
  • The httpVersion property must be HttpVersion.HTTP2 or HttpVersion.HTTP2_AND_3 because gRPC only supports versions including HTTP/2.
  • The edgeLambdas property can't be specified because gRPC is not supported with Lambda@Edge.
functionAssociationsoptionalFunctionAssociation[]function_associationsoptionaltyping.List[FunctionAssociation]functionAssociationsoptionalList<FunctionAssociation>FunctionAssociationsoptionalFunctionAssociation[]FunctionAssociationsoptional*[]FunctionAssociation#
The CloudFront functions to invoke before serving the contents.

Default: no functions will be invoked

originRequestPolicyoptionalIOriginRequestPolicyReforigin_request_policyoptionalIOriginRequestPolicyReforiginRequestPolicyoptionalIOriginRequestPolicyRefOriginRequestPolicyoptionalIOriginRequestPolicyRefOriginRequestPolicyoptionalIOriginRequestPolicyRef= none#
The origin request policy for this behavior.

The origin request policy determines which values (e.g., headers, cookies) are included in requests that CloudFront sends to the origin.

realtimeLogConfigoptionalIRealtimeLogConfigRefrealtime_log_configoptionalIRealtimeLogConfigRefrealtimeLogConfigoptionalIRealtimeLogConfigRefRealtimeLogConfigoptionalIRealtimeLogConfigRefRealtimeLogConfigoptionalIRealtimeLogConfigRef= none#
The real-time log configuration to be attached to this cache behavior.
responseHeadersPolicyoptionalIResponseHeadersPolicyRefresponse_headers_policyoptionalIResponseHeadersPolicyRefresponseHeadersPolicyoptionalIResponseHeadersPolicyRefResponseHeadersPolicyoptionalIResponseHeadersPolicyRefResponseHeadersPolicyoptionalIResponseHeadersPolicyRef= none#
The response headers policy for this behavior.

The response headers policy determines which headers are included in responses

smoothStreamingoptionalbooleansmooth_streamingoptionalboolsmoothStreamingoptionalBooleanSmoothStreamingoptionalboolSmoothStreamingoptional*bool= false#
Set this to true to indicate you want to distribute media files in the Microsoft Smooth Streaming format using this behavior.
trustedKeyGroupsoptionalIKeyGroupRef[]trusted_key_groupsoptionaltyping.List[IKeyGroupRef]trustedKeyGroupsoptionalList<IKeyGroupRef>TrustedKeyGroupsoptionalIKeyGroupRef[]TrustedKeyGroupsoptional*[]IKeyGroupRef#
A list of Key Groups that CloudFront can use to validate signed URLs or signed cookies.

Default: no KeyGroups are associated with cache behavior

viewerProtocolPolicyoptionalViewerProtocolPolicyviewer_protocol_policyoptionalViewerProtocolPolicyviewerProtocolPolicyoptionalViewerProtocolPolicyViewerProtocolPolicyoptionalViewerProtocolPolicyViewerProtocolPolicyoptionalViewerProtocolPolicy#
The protocol that viewers can use to access the files controlled by this behavior.

Default: ViewerProtocolPolicy.REDIRECT_TO_HTTPS if the @aws-cdk/aws-cloudfront:defaultViewerProtocolPolicyRedirectToHttps feature flag is enabled, otherwise ViewerProtocolPolicy.ALLOW_ALL