Skip to main content

aws_cloudfront_cache_policy Resource

[edit on GitHub]

Use the aws_cloudfront_cache_policy InSpec audit resource to test properties of a single specific AWS CloudFront cache policy.

The AWS::CloudFront::CachePolicy resource describes the CloudFront cache policy.

Installation

This resource is available in the Chef InSpec AWS resource pack.

See the Chef InSpec documentation on cloud platforms for information on configuring your AWS environment for InSpec and creating an InSpec profile that uses the InSpec AWS resource pack.

Syntax

Ensure that the custom resource exists.

describe aws_cloudfront_cache_policy(id: 'ID') do
  it { should exist }
end

Parameters

id (required)

The unique identifier for the cache policy.

For additional information, see the [AWS documentation on AWS CloudFormation cache policy.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cache policy.html).

Properties

id
The unique identifier for the cache policy.
last_modified_time
The date and time when the cache policy was last modified.
cache_policy_config.comment
A comment to describe the cache policy.
cache_policy_config.name
A unique name to identify the cache policy.
cache_policy_config.default_ttl
The default amount of time, in seconds, that you want objects to stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated.
cache_policy_config.max_ttl
The maximum amount of time, in seconds, that objects stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated.
cache_policy_config.min_ttl
The minimum amount of time, in seconds, that you want objects to stay in the CloudFront cache before CloudFront sends another request to the origin to see if the object has been updated.
cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.enable_accept_encoding_gzip
A flag that can affect whether the Accept-Encoding HTTP header is included in the cache key and included in requests that CloudFront sends to the origin.
cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.enable_accept_encoding_brotli
A flag that can affect whether the Accept-Encoding HTTP header is included in the cache key and included in requests that CloudFront sends to the origin.
cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.header_behavior
Determines whether any HTTP headers are included in the cache key and automatically included in requests that CloudFront sends to the origin.
cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.headers.quantity
The number of header names in the Items list.
cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.headers_config.headers.items
A list of HTTP header names.
cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookie_behavior
Determines whether any cookies in viewer requests are included in the cache key and automatically included in requests that CloudFront sends to the origin.
cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookies.quantity
The number of cookie names in the Items list.
cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.cookies_config.cookies.items
A list of cookie names.
cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_string_behavior
Determines whether any URL query strings in viewer requests are included in the cache key and automatically included in requests that CloudFront sends to the origin.
cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_strings.quantity
The number of query string names in the Items list.
cache_policy_config.parameters_in_cache_key_and_forwarded_to_origin.query_strings_config.query_strings.items
A list of query string names.

Examples

Ensure a ID is available.

describe aws_cloudfront_cache_policy(id: 'ID') do
  its('id') { should eq 'ID' }
end

Verify the max TTL of the policy.

describe aws_cloudfront_cache_policy(id: 'ID') do
    its('cache_policy_config.max_ttl') { should eq 1 }
end

Matchers

This InSpec audit resource has the following special matchers. For a full list of available matchers, please visit our Universal Matchers page.

The controls will pass if the get method returns at least one result.

exist

Use should to test that the entity exists.

describe aws_cloudfront_cache_policy(id: 'ID') do
  it { should exist }
end

Use should_not to test the entity does not exist.

describe aws_cloudfront_cache_policy(id: 'ID') do
  it { should_not exist }
end

be_available

Use should to check if the entity is available.

describe aws_cloudfront_cache_policy(id: 'ID') do
  it { should be_available }
end

AWS Permissions

Your Principal will need the CloudFront:Client:GetCachePolicyResult action with Effect set to Allow.

Was this page helpful?

×









Search Results