Class CfnCachePolicy

java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:43.452Z") @Stability(Stable) public class CfnCachePolicy extends CfnResource implements IInspectable
A CloudFormation AWS::CloudFront::CachePolicy.

A cache policy.

When it's attached to a cache behavior, the cache policy determines the following:

  • The values that CloudFront includes in the cache key. These values can include HTTP headers, cookies, and URL query strings. CloudFront uses the cache key to find an object in its cache that it can return to the viewer.
  • The default, minimum, and maximum time to live (TTL) values that you want objects to stay in the CloudFront cache.

The headers, cookies, and query strings that are included in the cache key are also included in requests that CloudFront sends to the origin. CloudFront sends a request when it can't find a valid object in its cache that matches the request's cache key. If you want to send values to the origin but not include them in the cache key, use OriginRequestPolicy .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.cloudfront.*;
 CfnCachePolicy cfnCachePolicy = CfnCachePolicy.Builder.create(this, "MyCfnCachePolicy")
         .cachePolicyConfig(CachePolicyConfigProperty.builder()
                 .defaultTtl(123)
                 .maxTtl(123)
                 .minTtl(123)
                 .name("name")
                 .parametersInCacheKeyAndForwardedToOrigin(ParametersInCacheKeyAndForwardedToOriginProperty.builder()
                         .cookiesConfig(CookiesConfigProperty.builder()
                                 .cookieBehavior("cookieBehavior")
                                 // the properties below are optional
                                 .cookies(List.of("cookies"))
                                 .build())
                         .enableAcceptEncodingGzip(false)
                         .headersConfig(HeadersConfigProperty.builder()
                                 .headerBehavior("headerBehavior")
                                 // the properties below are optional
                                 .headers(List.of("headers"))
                                 .build())
                         .queryStringsConfig(QueryStringsConfigProperty.builder()
                                 .queryStringBehavior("queryStringBehavior")
                                 // the properties below are optional
                                 .queryStrings(List.of("queryStrings"))
                                 .build())
                         // the properties below are optional
                         .enableAcceptEncodingBrotli(false)
                         .build())
                 // the properties below are optional
                 .comment("comment")
                 .build())
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnCachePolicy

      protected CfnCachePolicy(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnCachePolicy

      protected CfnCachePolicy(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnCachePolicy

      @Stability(Stable) public CfnCachePolicy(@NotNull Construct scope, @NotNull String id, @NotNull CfnCachePolicyProps props)
      Create a new AWS::CloudFront::CachePolicy.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrId

      @Stability(Stable) @NotNull public String getAttrId()
      The unique identifier for the cache policy.

      For example: 2766f7b2-75c5-41c6-8f06-bf4303a2f2f5 .

    • getAttrLastModifiedTime

      @Stability(Stable) @NotNull public String getAttrLastModifiedTime()
      The date and time when the cache policy was last modified.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getCachePolicyConfig

      @Stability(Stable) @NotNull public Object getCachePolicyConfig()
      The cache policy configuration.
    • setCachePolicyConfig

      @Stability(Stable) public void setCachePolicyConfig(@NotNull IResolvable value)
      The cache policy configuration.
    • setCachePolicyConfig

      @Stability(Stable) public void setCachePolicyConfig(@NotNull CfnCachePolicy.CachePolicyConfigProperty value)
      The cache policy configuration.