1. Packages
  2. AWS
  3. API Docs
  4. cloudfront
  5. Distribution
AWS v6.77.0 published on Wednesday, Apr 9, 2025 by Pulumi

aws.cloudfront.Distribution

Explore with Pulumi AI

Creates an Amazon CloudFront web distribution.

For information about CloudFront distributions, see the Amazon CloudFront Developer Guide. For specific information about creating CloudFront web distributions, see the POST Distribution page in the Amazon CloudFront API Reference.

NOTE: CloudFront distributions take about 15 minutes to reach a deployed state after creation or modification. During this time, deletes to resources will be blocked. If you need to delete a distribution that is enabled and you do not want to wait, you need to use the retain_on_delete flag.

Example Usage

S3 Origin

The example below creates a CloudFront distribution with an S3 origin.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const b = new aws.s3.BucketV2("b", {
    bucket: "mybucket",
    tags: {
        Name: "My bucket",
    },
});
const bAcl = new aws.s3.BucketAclV2("b_acl", {
    bucket: b.id,
    acl: "private",
});
const s3OriginId = "myS3Origin";
const s3Distribution = new aws.cloudfront.Distribution("s3_distribution", {
    origins: [{
        domainName: b.bucketRegionalDomainName,
        originAccessControlId: _default.id,
        originId: s3OriginId,
    }],
    enabled: true,
    isIpv6Enabled: true,
    comment: "Some comment",
    defaultRootObject: "index.html",
    loggingConfig: {
        includeCookies: false,
        bucket: "mylogs.s3.amazonaws.com",
        prefix: "myprefix",
    },
    aliases: [
        "mysite.example.com",
        "yoursite.example.com",
    ],
    defaultCacheBehavior: {
        allowedMethods: [
            "DELETE",
            "GET",
            "HEAD",
            "OPTIONS",
            "PATCH",
            "POST",
            "PUT",
        ],
        cachedMethods: [
            "GET",
            "HEAD",
        ],
        targetOriginId: s3OriginId,
        forwardedValues: {
            queryString: false,
            cookies: {
                forward: "none",
            },
        },
        viewerProtocolPolicy: "allow-all",
        minTtl: 0,
        defaultTtl: 3600,
        maxTtl: 86400,
    },
    orderedCacheBehaviors: [
        {
            pathPattern: "/content/immutable/*",
            allowedMethods: [
                "GET",
                "HEAD",
                "OPTIONS",
            ],
            cachedMethods: [
                "GET",
                "HEAD",
                "OPTIONS",
            ],
            targetOriginId: s3OriginId,
            forwardedValues: {
                queryString: false,
                headers: ["Origin"],
                cookies: {
                    forward: "none",
                },
            },
            minTtl: 0,
            defaultTtl: 86400,
            maxTtl: 31536000,
            compress: true,
            viewerProtocolPolicy: "redirect-to-https",
        },
        {
            pathPattern: "/content/*",
            allowedMethods: [
                "GET",
                "HEAD",
                "OPTIONS",
            ],
            cachedMethods: [
                "GET",
                "HEAD",
            ],
            targetOriginId: s3OriginId,
            forwardedValues: {
                queryString: false,
                cookies: {
                    forward: "none",
                },
            },
            minTtl: 0,
            defaultTtl: 3600,
            maxTtl: 86400,
            compress: true,
            viewerProtocolPolicy: "redirect-to-https",
        },
    ],
    priceClass: "PriceClass_200",
    restrictions: {
        geoRestriction: {
            restrictionType: "whitelist",
            locations: [
                "US",
                "CA",
                "GB",
                "DE",
            ],
        },
    },
    tags: {
        Environment: "production",
    },
    viewerCertificate: {
        cloudfrontDefaultCertificate: true,
    },
});
Copy
import pulumi
import pulumi_aws as aws

b = aws.s3.BucketV2("b",
    bucket="mybucket",
    tags={
        "Name": "My bucket",
    })
b_acl = aws.s3.BucketAclV2("b_acl",
    bucket=b.id,
    acl="private")
s3_origin_id = "myS3Origin"
s3_distribution = aws.cloudfront.Distribution("s3_distribution",
    origins=[{
        "domain_name": b.bucket_regional_domain_name,
        "origin_access_control_id": default["id"],
        "origin_id": s3_origin_id,
    }],
    enabled=True,
    is_ipv6_enabled=True,
    comment="Some comment",
    default_root_object="index.html",
    logging_config={
        "include_cookies": False,
        "bucket": "mylogs.s3.amazonaws.com",
        "prefix": "myprefix",
    },
    aliases=[
        "mysite.example.com",
        "yoursite.example.com",
    ],
    default_cache_behavior={
        "allowed_methods": [
            "DELETE",
            "GET",
            "HEAD",
            "OPTIONS",
            "PATCH",
            "POST",
            "PUT",
        ],
        "cached_methods": [
            "GET",
            "HEAD",
        ],
        "target_origin_id": s3_origin_id,
        "forwarded_values": {
            "query_string": False,
            "cookies": {
                "forward": "none",
            },
        },
        "viewer_protocol_policy": "allow-all",
        "min_ttl": 0,
        "default_ttl": 3600,
        "max_ttl": 86400,
    },
    ordered_cache_behaviors=[
        {
            "path_pattern": "/content/immutable/*",
            "allowed_methods": [
                "GET",
                "HEAD",
                "OPTIONS",
            ],
            "cached_methods": [
                "GET",
                "HEAD",
                "OPTIONS",
            ],
            "target_origin_id": s3_origin_id,
            "forwarded_values": {
                "query_string": False,
                "headers": ["Origin"],
                "cookies": {
                    "forward": "none",
                },
            },
            "min_ttl": 0,
            "default_ttl": 86400,
            "max_ttl": 31536000,
            "compress": True,
            "viewer_protocol_policy": "redirect-to-https",
        },
        {
            "path_pattern": "/content/*",
            "allowed_methods": [
                "GET",
                "HEAD",
                "OPTIONS",
            ],
            "cached_methods": [
                "GET",
                "HEAD",
            ],
            "target_origin_id": s3_origin_id,
            "forwarded_values": {
                "query_string": False,
                "cookies": {
                    "forward": "none",
                },
            },
            "min_ttl": 0,
            "default_ttl": 3600,
            "max_ttl": 86400,
            "compress": True,
            "viewer_protocol_policy": "redirect-to-https",
        },
    ],
    price_class="PriceClass_200",
    restrictions={
        "geo_restriction": {
            "restriction_type": "whitelist",
            "locations": [
                "US",
                "CA",
                "GB",
                "DE",
            ],
        },
    },
    tags={
        "Environment": "production",
    },
    viewer_certificate={
        "cloudfront_default_certificate": True,
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		b, err := s3.NewBucketV2(ctx, "b", &s3.BucketV2Args{
			Bucket: pulumi.String("mybucket"),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("My bucket"),
			},
		})
		if err != nil {
			return err
		}
		_, err = s3.NewBucketAclV2(ctx, "b_acl", &s3.BucketAclV2Args{
			Bucket: b.ID(),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		s3OriginId := "myS3Origin"
		_, err = cloudfront.NewDistribution(ctx, "s3_distribution", &cloudfront.DistributionArgs{
			Origins: cloudfront.DistributionOriginArray{
				&cloudfront.DistributionOriginArgs{
					DomainName:            b.BucketRegionalDomainName,
					OriginAccessControlId: pulumi.Any(_default.Id),
					OriginId:              pulumi.String(s3OriginId),
				},
			},
			Enabled:           pulumi.Bool(true),
			IsIpv6Enabled:     pulumi.Bool(true),
			Comment:           pulumi.String("Some comment"),
			DefaultRootObject: pulumi.String("index.html"),
			LoggingConfig: &cloudfront.DistributionLoggingConfigArgs{
				IncludeCookies: pulumi.Bool(false),
				Bucket:         pulumi.String("mylogs.s3.amazonaws.com"),
				Prefix:         pulumi.String("myprefix"),
			},
			Aliases: pulumi.StringArray{
				pulumi.String("mysite.example.com"),
				pulumi.String("yoursite.example.com"),
			},
			DefaultCacheBehavior: &cloudfront.DistributionDefaultCacheBehaviorArgs{
				AllowedMethods: pulumi.StringArray{
					pulumi.String("DELETE"),
					pulumi.String("GET"),
					pulumi.String("HEAD"),
					pulumi.String("OPTIONS"),
					pulumi.String("PATCH"),
					pulumi.String("POST"),
					pulumi.String("PUT"),
				},
				CachedMethods: pulumi.StringArray{
					pulumi.String("GET"),
					pulumi.String("HEAD"),
				},
				TargetOriginId: pulumi.String(s3OriginId),
				ForwardedValues: &cloudfront.DistributionDefaultCacheBehaviorForwardedValuesArgs{
					QueryString: pulumi.Bool(false),
					Cookies: &cloudfront.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs{
						Forward: pulumi.String("none"),
					},
				},
				ViewerProtocolPolicy: pulumi.String("allow-all"),
				MinTtl:               pulumi.Int(0),
				DefaultTtl:           pulumi.Int(3600),
				MaxTtl:               pulumi.Int(86400),
			},
			OrderedCacheBehaviors: cloudfront.DistributionOrderedCacheBehaviorArray{
				&cloudfront.DistributionOrderedCacheBehaviorArgs{
					PathPattern: pulumi.String("/content/immutable/*"),
					AllowedMethods: pulumi.StringArray{
						pulumi.String("GET"),
						pulumi.String("HEAD"),
						pulumi.String("OPTIONS"),
					},
					CachedMethods: pulumi.StringArray{
						pulumi.String("GET"),
						pulumi.String("HEAD"),
						pulumi.String("OPTIONS"),
					},
					TargetOriginId: pulumi.String(s3OriginId),
					ForwardedValues: &cloudfront.DistributionOrderedCacheBehaviorForwardedValuesArgs{
						QueryString: pulumi.Bool(false),
						Headers: pulumi.StringArray{
							pulumi.String("Origin"),
						},
						Cookies: &cloudfront.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs{
							Forward: pulumi.String("none"),
						},
					},
					MinTtl:               pulumi.Int(0),
					DefaultTtl:           pulumi.Int(86400),
					MaxTtl:               pulumi.Int(31536000),
					Compress:             pulumi.Bool(true),
					ViewerProtocolPolicy: pulumi.String("redirect-to-https"),
				},
				&cloudfront.DistributionOrderedCacheBehaviorArgs{
					PathPattern: pulumi.String("/content/*"),
					AllowedMethods: pulumi.StringArray{
						pulumi.String("GET"),
						pulumi.String("HEAD"),
						pulumi.String("OPTIONS"),
					},
					CachedMethods: pulumi.StringArray{
						pulumi.String("GET"),
						pulumi.String("HEAD"),
					},
					TargetOriginId: pulumi.String(s3OriginId),
					ForwardedValues: &cloudfront.DistributionOrderedCacheBehaviorForwardedValuesArgs{
						QueryString: pulumi.Bool(false),
						Cookies: &cloudfront.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs{
							Forward: pulumi.String("none"),
						},
					},
					MinTtl:               pulumi.Int(0),
					DefaultTtl:           pulumi.Int(3600),
					MaxTtl:               pulumi.Int(86400),
					Compress:             pulumi.Bool(true),
					ViewerProtocolPolicy: pulumi.String("redirect-to-https"),
				},
			},
			PriceClass: pulumi.String("PriceClass_200"),
			Restrictions: &cloudfront.DistributionRestrictionsArgs{
				GeoRestriction: &cloudfront.DistributionRestrictionsGeoRestrictionArgs{
					RestrictionType: pulumi.String("whitelist"),
					Locations: pulumi.StringArray{
						pulumi.String("US"),
						pulumi.String("CA"),
						pulumi.String("GB"),
						pulumi.String("DE"),
					},
				},
			},
			Tags: pulumi.StringMap{
				"Environment": pulumi.String("production"),
			},
			ViewerCertificate: &cloudfront.DistributionViewerCertificateArgs{
				CloudfrontDefaultCertificate: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var b = new Aws.S3.BucketV2("b", new()
    {
        Bucket = "mybucket",
        Tags = 
        {
            { "Name", "My bucket" },
        },
    });

    var bAcl = new Aws.S3.BucketAclV2("b_acl", new()
    {
        Bucket = b.Id,
        Acl = "private",
    });

    var s3OriginId = "myS3Origin";

    var s3Distribution = new Aws.CloudFront.Distribution("s3_distribution", new()
    {
        Origins = new[]
        {
            new Aws.CloudFront.Inputs.DistributionOriginArgs
            {
                DomainName = b.BucketRegionalDomainName,
                OriginAccessControlId = @default.Id,
                OriginId = s3OriginId,
            },
        },
        Enabled = true,
        IsIpv6Enabled = true,
        Comment = "Some comment",
        DefaultRootObject = "index.html",
        LoggingConfig = new Aws.CloudFront.Inputs.DistributionLoggingConfigArgs
        {
            IncludeCookies = false,
            Bucket = "mylogs.s3.amazonaws.com",
            Prefix = "myprefix",
        },
        Aliases = new[]
        {
            "mysite.example.com",
            "yoursite.example.com",
        },
        DefaultCacheBehavior = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorArgs
        {
            AllowedMethods = new[]
            {
                "DELETE",
                "GET",
                "HEAD",
                "OPTIONS",
                "PATCH",
                "POST",
                "PUT",
            },
            CachedMethods = new[]
            {
                "GET",
                "HEAD",
            },
            TargetOriginId = s3OriginId,
            ForwardedValues = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorForwardedValuesArgs
            {
                QueryString = false,
                Cookies = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs
                {
                    Forward = "none",
                },
            },
            ViewerProtocolPolicy = "allow-all",
            MinTtl = 0,
            DefaultTtl = 3600,
            MaxTtl = 86400,
        },
        OrderedCacheBehaviors = new[]
        {
            new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorArgs
            {
                PathPattern = "/content/immutable/*",
                AllowedMethods = new[]
                {
                    "GET",
                    "HEAD",
                    "OPTIONS",
                },
                CachedMethods = new[]
                {
                    "GET",
                    "HEAD",
                    "OPTIONS",
                },
                TargetOriginId = s3OriginId,
                ForwardedValues = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesArgs
                {
                    QueryString = false,
                    Headers = new[]
                    {
                        "Origin",
                    },
                    Cookies = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs
                    {
                        Forward = "none",
                    },
                },
                MinTtl = 0,
                DefaultTtl = 86400,
                MaxTtl = 31536000,
                Compress = true,
                ViewerProtocolPolicy = "redirect-to-https",
            },
            new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorArgs
            {
                PathPattern = "/content/*",
                AllowedMethods = new[]
                {
                    "GET",
                    "HEAD",
                    "OPTIONS",
                },
                CachedMethods = new[]
                {
                    "GET",
                    "HEAD",
                },
                TargetOriginId = s3OriginId,
                ForwardedValues = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesArgs
                {
                    QueryString = false,
                    Cookies = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs
                    {
                        Forward = "none",
                    },
                },
                MinTtl = 0,
                DefaultTtl = 3600,
                MaxTtl = 86400,
                Compress = true,
                ViewerProtocolPolicy = "redirect-to-https",
            },
        },
        PriceClass = "PriceClass_200",
        Restrictions = new Aws.CloudFront.Inputs.DistributionRestrictionsArgs
        {
            GeoRestriction = new Aws.CloudFront.Inputs.DistributionRestrictionsGeoRestrictionArgs
            {
                RestrictionType = "whitelist",
                Locations = new[]
                {
                    "US",
                    "CA",
                    "GB",
                    "DE",
                },
            },
        },
        Tags = 
        {
            { "Environment", "production" },
        },
        ViewerCertificate = new Aws.CloudFront.Inputs.DistributionViewerCertificateArgs
        {
            CloudfrontDefaultCertificate = true,
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.s3.BucketV2;
import com.pulumi.aws.s3.BucketV2Args;
import com.pulumi.aws.s3.BucketAclV2;
import com.pulumi.aws.s3.BucketAclV2Args;
import com.pulumi.aws.cloudfront.Distribution;
import com.pulumi.aws.cloudfront.DistributionArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionLoggingConfigArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorForwardedValuesArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionOrderedCacheBehaviorArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionOrderedCacheBehaviorForwardedValuesArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionRestrictionsArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionRestrictionsGeoRestrictionArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionViewerCertificateArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var b = new BucketV2("b", BucketV2Args.builder()
            .bucket("mybucket")
            .tags(Map.of("Name", "My bucket"))
            .build());

        var bAcl = new BucketAclV2("bAcl", BucketAclV2Args.builder()
            .bucket(b.id())
            .acl("private")
            .build());

        final var s3OriginId = "myS3Origin";

        var s3Distribution = new Distribution("s3Distribution", DistributionArgs.builder()
            .origins(DistributionOriginArgs.builder()
                .domainName(b.bucketRegionalDomainName())
                .originAccessControlId(default_.id())
                .originId(s3OriginId)
                .build())
            .enabled(true)
            .isIpv6Enabled(true)
            .comment("Some comment")
            .defaultRootObject("index.html")
            .loggingConfig(DistributionLoggingConfigArgs.builder()
                .includeCookies(false)
                .bucket("mylogs.s3.amazonaws.com")
                .prefix("myprefix")
                .build())
            .aliases(            
                "mysite.example.com",
                "yoursite.example.com")
            .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()
                .allowedMethods(                
                    "DELETE",
                    "GET",
                    "HEAD",
                    "OPTIONS",
                    "PATCH",
                    "POST",
                    "PUT")
                .cachedMethods(                
                    "GET",
                    "HEAD")
                .targetOriginId(s3OriginId)
                .forwardedValues(DistributionDefaultCacheBehaviorForwardedValuesArgs.builder()
                    .queryString(false)
                    .cookies(DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs.builder()
                        .forward("none")
                        .build())
                    .build())
                .viewerProtocolPolicy("allow-all")
                .minTtl(0)
                .defaultTtl(3600)
                .maxTtl(86400)
                .build())
            .orderedCacheBehaviors(            
                DistributionOrderedCacheBehaviorArgs.builder()
                    .pathPattern("/content/immutable/*")
                    .allowedMethods(                    
                        "GET",
                        "HEAD",
                        "OPTIONS")
                    .cachedMethods(                    
                        "GET",
                        "HEAD",
                        "OPTIONS")
                    .targetOriginId(s3OriginId)
                    .forwardedValues(DistributionOrderedCacheBehaviorForwardedValuesArgs.builder()
                        .queryString(false)
                        .headers("Origin")
                        .cookies(DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs.builder()
                            .forward("none")
                            .build())
                        .build())
                    .minTtl(0)
                    .defaultTtl(86400)
                    .maxTtl(31536000)
                    .compress(true)
                    .viewerProtocolPolicy("redirect-to-https")
                    .build(),
                DistributionOrderedCacheBehaviorArgs.builder()
                    .pathPattern("/content/*")
                    .allowedMethods(                    
                        "GET",
                        "HEAD",
                        "OPTIONS")
                    .cachedMethods(                    
                        "GET",
                        "HEAD")
                    .targetOriginId(s3OriginId)
                    .forwardedValues(DistributionOrderedCacheBehaviorForwardedValuesArgs.builder()
                        .queryString(false)
                        .cookies(DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs.builder()
                            .forward("none")
                            .build())
                        .build())
                    .minTtl(0)
                    .defaultTtl(3600)
                    .maxTtl(86400)
                    .compress(true)
                    .viewerProtocolPolicy("redirect-to-https")
                    .build())
            .priceClass("PriceClass_200")
            .restrictions(DistributionRestrictionsArgs.builder()
                .geoRestriction(DistributionRestrictionsGeoRestrictionArgs.builder()
                    .restrictionType("whitelist")
                    .locations(                    
                        "US",
                        "CA",
                        "GB",
                        "DE")
                    .build())
                .build())
            .tags(Map.of("Environment", "production"))
            .viewerCertificate(DistributionViewerCertificateArgs.builder()
                .cloudfrontDefaultCertificate(true)
                .build())
            .build());

    }
}
Copy
resources:
  b:
    type: aws:s3:BucketV2
    properties:
      bucket: mybucket
      tags:
        Name: My bucket
  bAcl:
    type: aws:s3:BucketAclV2
    name: b_acl
    properties:
      bucket: ${b.id}
      acl: private
  s3Distribution:
    type: aws:cloudfront:Distribution
    name: s3_distribution
    properties:
      origins:
        - domainName: ${b.bucketRegionalDomainName}
          originAccessControlId: ${default.id}
          originId: ${s3OriginId}
      enabled: true
      isIpv6Enabled: true
      comment: Some comment
      defaultRootObject: index.html
      loggingConfig:
        includeCookies: false
        bucket: mylogs.s3.amazonaws.com
        prefix: myprefix
      aliases:
        - mysite.example.com
        - yoursite.example.com
      defaultCacheBehavior:
        allowedMethods:
          - DELETE
          - GET
          - HEAD
          - OPTIONS
          - PATCH
          - POST
          - PUT
        cachedMethods:
          - GET
          - HEAD
        targetOriginId: ${s3OriginId}
        forwardedValues:
          queryString: false
          cookies:
            forward: none
        viewerProtocolPolicy: allow-all
        minTtl: 0
        defaultTtl: 3600
        maxTtl: 86400
      orderedCacheBehaviors:
        - pathPattern: /content/immutable/*
          allowedMethods:
            - GET
            - HEAD
            - OPTIONS
          cachedMethods:
            - GET
            - HEAD
            - OPTIONS
          targetOriginId: ${s3OriginId}
          forwardedValues:
            queryString: false
            headers:
              - Origin
            cookies:
              forward: none
          minTtl: 0
          defaultTtl: 86400
          maxTtl: 3.1536e+07
          compress: true
          viewerProtocolPolicy: redirect-to-https
        - pathPattern: /content/*
          allowedMethods:
            - GET
            - HEAD
            - OPTIONS
          cachedMethods:
            - GET
            - HEAD
          targetOriginId: ${s3OriginId}
          forwardedValues:
            queryString: false
            cookies:
              forward: none
          minTtl: 0
          defaultTtl: 3600
          maxTtl: 86400
          compress: true
          viewerProtocolPolicy: redirect-to-https
      priceClass: PriceClass_200
      restrictions:
        geoRestriction:
          restrictionType: whitelist
          locations:
            - US
            - CA
            - GB
            - DE
      tags:
        Environment: production
      viewerCertificate:
        cloudfrontDefaultCertificate: true
variables:
  s3OriginId: myS3Origin
Copy

With Failover Routing

The example below creates a CloudFront distribution with an origin group for failover routing.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const s3Distribution = new aws.cloudfront.Distribution("s3_distribution", {
    originGroups: [{
        originId: "groupS3",
        failoverCriteria: {
            statusCodes: [
                403,
                404,
                500,
                502,
            ],
        },
        members: [
            {
                originId: "primaryS3",
            },
            {
                originId: "failoverS3",
            },
        ],
    }],
    origins: [
        {
            domainName: primary.bucketRegionalDomainName,
            originId: "primaryS3",
            s3OriginConfig: {
                originAccessIdentity: _default.cloudfrontAccessIdentityPath,
            },
        },
        {
            domainName: failover.bucketRegionalDomainName,
            originId: "failoverS3",
            s3OriginConfig: {
                originAccessIdentity: _default.cloudfrontAccessIdentityPath,
            },
        },
    ],
    defaultCacheBehavior: {
        targetOriginId: "groupS3",
    },
});
Copy
import pulumi
import pulumi_aws as aws

s3_distribution = aws.cloudfront.Distribution("s3_distribution",
    origin_groups=[{
        "origin_id": "groupS3",
        "failover_criteria": {
            "status_codes": [
                403,
                404,
                500,
                502,
            ],
        },
        "members": [
            {
                "origin_id": "primaryS3",
            },
            {
                "origin_id": "failoverS3",
            },
        ],
    }],
    origins=[
        {
            "domain_name": primary["bucketRegionalDomainName"],
            "origin_id": "primaryS3",
            "s3_origin_config": {
                "origin_access_identity": default["cloudfrontAccessIdentityPath"],
            },
        },
        {
            "domain_name": failover["bucketRegionalDomainName"],
            "origin_id": "failoverS3",
            "s3_origin_config": {
                "origin_access_identity": default["cloudfrontAccessIdentityPath"],
            },
        },
    ],
    default_cache_behavior={
        "target_origin_id": "groupS3",
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudfront.NewDistribution(ctx, "s3_distribution", &cloudfront.DistributionArgs{
			OriginGroups: cloudfront.DistributionOriginGroupArray{
				&cloudfront.DistributionOriginGroupArgs{
					OriginId: pulumi.String("groupS3"),
					FailoverCriteria: &cloudfront.DistributionOriginGroupFailoverCriteriaArgs{
						StatusCodes: pulumi.IntArray{
							pulumi.Int(403),
							pulumi.Int(404),
							pulumi.Int(500),
							pulumi.Int(502),
						},
					},
					Members: cloudfront.DistributionOriginGroupMemberArray{
						&cloudfront.DistributionOriginGroupMemberArgs{
							OriginId: pulumi.String("primaryS3"),
						},
						&cloudfront.DistributionOriginGroupMemberArgs{
							OriginId: pulumi.String("failoverS3"),
						},
					},
				},
			},
			Origins: cloudfront.DistributionOriginArray{
				&cloudfront.DistributionOriginArgs{
					DomainName: pulumi.Any(primary.BucketRegionalDomainName),
					OriginId:   pulumi.String("primaryS3"),
					S3OriginConfig: &cloudfront.DistributionOriginS3OriginConfigArgs{
						OriginAccessIdentity: pulumi.Any(_default.CloudfrontAccessIdentityPath),
					},
				},
				&cloudfront.DistributionOriginArgs{
					DomainName: pulumi.Any(failover.BucketRegionalDomainName),
					OriginId:   pulumi.String("failoverS3"),
					S3OriginConfig: &cloudfront.DistributionOriginS3OriginConfigArgs{
						OriginAccessIdentity: pulumi.Any(_default.CloudfrontAccessIdentityPath),
					},
				},
			},
			DefaultCacheBehavior: &cloudfront.DistributionDefaultCacheBehaviorArgs{
				TargetOriginId: pulumi.String("groupS3"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var s3Distribution = new Aws.CloudFront.Distribution("s3_distribution", new()
    {
        OriginGroups = new[]
        {
            new Aws.CloudFront.Inputs.DistributionOriginGroupArgs
            {
                OriginId = "groupS3",
                FailoverCriteria = new Aws.CloudFront.Inputs.DistributionOriginGroupFailoverCriteriaArgs
                {
                    StatusCodes = new[]
                    {
                        403,
                        404,
                        500,
                        502,
                    },
                },
                Members = new[]
                {
                    new Aws.CloudFront.Inputs.DistributionOriginGroupMemberArgs
                    {
                        OriginId = "primaryS3",
                    },
                    new Aws.CloudFront.Inputs.DistributionOriginGroupMemberArgs
                    {
                        OriginId = "failoverS3",
                    },
                },
            },
        },
        Origins = new[]
        {
            new Aws.CloudFront.Inputs.DistributionOriginArgs
            {
                DomainName = primary.BucketRegionalDomainName,
                OriginId = "primaryS3",
                S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs
                {
                    OriginAccessIdentity = @default.CloudfrontAccessIdentityPath,
                },
            },
            new Aws.CloudFront.Inputs.DistributionOriginArgs
            {
                DomainName = failover.BucketRegionalDomainName,
                OriginId = "failoverS3",
                S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs
                {
                    OriginAccessIdentity = @default.CloudfrontAccessIdentityPath,
                },
            },
        },
        DefaultCacheBehavior = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorArgs
        {
            TargetOriginId = "groupS3",
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.cloudfront.Distribution;
import com.pulumi.aws.cloudfront.DistributionArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionOriginGroupArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionOriginGroupFailoverCriteriaArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionOriginS3OriginConfigArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var s3Distribution = new Distribution("s3Distribution", DistributionArgs.builder()
            .originGroups(DistributionOriginGroupArgs.builder()
                .originId("groupS3")
                .failoverCriteria(DistributionOriginGroupFailoverCriteriaArgs.builder()
                    .statusCodes(                    
                        403,
                        404,
                        500,
                        502)
                    .build())
                .members(                
                    DistributionOriginGroupMemberArgs.builder()
                        .originId("primaryS3")
                        .build(),
                    DistributionOriginGroupMemberArgs.builder()
                        .originId("failoverS3")
                        .build())
                .build())
            .origins(            
                DistributionOriginArgs.builder()
                    .domainName(primary.bucketRegionalDomainName())
                    .originId("primaryS3")
                    .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()
                        .originAccessIdentity(default_.cloudfrontAccessIdentityPath())
                        .build())
                    .build(),
                DistributionOriginArgs.builder()
                    .domainName(failover.bucketRegionalDomainName())
                    .originId("failoverS3")
                    .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()
                        .originAccessIdentity(default_.cloudfrontAccessIdentityPath())
                        .build())
                    .build())
            .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()
                .targetOriginId("groupS3")
                .build())
            .build());

    }
}
Copy
resources:
  s3Distribution:
    type: aws:cloudfront:Distribution
    name: s3_distribution
    properties:
      originGroups:
        - originId: groupS3
          failoverCriteria:
            statusCodes:
              - 403
              - 404
              - 500
              - 502
          members:
            - originId: primaryS3
            - originId: failoverS3
      origins:
        - domainName: ${primary.bucketRegionalDomainName}
          originId: primaryS3
          s3OriginConfig:
            originAccessIdentity: ${default.cloudfrontAccessIdentityPath}
        - domainName: ${failover.bucketRegionalDomainName}
          originId: failoverS3
          s3OriginConfig:
            originAccessIdentity: ${default.cloudfrontAccessIdentityPath}
      defaultCacheBehavior:
        targetOriginId: groupS3
Copy

With Managed Caching Policy

The example below creates a CloudFront distribution with an AWS managed caching policy.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const s3OriginId = "myS3Origin";
const s3Distribution = new aws.cloudfront.Distribution("s3_distribution", {
    origins: [{
        domainName: primary.bucketRegionalDomainName,
        originId: "myS3Origin",
        s3OriginConfig: {
            originAccessIdentity: _default.cloudfrontAccessIdentityPath,
        },
    }],
    enabled: true,
    isIpv6Enabled: true,
    comment: "Some comment",
    defaultRootObject: "index.html",
    defaultCacheBehavior: {
        cachePolicyId: "4135ea2d-6df8-44a3-9df3-4b5a84be39ad",
        allowedMethods: [
            "GET",
            "HEAD",
            "OPTIONS",
        ],
        targetOriginId: s3OriginId,
    },
    restrictions: {
        geoRestriction: {
            restrictionType: "whitelist",
            locations: [
                "US",
                "CA",
                "GB",
                "DE",
            ],
        },
    },
    viewerCertificate: {
        cloudfrontDefaultCertificate: true,
    },
});
Copy
import pulumi
import pulumi_aws as aws

s3_origin_id = "myS3Origin"
s3_distribution = aws.cloudfront.Distribution("s3_distribution",
    origins=[{
        "domain_name": primary["bucketRegionalDomainName"],
        "origin_id": "myS3Origin",
        "s3_origin_config": {
            "origin_access_identity": default["cloudfrontAccessIdentityPath"],
        },
    }],
    enabled=True,
    is_ipv6_enabled=True,
    comment="Some comment",
    default_root_object="index.html",
    default_cache_behavior={
        "cache_policy_id": "4135ea2d-6df8-44a3-9df3-4b5a84be39ad",
        "allowed_methods": [
            "GET",
            "HEAD",
            "OPTIONS",
        ],
        "target_origin_id": s3_origin_id,
    },
    restrictions={
        "geo_restriction": {
            "restriction_type": "whitelist",
            "locations": [
                "US",
                "CA",
                "GB",
                "DE",
            ],
        },
    },
    viewer_certificate={
        "cloudfront_default_certificate": True,
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudfront"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		s3OriginId := "myS3Origin"
		_, err := cloudfront.NewDistribution(ctx, "s3_distribution", &cloudfront.DistributionArgs{
			Origins: cloudfront.DistributionOriginArray{
				&cloudfront.DistributionOriginArgs{
					DomainName: pulumi.Any(primary.BucketRegionalDomainName),
					OriginId:   pulumi.String("myS3Origin"),
					S3OriginConfig: &cloudfront.DistributionOriginS3OriginConfigArgs{
						OriginAccessIdentity: pulumi.Any(_default.CloudfrontAccessIdentityPath),
					},
				},
			},
			Enabled:           pulumi.Bool(true),
			IsIpv6Enabled:     pulumi.Bool(true),
			Comment:           pulumi.String("Some comment"),
			DefaultRootObject: pulumi.String("index.html"),
			DefaultCacheBehavior: &cloudfront.DistributionDefaultCacheBehaviorArgs{
				CachePolicyId: pulumi.String("4135ea2d-6df8-44a3-9df3-4b5a84be39ad"),
				AllowedMethods: pulumi.StringArray{
					pulumi.String("GET"),
					pulumi.String("HEAD"),
					pulumi.String("OPTIONS"),
				},
				TargetOriginId: pulumi.String(s3OriginId),
			},
			Restrictions: &cloudfront.DistributionRestrictionsArgs{
				GeoRestriction: &cloudfront.DistributionRestrictionsGeoRestrictionArgs{
					RestrictionType: pulumi.String("whitelist"),
					Locations: pulumi.StringArray{
						pulumi.String("US"),
						pulumi.String("CA"),
						pulumi.String("GB"),
						pulumi.String("DE"),
					},
				},
			},
			ViewerCertificate: &cloudfront.DistributionViewerCertificateArgs{
				CloudfrontDefaultCertificate: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var s3OriginId = "myS3Origin";

    var s3Distribution = new Aws.CloudFront.Distribution("s3_distribution", new()
    {
        Origins = new[]
        {
            new Aws.CloudFront.Inputs.DistributionOriginArgs
            {
                DomainName = primary.BucketRegionalDomainName,
                OriginId = "myS3Origin",
                S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs
                {
                    OriginAccessIdentity = @default.CloudfrontAccessIdentityPath,
                },
            },
        },
        Enabled = true,
        IsIpv6Enabled = true,
        Comment = "Some comment",
        DefaultRootObject = "index.html",
        DefaultCacheBehavior = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorArgs
        {
            CachePolicyId = "4135ea2d-6df8-44a3-9df3-4b5a84be39ad",
            AllowedMethods = new[]
            {
                "GET",
                "HEAD",
                "OPTIONS",
            },
            TargetOriginId = s3OriginId,
        },
        Restrictions = new Aws.CloudFront.Inputs.DistributionRestrictionsArgs
        {
            GeoRestriction = new Aws.CloudFront.Inputs.DistributionRestrictionsGeoRestrictionArgs
            {
                RestrictionType = "whitelist",
                Locations = new[]
                {
                    "US",
                    "CA",
                    "GB",
                    "DE",
                },
            },
        },
        ViewerCertificate = new Aws.CloudFront.Inputs.DistributionViewerCertificateArgs
        {
            CloudfrontDefaultCertificate = true,
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.cloudfront.Distribution;
import com.pulumi.aws.cloudfront.DistributionArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionOriginArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionOriginS3OriginConfigArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionDefaultCacheBehaviorArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionRestrictionsArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionRestrictionsGeoRestrictionArgs;
import com.pulumi.aws.cloudfront.inputs.DistributionViewerCertificateArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var s3OriginId = "myS3Origin";

        var s3Distribution = new Distribution("s3Distribution", DistributionArgs.builder()
            .origins(DistributionOriginArgs.builder()
                .domainName(primary.bucketRegionalDomainName())
                .originId("myS3Origin")
                .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()
                    .originAccessIdentity(default_.cloudfrontAccessIdentityPath())
                    .build())
                .build())
            .enabled(true)
            .isIpv6Enabled(true)
            .comment("Some comment")
            .defaultRootObject("index.html")
            .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()
                .cachePolicyId("4135ea2d-6df8-44a3-9df3-4b5a84be39ad")
                .allowedMethods(                
                    "GET",
                    "HEAD",
                    "OPTIONS")
                .targetOriginId(s3OriginId)
                .build())
            .restrictions(DistributionRestrictionsArgs.builder()
                .geoRestriction(DistributionRestrictionsGeoRestrictionArgs.builder()
                    .restrictionType("whitelist")
                    .locations(                    
                        "US",
                        "CA",
                        "GB",
                        "DE")
                    .build())
                .build())
            .viewerCertificate(DistributionViewerCertificateArgs.builder()
                .cloudfrontDefaultCertificate(true)
                .build())
            .build());

    }
}
Copy
resources:
  s3Distribution:
    type: aws:cloudfront:Distribution
    name: s3_distribution
    properties:
      origins:
        - domainName: ${primary.bucketRegionalDomainName}
          originId: myS3Origin
          s3OriginConfig:
            originAccessIdentity: ${default.cloudfrontAccessIdentityPath}
      enabled: true
      isIpv6Enabled: true
      comment: Some comment
      defaultRootObject: index.html
      defaultCacheBehavior:
        cachePolicyId: 4135ea2d-6df8-44a3-9df3-4b5a84be39ad
        allowedMethods:
          - GET
          - HEAD
          - OPTIONS
        targetOriginId: ${s3OriginId}
      restrictions:
        geoRestriction:
          restrictionType: whitelist
          locations:
            - US
            - CA
            - GB
            - DE
      viewerCertificate:
        cloudfrontDefaultCertificate: true
variables:
  s3OriginId: myS3Origin
Copy

Create Distribution Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new Distribution(name: string, args: DistributionArgs, opts?: CustomResourceOptions);
@overload
def Distribution(resource_name: str,
                 args: DistributionArgs,
                 opts: Optional[ResourceOptions] = None)

@overload
def Distribution(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 enabled: Optional[bool] = None,
                 viewer_certificate: Optional[DistributionViewerCertificateArgs] = None,
                 restrictions: Optional[DistributionRestrictionsArgs] = None,
                 origins: Optional[Sequence[DistributionOriginArgs]] = None,
                 default_cache_behavior: Optional[DistributionDefaultCacheBehaviorArgs] = None,
                 ordered_cache_behaviors: Optional[Sequence[DistributionOrderedCacheBehaviorArgs]] = None,
                 custom_error_responses: Optional[Sequence[DistributionCustomErrorResponseArgs]] = None,
                 http_version: Optional[str] = None,
                 is_ipv6_enabled: Optional[bool] = None,
                 logging_config: Optional[DistributionLoggingConfigArgs] = None,
                 aliases: Optional[Sequence[str]] = None,
                 origin_groups: Optional[Sequence[DistributionOriginGroupArgs]] = None,
                 default_root_object: Optional[str] = None,
                 price_class: Optional[str] = None,
                 continuous_deployment_policy_id: Optional[str] = None,
                 retain_on_delete: Optional[bool] = None,
                 staging: Optional[bool] = None,
                 tags: Optional[Mapping[str, str]] = None,
                 comment: Optional[str] = None,
                 wait_for_deployment: Optional[bool] = None,
                 web_acl_id: Optional[str] = None)
func NewDistribution(ctx *Context, name string, args DistributionArgs, opts ...ResourceOption) (*Distribution, error)
public Distribution(string name, DistributionArgs args, CustomResourceOptions? opts = null)
public Distribution(String name, DistributionArgs args)
public Distribution(String name, DistributionArgs args, CustomResourceOptions options)
type: aws:cloudfront:Distribution
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. DistributionArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. DistributionArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. DistributionArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. DistributionArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. DistributionArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var distributionResource = new Aws.CloudFront.Distribution("distributionResource", new()
{
    Enabled = false,
    ViewerCertificate = new Aws.CloudFront.Inputs.DistributionViewerCertificateArgs
    {
        AcmCertificateArn = "string",
        CloudfrontDefaultCertificate = false,
        IamCertificateId = "string",
        MinimumProtocolVersion = "string",
        SslSupportMethod = "string",
    },
    Restrictions = new Aws.CloudFront.Inputs.DistributionRestrictionsArgs
    {
        GeoRestriction = new Aws.CloudFront.Inputs.DistributionRestrictionsGeoRestrictionArgs
        {
            RestrictionType = "string",
            Locations = new[]
            {
                "string",
            },
        },
    },
    Origins = new[]
    {
        new Aws.CloudFront.Inputs.DistributionOriginArgs
        {
            DomainName = "string",
            OriginId = "string",
            ConnectionAttempts = 0,
            ConnectionTimeout = 0,
            CustomHeaders = new[]
            {
                new Aws.CloudFront.Inputs.DistributionOriginCustomHeaderArgs
                {
                    Name = "string",
                    Value = "string",
                },
            },
            CustomOriginConfig = new Aws.CloudFront.Inputs.DistributionOriginCustomOriginConfigArgs
            {
                HttpPort = 0,
                HttpsPort = 0,
                OriginProtocolPolicy = "string",
                OriginSslProtocols = new[]
                {
                    "string",
                },
                OriginKeepaliveTimeout = 0,
                OriginReadTimeout = 0,
            },
            OriginAccessControlId = "string",
            OriginPath = "string",
            OriginShield = new Aws.CloudFront.Inputs.DistributionOriginOriginShieldArgs
            {
                Enabled = false,
                OriginShieldRegion = "string",
            },
            S3OriginConfig = new Aws.CloudFront.Inputs.DistributionOriginS3OriginConfigArgs
            {
                OriginAccessIdentity = "string",
            },
            VpcOriginConfig = new Aws.CloudFront.Inputs.DistributionOriginVpcOriginConfigArgs
            {
                VpcOriginId = "string",
                OriginKeepaliveTimeout = 0,
                OriginReadTimeout = 0,
            },
        },
    },
    DefaultCacheBehavior = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorArgs
    {
        AllowedMethods = new[]
        {
            "string",
        },
        ViewerProtocolPolicy = "string",
        CachedMethods = new[]
        {
            "string",
        },
        TargetOriginId = "string",
        MaxTtl = 0,
        MinTtl = 0,
        ForwardedValues = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorForwardedValuesArgs
        {
            Cookies = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs
            {
                Forward = "string",
                WhitelistedNames = new[]
                {
                    "string",
                },
            },
            QueryString = false,
            Headers = new[]
            {
                "string",
            },
            QueryStringCacheKeys = new[]
            {
                "string",
            },
        },
        FunctionAssociations = new[]
        {
            new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorFunctionAssociationArgs
            {
                EventType = "string",
                FunctionArn = "string",
            },
        },
        GrpcConfig = new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorGrpcConfigArgs
        {
            Enabled = false,
        },
        LambdaFunctionAssociations = new[]
        {
            new Aws.CloudFront.Inputs.DistributionDefaultCacheBehaviorLambdaFunctionAssociationArgs
            {
                EventType = "string",
                LambdaArn = "string",
                IncludeBody = false,
            },
        },
        DefaultTtl = 0,
        FieldLevelEncryptionId = "string",
        OriginRequestPolicyId = "string",
        RealtimeLogConfigArn = "string",
        ResponseHeadersPolicyId = "string",
        SmoothStreaming = false,
        Compress = false,
        TrustedKeyGroups = new[]
        {
            "string",
        },
        TrustedSigners = new[]
        {
            "string",
        },
        CachePolicyId = "string",
    },
    OrderedCacheBehaviors = new[]
    {
        new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorArgs
        {
            AllowedMethods = new[]
            {
                "string",
            },
            ViewerProtocolPolicy = "string",
            CachedMethods = new[]
            {
                "string",
            },
            TargetOriginId = "string",
            PathPattern = "string",
            MaxTtl = 0,
            OriginRequestPolicyId = "string",
            FunctionAssociations = new[]
            {
                new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorFunctionAssociationArgs
                {
                    EventType = "string",
                    FunctionArn = "string",
                },
            },
            GrpcConfig = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorGrpcConfigArgs
            {
                Enabled = false,
            },
            LambdaFunctionAssociations = new[]
            {
                new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorLambdaFunctionAssociationArgs
                {
                    EventType = "string",
                    LambdaArn = "string",
                    IncludeBody = false,
                },
            },
            FieldLevelEncryptionId = "string",
            MinTtl = 0,
            ForwardedValues = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesArgs
            {
                Cookies = new Aws.CloudFront.Inputs.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs
                {
                    Forward = "string",
                    WhitelistedNames = new[]
                    {
                        "string",
                    },
                },
                QueryString = false,
                Headers = new[]
                {
                    "string",
                },
                QueryStringCacheKeys = new[]
                {
                    "string",
                },
            },
            DefaultTtl = 0,
            RealtimeLogConfigArn = "string",
            ResponseHeadersPolicyId = "string",
            SmoothStreaming = false,
            Compress = false,
            TrustedKeyGroups = new[]
            {
                "string",
            },
            TrustedSigners = new[]
            {
                "string",
            },
            CachePolicyId = "string",
        },
    },
    CustomErrorResponses = new[]
    {
        new Aws.CloudFront.Inputs.DistributionCustomErrorResponseArgs
        {
            ErrorCode = 0,
            ErrorCachingMinTtl = 0,
            ResponseCode = 0,
            ResponsePagePath = "string",
        },
    },
    HttpVersion = "string",
    IsIpv6Enabled = false,
    LoggingConfig = new Aws.CloudFront.Inputs.DistributionLoggingConfigArgs
    {
        Bucket = "string",
        IncludeCookies = false,
        Prefix = "string",
    },
    Aliases = new[]
    {
        "string",
    },
    OriginGroups = new[]
    {
        new Aws.CloudFront.Inputs.DistributionOriginGroupArgs
        {
            FailoverCriteria = new Aws.CloudFront.Inputs.DistributionOriginGroupFailoverCriteriaArgs
            {
                StatusCodes = new[]
                {
                    0,
                },
            },
            Members = new[]
            {
                new Aws.CloudFront.Inputs.DistributionOriginGroupMemberArgs
                {
                    OriginId = "string",
                },
            },
            OriginId = "string",
        },
    },
    DefaultRootObject = "string",
    PriceClass = "string",
    ContinuousDeploymentPolicyId = "string",
    RetainOnDelete = false,
    Staging = false,
    Tags = 
    {
        { "string", "string" },
    },
    Comment = "string",
    WaitForDeployment = false,
    WebAclId = "string",
});
Copy
example, err := cloudfront.NewDistribution(ctx, "distributionResource", &cloudfront.DistributionArgs{
	Enabled: pulumi.Bool(false),
	ViewerCertificate: &cloudfront.DistributionViewerCertificateArgs{
		AcmCertificateArn:            pulumi.String("string"),
		CloudfrontDefaultCertificate: pulumi.Bool(false),
		IamCertificateId:             pulumi.String("string"),
		MinimumProtocolVersion:       pulumi.String("string"),
		SslSupportMethod:             pulumi.String("string"),
	},
	Restrictions: &cloudfront.DistributionRestrictionsArgs{
		GeoRestriction: &cloudfront.DistributionRestrictionsGeoRestrictionArgs{
			RestrictionType: pulumi.String("string"),
			Locations: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
	},
	Origins: cloudfront.DistributionOriginArray{
		&cloudfront.DistributionOriginArgs{
			DomainName:         pulumi.String("string"),
			OriginId:           pulumi.String("string"),
			ConnectionAttempts: pulumi.Int(0),
			ConnectionTimeout:  pulumi.Int(0),
			CustomHeaders: cloudfront.DistributionOriginCustomHeaderArray{
				&cloudfront.DistributionOriginCustomHeaderArgs{
					Name:  pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
			CustomOriginConfig: &cloudfront.DistributionOriginCustomOriginConfigArgs{
				HttpPort:             pulumi.Int(0),
				HttpsPort:            pulumi.Int(0),
				OriginProtocolPolicy: pulumi.String("string"),
				OriginSslProtocols: pulumi.StringArray{
					pulumi.String("string"),
				},
				OriginKeepaliveTimeout: pulumi.Int(0),
				OriginReadTimeout:      pulumi.Int(0),
			},
			OriginAccessControlId: pulumi.String("string"),
			OriginPath:            pulumi.String("string"),
			OriginShield: &cloudfront.DistributionOriginOriginShieldArgs{
				Enabled:            pulumi.Bool(false),
				OriginShieldRegion: pulumi.String("string"),
			},
			S3OriginConfig: &cloudfront.DistributionOriginS3OriginConfigArgs{
				OriginAccessIdentity: pulumi.String("string"),
			},
			VpcOriginConfig: &cloudfront.DistributionOriginVpcOriginConfigArgs{
				VpcOriginId:            pulumi.String("string"),
				OriginKeepaliveTimeout: pulumi.Int(0),
				OriginReadTimeout:      pulumi.Int(0),
			},
		},
	},
	DefaultCacheBehavior: &cloudfront.DistributionDefaultCacheBehaviorArgs{
		AllowedMethods: pulumi.StringArray{
			pulumi.String("string"),
		},
		ViewerProtocolPolicy: pulumi.String("string"),
		CachedMethods: pulumi.StringArray{
			pulumi.String("string"),
		},
		TargetOriginId: pulumi.String("string"),
		MaxTtl:         pulumi.Int(0),
		MinTtl:         pulumi.Int(0),
		ForwardedValues: &cloudfront.DistributionDefaultCacheBehaviorForwardedValuesArgs{
			Cookies: &cloudfront.DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs{
				Forward: pulumi.String("string"),
				WhitelistedNames: pulumi.StringArray{
					pulumi.String("string"),
				},
			},
			QueryString: pulumi.Bool(false),
			Headers: pulumi.StringArray{
				pulumi.String("string"),
			},
			QueryStringCacheKeys: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
		FunctionAssociations: cloudfront.DistributionDefaultCacheBehaviorFunctionAssociationArray{
			&cloudfront.DistributionDefaultCacheBehaviorFunctionAssociationArgs{
				EventType:   pulumi.String("string"),
				FunctionArn: pulumi.String("string"),
			},
		},
		GrpcConfig: &cloudfront.DistributionDefaultCacheBehaviorGrpcConfigArgs{
			Enabled: pulumi.Bool(false),
		},
		LambdaFunctionAssociations: cloudfront.DistributionDefaultCacheBehaviorLambdaFunctionAssociationArray{
			&cloudfront.DistributionDefaultCacheBehaviorLambdaFunctionAssociationArgs{
				EventType:   pulumi.String("string"),
				LambdaArn:   pulumi.String("string"),
				IncludeBody: pulumi.Bool(false),
			},
		},
		DefaultTtl:              pulumi.Int(0),
		FieldLevelEncryptionId:  pulumi.String("string"),
		OriginRequestPolicyId:   pulumi.String("string"),
		RealtimeLogConfigArn:    pulumi.String("string"),
		ResponseHeadersPolicyId: pulumi.String("string"),
		SmoothStreaming:         pulumi.Bool(false),
		Compress:                pulumi.Bool(false),
		TrustedKeyGroups: pulumi.StringArray{
			pulumi.String("string"),
		},
		TrustedSigners: pulumi.StringArray{
			pulumi.String("string"),
		},
		CachePolicyId: pulumi.String("string"),
	},
	OrderedCacheBehaviors: cloudfront.DistributionOrderedCacheBehaviorArray{
		&cloudfront.DistributionOrderedCacheBehaviorArgs{
			AllowedMethods: pulumi.StringArray{
				pulumi.String("string"),
			},
			ViewerProtocolPolicy: pulumi.String("string"),
			CachedMethods: pulumi.StringArray{
				pulumi.String("string"),
			},
			TargetOriginId:        pulumi.String("string"),
			PathPattern:           pulumi.String("string"),
			MaxTtl:                pulumi.Int(0),
			OriginRequestPolicyId: pulumi.String("string"),
			FunctionAssociations: cloudfront.DistributionOrderedCacheBehaviorFunctionAssociationArray{
				&cloudfront.DistributionOrderedCacheBehaviorFunctionAssociationArgs{
					EventType:   pulumi.String("string"),
					FunctionArn: pulumi.String("string"),
				},
			},
			GrpcConfig: &cloudfront.DistributionOrderedCacheBehaviorGrpcConfigArgs{
				Enabled: pulumi.Bool(false),
			},
			LambdaFunctionAssociations: cloudfront.DistributionOrderedCacheBehaviorLambdaFunctionAssociationArray{
				&cloudfront.DistributionOrderedCacheBehaviorLambdaFunctionAssociationArgs{
					EventType:   pulumi.String("string"),
					LambdaArn:   pulumi.String("string"),
					IncludeBody: pulumi.Bool(false),
				},
			},
			FieldLevelEncryptionId: pulumi.String("string"),
			MinTtl:                 pulumi.Int(0),
			ForwardedValues: &cloudfront.DistributionOrderedCacheBehaviorForwardedValuesArgs{
				Cookies: &cloudfront.DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs{
					Forward: pulumi.String("string"),
					WhitelistedNames: pulumi.StringArray{
						pulumi.String("string"),
					},
				},
				QueryString: pulumi.Bool(false),
				Headers: pulumi.StringArray{
					pulumi.String("string"),
				},
				QueryStringCacheKeys: pulumi.StringArray{
					pulumi.String("string"),
				},
			},
			DefaultTtl:              pulumi.Int(0),
			RealtimeLogConfigArn:    pulumi.String("string"),
			ResponseHeadersPolicyId: pulumi.String("string"),
			SmoothStreaming:         pulumi.Bool(false),
			Compress:                pulumi.Bool(false),
			TrustedKeyGroups: pulumi.StringArray{
				pulumi.String("string"),
			},
			TrustedSigners: pulumi.StringArray{
				pulumi.String("string"),
			},
			CachePolicyId: pulumi.String("string"),
		},
	},
	CustomErrorResponses: cloudfront.DistributionCustomErrorResponseArray{
		&cloudfront.DistributionCustomErrorResponseArgs{
			ErrorCode:          pulumi.Int(0),
			ErrorCachingMinTtl: pulumi.Int(0),
			ResponseCode:       pulumi.Int(0),
			ResponsePagePath:   pulumi.String("string"),
		},
	},
	HttpVersion:   pulumi.String("string"),
	IsIpv6Enabled: pulumi.Bool(false),
	LoggingConfig: &cloudfront.DistributionLoggingConfigArgs{
		Bucket:         pulumi.String("string"),
		IncludeCookies: pulumi.Bool(false),
		Prefix:         pulumi.String("string"),
	},
	Aliases: pulumi.StringArray{
		pulumi.String("string"),
	},
	OriginGroups: cloudfront.DistributionOriginGroupArray{
		&cloudfront.DistributionOriginGroupArgs{
			FailoverCriteria: &cloudfront.DistributionOriginGroupFailoverCriteriaArgs{
				StatusCodes: pulumi.IntArray{
					pulumi.Int(0),
				},
			},
			Members: cloudfront.DistributionOriginGroupMemberArray{
				&cloudfront.DistributionOriginGroupMemberArgs{
					OriginId: pulumi.String("string"),
				},
			},
			OriginId: pulumi.String("string"),
		},
	},
	DefaultRootObject:            pulumi.String("string"),
	PriceClass:                   pulumi.String("string"),
	ContinuousDeploymentPolicyId: pulumi.String("string"),
	RetainOnDelete:               pulumi.Bool(false),
	Staging:                      pulumi.Bool(false),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Comment:           pulumi.String("string"),
	WaitForDeployment: pulumi.Bool(false),
	WebAclId:          pulumi.String("string"),
})
Copy
var distributionResource = new Distribution("distributionResource", DistributionArgs.builder()
    .enabled(false)
    .viewerCertificate(DistributionViewerCertificateArgs.builder()
        .acmCertificateArn("string")
        .cloudfrontDefaultCertificate(false)
        .iamCertificateId("string")
        .minimumProtocolVersion("string")
        .sslSupportMethod("string")
        .build())
    .restrictions(DistributionRestrictionsArgs.builder()
        .geoRestriction(DistributionRestrictionsGeoRestrictionArgs.builder()
            .restrictionType("string")
            .locations("string")
            .build())
        .build())
    .origins(DistributionOriginArgs.builder()
        .domainName("string")
        .originId("string")
        .connectionAttempts(0)
        .connectionTimeout(0)
        .customHeaders(DistributionOriginCustomHeaderArgs.builder()
            .name("string")
            .value("string")
            .build())
        .customOriginConfig(DistributionOriginCustomOriginConfigArgs.builder()
            .httpPort(0)
            .httpsPort(0)
            .originProtocolPolicy("string")
            .originSslProtocols("string")
            .originKeepaliveTimeout(0)
            .originReadTimeout(0)
            .build())
        .originAccessControlId("string")
        .originPath("string")
        .originShield(DistributionOriginOriginShieldArgs.builder()
            .enabled(false)
            .originShieldRegion("string")
            .build())
        .s3OriginConfig(DistributionOriginS3OriginConfigArgs.builder()
            .originAccessIdentity("string")
            .build())
        .vpcOriginConfig(DistributionOriginVpcOriginConfigArgs.builder()
            .vpcOriginId("string")
            .originKeepaliveTimeout(0)
            .originReadTimeout(0)
            .build())
        .build())
    .defaultCacheBehavior(DistributionDefaultCacheBehaviorArgs.builder()
        .allowedMethods("string")
        .viewerProtocolPolicy("string")
        .cachedMethods("string")
        .targetOriginId("string")
        .maxTtl(0)
        .minTtl(0)
        .forwardedValues(DistributionDefaultCacheBehaviorForwardedValuesArgs.builder()
            .cookies(DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs.builder()
                .forward("string")
                .whitelistedNames("string")
                .build())
            .queryString(false)
            .headers("string")
            .queryStringCacheKeys("string")
            .build())
        .functionAssociations(DistributionDefaultCacheBehaviorFunctionAssociationArgs.builder()
            .eventType("string")
            .functionArn("string")
            .build())
        .grpcConfig(DistributionDefaultCacheBehaviorGrpcConfigArgs.builder()
            .enabled(false)
            .build())
        .lambdaFunctionAssociations(DistributionDefaultCacheBehaviorLambdaFunctionAssociationArgs.builder()
            .eventType("string")
            .lambdaArn("string")
            .includeBody(false)
            .build())
        .defaultTtl(0)
        .fieldLevelEncryptionId("string")
        .originRequestPolicyId("string")
        .realtimeLogConfigArn("string")
        .responseHeadersPolicyId("string")
        .smoothStreaming(false)
        .compress(false)
        .trustedKeyGroups("string")
        .trustedSigners("string")
        .cachePolicyId("string")
        .build())
    .orderedCacheBehaviors(DistributionOrderedCacheBehaviorArgs.builder()
        .allowedMethods("string")
        .viewerProtocolPolicy("string")
        .cachedMethods("string")
        .targetOriginId("string")
        .pathPattern("string")
        .maxTtl(0)
        .originRequestPolicyId("string")
        .functionAssociations(DistributionOrderedCacheBehaviorFunctionAssociationArgs.builder()
            .eventType("string")
            .functionArn("string")
            .build())
        .grpcConfig(DistributionOrderedCacheBehaviorGrpcConfigArgs.builder()
            .enabled(false)
            .build())
        .lambdaFunctionAssociations(DistributionOrderedCacheBehaviorLambdaFunctionAssociationArgs.builder()
            .eventType("string")
            .lambdaArn("string")
            .includeBody(false)
            .build())
        .fieldLevelEncryptionId("string")
        .minTtl(0)
        .forwardedValues(DistributionOrderedCacheBehaviorForwardedValuesArgs.builder()
            .cookies(DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs.builder()
                .forward("string")
                .whitelistedNames("string")
                .build())
            .queryString(false)
            .headers("string")
            .queryStringCacheKeys("string")
            .build())
        .defaultTtl(0)
        .realtimeLogConfigArn("string")
        .responseHeadersPolicyId("string")
        .smoothStreaming(false)
        .compress(false)
        .trustedKeyGroups("string")
        .trustedSigners("string")
        .cachePolicyId("string")
        .build())
    .customErrorResponses(DistributionCustomErrorResponseArgs.builder()
        .errorCode(0)
        .errorCachingMinTtl(0)
        .responseCode(0)
        .responsePagePath("string")
        .build())
    .httpVersion("string")
    .isIpv6Enabled(false)
    .loggingConfig(DistributionLoggingConfigArgs.builder()
        .bucket("string")
        .includeCookies(false)
        .prefix("string")
        .build())
    .aliases("string")
    .originGroups(DistributionOriginGroupArgs.builder()
        .failoverCriteria(DistributionOriginGroupFailoverCriteriaArgs.builder()
            .statusCodes(0)
            .build())
        .members(DistributionOriginGroupMemberArgs.builder()
            .originId("string")
            .build())
        .originId("string")
        .build())
    .defaultRootObject("string")
    .priceClass("string")
    .continuousDeploymentPolicyId("string")
    .retainOnDelete(false)
    .staging(false)
    .tags(Map.of("string", "string"))
    .comment("string")
    .waitForDeployment(false)
    .webAclId("string")
    .build());
Copy
distribution_resource = aws.cloudfront.Distribution("distributionResource",
    enabled=False,
    viewer_certificate={
        "acm_certificate_arn": "string",
        "cloudfront_default_certificate": False,
        "iam_certificate_id": "string",
        "minimum_protocol_version": "string",
        "ssl_support_method": "string",
    },
    restrictions={
        "geo_restriction": {
            "restriction_type": "string",
            "locations": ["string"],
        },
    },
    origins=[{
        "domain_name": "string",
        "origin_id": "string",
        "connection_attempts": 0,
        "connection_timeout": 0,
        "custom_headers": [{
            "name": "string",
            "value": "string",
        }],
        "custom_origin_config": {
            "http_port": 0,
            "https_port": 0,
            "origin_protocol_policy": "string",
            "origin_ssl_protocols": ["string"],
            "origin_keepalive_timeout": 0,
            "origin_read_timeout": 0,
        },
        "origin_access_control_id": "string",
        "origin_path": "string",
        "origin_shield": {
            "enabled": False,
            "origin_shield_region": "string",
        },
        "s3_origin_config": {
            "origin_access_identity": "string",
        },
        "vpc_origin_config": {
            "vpc_origin_id": "string",
            "origin_keepalive_timeout": 0,
            "origin_read_timeout": 0,
        },
    }],
    default_cache_behavior={
        "allowed_methods": ["string"],
        "viewer_protocol_policy": "string",
        "cached_methods": ["string"],
        "target_origin_id": "string",
        "max_ttl": 0,
        "min_ttl": 0,
        "forwarded_values": {
            "cookies": {
                "forward": "string",
                "whitelisted_names": ["string"],
            },
            "query_string": False,
            "headers": ["string"],
            "query_string_cache_keys": ["string"],
        },
        "function_associations": [{
            "event_type": "string",
            "function_arn": "string",
        }],
        "grpc_config": {
            "enabled": False,
        },
        "lambda_function_associations": [{
            "event_type": "string",
            "lambda_arn": "string",
            "include_body": False,
        }],
        "default_ttl": 0,
        "field_level_encryption_id": "string",
        "origin_request_policy_id": "string",
        "realtime_log_config_arn": "string",
        "response_headers_policy_id": "string",
        "smooth_streaming": False,
        "compress": False,
        "trusted_key_groups": ["string"],
        "trusted_signers": ["string"],
        "cache_policy_id": "string",
    },
    ordered_cache_behaviors=[{
        "allowed_methods": ["string"],
        "viewer_protocol_policy": "string",
        "cached_methods": ["string"],
        "target_origin_id": "string",
        "path_pattern": "string",
        "max_ttl": 0,
        "origin_request_policy_id": "string",
        "function_associations": [{
            "event_type": "string",
            "function_arn": "string",
        }],
        "grpc_config": {
            "enabled": False,
        },
        "lambda_function_associations": [{
            "event_type": "string",
            "lambda_arn": "string",
            "include_body": False,
        }],
        "field_level_encryption_id": "string",
        "min_ttl": 0,
        "forwarded_values": {
            "cookies": {
                "forward": "string",
                "whitelisted_names": ["string"],
            },
            "query_string": False,
            "headers": ["string"],
            "query_string_cache_keys": ["string"],
        },
        "default_ttl": 0,
        "realtime_log_config_arn": "string",
        "response_headers_policy_id": "string",
        "smooth_streaming": False,
        "compress": False,
        "trusted_key_groups": ["string"],
        "trusted_signers": ["string"],
        "cache_policy_id": "string",
    }],
    custom_error_responses=[{
        "error_code": 0,
        "error_caching_min_ttl": 0,
        "response_code": 0,
        "response_page_path": "string",
    }],
    http_version="string",
    is_ipv6_enabled=False,
    logging_config={
        "bucket": "string",
        "include_cookies": False,
        "prefix": "string",
    },
    aliases=["string"],
    origin_groups=[{
        "failover_criteria": {
            "status_codes": [0],
        },
        "members": [{
            "origin_id": "string",
        }],
        "origin_id": "string",
    }],
    default_root_object="string",
    price_class="string",
    continuous_deployment_policy_id="string",
    retain_on_delete=False,
    staging=False,
    tags={
        "string": "string",
    },
    comment="string",
    wait_for_deployment=False,
    web_acl_id="string")
Copy
const distributionResource = new aws.cloudfront.Distribution("distributionResource", {
    enabled: false,
    viewerCertificate: {
        acmCertificateArn: "string",
        cloudfrontDefaultCertificate: false,
        iamCertificateId: "string",
        minimumProtocolVersion: "string",
        sslSupportMethod: "string",
    },
    restrictions: {
        geoRestriction: {
            restrictionType: "string",
            locations: ["string"],
        },
    },
    origins: [{
        domainName: "string",
        originId: "string",
        connectionAttempts: 0,
        connectionTimeout: 0,
        customHeaders: [{
            name: "string",
            value: "string",
        }],
        customOriginConfig: {
            httpPort: 0,
            httpsPort: 0,
            originProtocolPolicy: "string",
            originSslProtocols: ["string"],
            originKeepaliveTimeout: 0,
            originReadTimeout: 0,
        },
        originAccessControlId: "string",
        originPath: "string",
        originShield: {
            enabled: false,
            originShieldRegion: "string",
        },
        s3OriginConfig: {
            originAccessIdentity: "string",
        },
        vpcOriginConfig: {
            vpcOriginId: "string",
            originKeepaliveTimeout: 0,
            originReadTimeout: 0,
        },
    }],
    defaultCacheBehavior: {
        allowedMethods: ["string"],
        viewerProtocolPolicy: "string",
        cachedMethods: ["string"],
        targetOriginId: "string",
        maxTtl: 0,
        minTtl: 0,
        forwardedValues: {
            cookies: {
                forward: "string",
                whitelistedNames: ["string"],
            },
            queryString: false,
            headers: ["string"],
            queryStringCacheKeys: ["string"],
        },
        functionAssociations: [{
            eventType: "string",
            functionArn: "string",
        }],
        grpcConfig: {
            enabled: false,
        },
        lambdaFunctionAssociations: [{
            eventType: "string",
            lambdaArn: "string",
            includeBody: false,
        }],
        defaultTtl: 0,
        fieldLevelEncryptionId: "string",
        originRequestPolicyId: "string",
        realtimeLogConfigArn: "string",
        responseHeadersPolicyId: "string",
        smoothStreaming: false,
        compress: false,
        trustedKeyGroups: ["string"],
        trustedSigners: ["string"],
        cachePolicyId: "string",
    },
    orderedCacheBehaviors: [{
        allowedMethods: ["string"],
        viewerProtocolPolicy: "string",
        cachedMethods: ["string"],
        targetOriginId: "string",
        pathPattern: "string",
        maxTtl: 0,
        originRequestPolicyId: "string",
        functionAssociations: [{
            eventType: "string",
            functionArn: "string",
        }],
        grpcConfig: {
            enabled: false,
        },
        lambdaFunctionAssociations: [{
            eventType: "string",
            lambdaArn: "string",
            includeBody: false,
        }],
        fieldLevelEncryptionId: "string",
        minTtl: 0,
        forwardedValues: {
            cookies: {
                forward: "string",
                whitelistedNames: ["string"],
            },
            queryString: false,
            headers: ["string"],
            queryStringCacheKeys: ["string"],
        },
        defaultTtl: 0,
        realtimeLogConfigArn: "string",
        responseHeadersPolicyId: "string",
        smoothStreaming: false,
        compress: false,
        trustedKeyGroups: ["string"],
        trustedSigners: ["string"],
        cachePolicyId: "string",
    }],
    customErrorResponses: [{
        errorCode: 0,
        errorCachingMinTtl: 0,
        responseCode: 0,
        responsePagePath: "string",
    }],
    httpVersion: "string",
    isIpv6Enabled: false,
    loggingConfig: {
        bucket: "string",
        includeCookies: false,
        prefix: "string",
    },
    aliases: ["string"],
    originGroups: [{
        failoverCriteria: {
            statusCodes: [0],
        },
        members: [{
            originId: "string",
        }],
        originId: "string",
    }],
    defaultRootObject: "string",
    priceClass: "string",
    continuousDeploymentPolicyId: "string",
    retainOnDelete: false,
    staging: false,
    tags: {
        string: "string",
    },
    comment: "string",
    waitForDeployment: false,
    webAclId: "string",
});
Copy
type: aws:cloudfront:Distribution
properties:
    aliases:
        - string
    comment: string
    continuousDeploymentPolicyId: string
    customErrorResponses:
        - errorCachingMinTtl: 0
          errorCode: 0
          responseCode: 0
          responsePagePath: string
    defaultCacheBehavior:
        allowedMethods:
            - string
        cachePolicyId: string
        cachedMethods:
            - string
        compress: false
        defaultTtl: 0
        fieldLevelEncryptionId: string
        forwardedValues:
            cookies:
                forward: string
                whitelistedNames:
                    - string
            headers:
                - string
            queryString: false
            queryStringCacheKeys:
                - string
        functionAssociations:
            - eventType: string
              functionArn: string
        grpcConfig:
            enabled: false
        lambdaFunctionAssociations:
            - eventType: string
              includeBody: false
              lambdaArn: string
        maxTtl: 0
        minTtl: 0
        originRequestPolicyId: string
        realtimeLogConfigArn: string
        responseHeadersPolicyId: string
        smoothStreaming: false
        targetOriginId: string
        trustedKeyGroups:
            - string
        trustedSigners:
            - string
        viewerProtocolPolicy: string
    defaultRootObject: string
    enabled: false
    httpVersion: string
    isIpv6Enabled: false
    loggingConfig:
        bucket: string
        includeCookies: false
        prefix: string
    orderedCacheBehaviors:
        - allowedMethods:
            - string
          cachePolicyId: string
          cachedMethods:
            - string
          compress: false
          defaultTtl: 0
          fieldLevelEncryptionId: string
          forwardedValues:
            cookies:
                forward: string
                whitelistedNames:
                    - string
            headers:
                - string
            queryString: false
            queryStringCacheKeys:
                - string
          functionAssociations:
            - eventType: string
              functionArn: string
          grpcConfig:
            enabled: false
          lambdaFunctionAssociations:
            - eventType: string
              includeBody: false
              lambdaArn: string
          maxTtl: 0
          minTtl: 0
          originRequestPolicyId: string
          pathPattern: string
          realtimeLogConfigArn: string
          responseHeadersPolicyId: string
          smoothStreaming: false
          targetOriginId: string
          trustedKeyGroups:
            - string
          trustedSigners:
            - string
          viewerProtocolPolicy: string
    originGroups:
        - failoverCriteria:
            statusCodes:
                - 0
          members:
            - originId: string
          originId: string
    origins:
        - connectionAttempts: 0
          connectionTimeout: 0
          customHeaders:
            - name: string
              value: string
          customOriginConfig:
            httpPort: 0
            httpsPort: 0
            originKeepaliveTimeout: 0
            originProtocolPolicy: string
            originReadTimeout: 0
            originSslProtocols:
                - string
          domainName: string
          originAccessControlId: string
          originId: string
          originPath: string
          originShield:
            enabled: false
            originShieldRegion: string
          s3OriginConfig:
            originAccessIdentity: string
          vpcOriginConfig:
            originKeepaliveTimeout: 0
            originReadTimeout: 0
            vpcOriginId: string
    priceClass: string
    restrictions:
        geoRestriction:
            locations:
                - string
            restrictionType: string
    retainOnDelete: false
    staging: false
    tags:
        string: string
    viewerCertificate:
        acmCertificateArn: string
        cloudfrontDefaultCertificate: false
        iamCertificateId: string
        minimumProtocolVersion: string
        sslSupportMethod: string
    waitForDeployment: false
    webAclId: string
Copy

Distribution Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Distribution resource accepts the following input properties:

DefaultCacheBehavior This property is required. DistributionDefaultCacheBehavior
Enabled This property is required. bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
Origins This property is required. List<DistributionOrigin>
Restrictions This property is required. DistributionRestrictions
ViewerCertificate This property is required. DistributionViewerCertificate
Aliases List<string>
Comment string
ContinuousDeploymentPolicyId string
CustomErrorResponses List<DistributionCustomErrorResponse>
DefaultRootObject string
HttpVersion string
IsIpv6Enabled bool
LoggingConfig DistributionLoggingConfig
OrderedCacheBehaviors List<DistributionOrderedCacheBehavior>
OriginGroups List<DistributionOriginGroup>
PriceClass string
RetainOnDelete bool
Staging Changes to this property will trigger replacement. bool
Tags Dictionary<string, string>
WaitForDeployment bool
WebAclId string
DefaultCacheBehavior This property is required. DistributionDefaultCacheBehaviorArgs
Enabled This property is required. bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
Origins This property is required. []DistributionOriginArgs
Restrictions This property is required. DistributionRestrictionsArgs
ViewerCertificate This property is required. DistributionViewerCertificateArgs
Aliases []string
Comment string
ContinuousDeploymentPolicyId string
CustomErrorResponses []DistributionCustomErrorResponseArgs
DefaultRootObject string
HttpVersion string
IsIpv6Enabled bool
LoggingConfig DistributionLoggingConfigArgs
OrderedCacheBehaviors []DistributionOrderedCacheBehaviorArgs
OriginGroups []DistributionOriginGroupArgs
PriceClass string
RetainOnDelete bool
Staging Changes to this property will trigger replacement. bool
Tags map[string]string
WaitForDeployment bool
WebAclId string
defaultCacheBehavior This property is required. DistributionDefaultCacheBehavior
enabled This property is required. Boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
origins This property is required. List<DistributionOrigin>
restrictions This property is required. DistributionRestrictions
viewerCertificate This property is required. DistributionViewerCertificate
aliases List<String>
comment String
continuousDeploymentPolicyId String
customErrorResponses List<DistributionCustomErrorResponse>
defaultRootObject String
httpVersion String
isIpv6Enabled Boolean
loggingConfig DistributionLoggingConfig
orderedCacheBehaviors List<DistributionOrderedCacheBehavior>
originGroups List<DistributionOriginGroup>
priceClass String
retainOnDelete Boolean
staging Changes to this property will trigger replacement. Boolean
tags Map<String,String>
waitForDeployment Boolean
webAclId String
defaultCacheBehavior This property is required. DistributionDefaultCacheBehavior
enabled This property is required. boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
origins This property is required. DistributionOrigin[]
restrictions This property is required. DistributionRestrictions
viewerCertificate This property is required. DistributionViewerCertificate
aliases string[]
comment string
continuousDeploymentPolicyId string
customErrorResponses DistributionCustomErrorResponse[]
defaultRootObject string
httpVersion string
isIpv6Enabled boolean
loggingConfig DistributionLoggingConfig
orderedCacheBehaviors DistributionOrderedCacheBehavior[]
originGroups DistributionOriginGroup[]
priceClass string
retainOnDelete boolean
staging Changes to this property will trigger replacement. boolean
tags {[key: string]: string}
waitForDeployment boolean
webAclId string
default_cache_behavior This property is required. DistributionDefaultCacheBehaviorArgs
enabled This property is required. bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
origins This property is required. Sequence[DistributionOriginArgs]
restrictions This property is required. DistributionRestrictionsArgs
viewer_certificate This property is required. DistributionViewerCertificateArgs
aliases Sequence[str]
comment str
continuous_deployment_policy_id str
custom_error_responses Sequence[DistributionCustomErrorResponseArgs]
default_root_object str
http_version str
is_ipv6_enabled bool
logging_config DistributionLoggingConfigArgs
ordered_cache_behaviors Sequence[DistributionOrderedCacheBehaviorArgs]
origin_groups Sequence[DistributionOriginGroupArgs]
price_class str
retain_on_delete bool
staging Changes to this property will trigger replacement. bool
tags Mapping[str, str]
wait_for_deployment bool
web_acl_id str
defaultCacheBehavior This property is required. Property Map
enabled This property is required. Boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
origins This property is required. List<Property Map>
restrictions This property is required. Property Map
viewerCertificate This property is required. Property Map
aliases List<String>
comment String
continuousDeploymentPolicyId String
customErrorResponses List<Property Map>
defaultRootObject String
httpVersion String
isIpv6Enabled Boolean
loggingConfig Property Map
orderedCacheBehaviors List<Property Map>
originGroups List<Property Map>
priceClass String
retainOnDelete Boolean
staging Changes to this property will trigger replacement. Boolean
tags Map<String>
waitForDeployment Boolean
webAclId String

Outputs

All input properties are implicitly available as output properties. Additionally, the Distribution resource produces the following output properties:

Arn string
ARN for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.
CallerReference string
Internal value used by CloudFront to allow future updates to the distribution configuration.
DomainName string
Domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
Etag string
Current version of the distribution's information. For example: E2QWRUHAPOMQZL.
HostedZoneId string
CloudFront Route 53 zone ID that can be used to route an Alias Resource Record Set to. This attribute is simply an alias for the zone ID Z2FDTNDATAQYW2.
Id string
The provider-assigned unique ID for this managed resource.
InProgressValidationBatches int
Number of invalidation batches currently in progress.
LastModifiedTime string
Date and time the distribution was last modified.
Status string
Current status of the distribution. Deployed if the distribution's information is fully propagated throughout the Amazon CloudFront system.
TagsAll Dictionary<string, string>
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

TrustedKeyGroups List<DistributionTrustedKeyGroup>
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
TrustedSigners List<DistributionTrustedSigner>
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
Arn string
ARN for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.
CallerReference string
Internal value used by CloudFront to allow future updates to the distribution configuration.
DomainName string
Domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
Etag string
Current version of the distribution's information. For example: E2QWRUHAPOMQZL.
HostedZoneId string
CloudFront Route 53 zone ID that can be used to route an Alias Resource Record Set to. This attribute is simply an alias for the zone ID Z2FDTNDATAQYW2.
Id string
The provider-assigned unique ID for this managed resource.
InProgressValidationBatches int
Number of invalidation batches currently in progress.
LastModifiedTime string
Date and time the distribution was last modified.
Status string
Current status of the distribution. Deployed if the distribution's information is fully propagated throughout the Amazon CloudFront system.
TagsAll map[string]string
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

TrustedKeyGroups []DistributionTrustedKeyGroup
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
TrustedSigners []DistributionTrustedSigner
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
arn String
ARN for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.
callerReference String
Internal value used by CloudFront to allow future updates to the distribution configuration.
domainName String
Domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
etag String
Current version of the distribution's information. For example: E2QWRUHAPOMQZL.
hostedZoneId String
CloudFront Route 53 zone ID that can be used to route an Alias Resource Record Set to. This attribute is simply an alias for the zone ID Z2FDTNDATAQYW2.
id String
The provider-assigned unique ID for this managed resource.
inProgressValidationBatches Integer
Number of invalidation batches currently in progress.
lastModifiedTime String
Date and time the distribution was last modified.
status String
Current status of the distribution. Deployed if the distribution's information is fully propagated throughout the Amazon CloudFront system.
tagsAll Map<String,String>
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

trustedKeyGroups List<DistributionTrustedKeyGroup>
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
trustedSigners List<DistributionTrustedSigner>
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
arn string
ARN for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.
callerReference string
Internal value used by CloudFront to allow future updates to the distribution configuration.
domainName string
Domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
etag string
Current version of the distribution's information. For example: E2QWRUHAPOMQZL.
hostedZoneId string
CloudFront Route 53 zone ID that can be used to route an Alias Resource Record Set to. This attribute is simply an alias for the zone ID Z2FDTNDATAQYW2.
id string
The provider-assigned unique ID for this managed resource.
inProgressValidationBatches number
Number of invalidation batches currently in progress.
lastModifiedTime string
Date and time the distribution was last modified.
status string
Current status of the distribution. Deployed if the distribution's information is fully propagated throughout the Amazon CloudFront system.
tagsAll {[key: string]: string}
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

trustedKeyGroups DistributionTrustedKeyGroup[]
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
trustedSigners DistributionTrustedSigner[]
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
arn str
ARN for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.
caller_reference str
Internal value used by CloudFront to allow future updates to the distribution configuration.
domain_name str
Domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
etag str
Current version of the distribution's information. For example: E2QWRUHAPOMQZL.
hosted_zone_id str
CloudFront Route 53 zone ID that can be used to route an Alias Resource Record Set to. This attribute is simply an alias for the zone ID Z2FDTNDATAQYW2.
id str
The provider-assigned unique ID for this managed resource.
in_progress_validation_batches int
Number of invalidation batches currently in progress.
last_modified_time str
Date and time the distribution was last modified.
status str
Current status of the distribution. Deployed if the distribution's information is fully propagated throughout the Amazon CloudFront system.
tags_all Mapping[str, str]
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

trusted_key_groups Sequence[DistributionTrustedKeyGroup]
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
trusted_signers Sequence[DistributionTrustedSigner]
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
arn String
ARN for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.
callerReference String
Internal value used by CloudFront to allow future updates to the distribution configuration.
domainName String
Domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
etag String
Current version of the distribution's information. For example: E2QWRUHAPOMQZL.
hostedZoneId String
CloudFront Route 53 zone ID that can be used to route an Alias Resource Record Set to. This attribute is simply an alias for the zone ID Z2FDTNDATAQYW2.
id String
The provider-assigned unique ID for this managed resource.
inProgressValidationBatches Number
Number of invalidation batches currently in progress.
lastModifiedTime String
Date and time the distribution was last modified.
status String
Current status of the distribution. Deployed if the distribution's information is fully propagated throughout the Amazon CloudFront system.
tagsAll Map<String>
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

trustedKeyGroups List<Property Map>
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
trustedSigners List<Property Map>
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.

Look up Existing Distribution Resource

Get an existing Distribution resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: DistributionState, opts?: CustomResourceOptions): Distribution
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        aliases: Optional[Sequence[str]] = None,
        arn: Optional[str] = None,
        caller_reference: Optional[str] = None,
        comment: Optional[str] = None,
        continuous_deployment_policy_id: Optional[str] = None,
        custom_error_responses: Optional[Sequence[DistributionCustomErrorResponseArgs]] = None,
        default_cache_behavior: Optional[DistributionDefaultCacheBehaviorArgs] = None,
        default_root_object: Optional[str] = None,
        domain_name: Optional[str] = None,
        enabled: Optional[bool] = None,
        etag: Optional[str] = None,
        hosted_zone_id: Optional[str] = None,
        http_version: Optional[str] = None,
        in_progress_validation_batches: Optional[int] = None,
        is_ipv6_enabled: Optional[bool] = None,
        last_modified_time: Optional[str] = None,
        logging_config: Optional[DistributionLoggingConfigArgs] = None,
        ordered_cache_behaviors: Optional[Sequence[DistributionOrderedCacheBehaviorArgs]] = None,
        origin_groups: Optional[Sequence[DistributionOriginGroupArgs]] = None,
        origins: Optional[Sequence[DistributionOriginArgs]] = None,
        price_class: Optional[str] = None,
        restrictions: Optional[DistributionRestrictionsArgs] = None,
        retain_on_delete: Optional[bool] = None,
        staging: Optional[bool] = None,
        status: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None,
        trusted_key_groups: Optional[Sequence[DistributionTrustedKeyGroupArgs]] = None,
        trusted_signers: Optional[Sequence[DistributionTrustedSignerArgs]] = None,
        viewer_certificate: Optional[DistributionViewerCertificateArgs] = None,
        wait_for_deployment: Optional[bool] = None,
        web_acl_id: Optional[str] = None) -> Distribution
func GetDistribution(ctx *Context, name string, id IDInput, state *DistributionState, opts ...ResourceOption) (*Distribution, error)
public static Distribution Get(string name, Input<string> id, DistributionState? state, CustomResourceOptions? opts = null)
public static Distribution get(String name, Output<String> id, DistributionState state, CustomResourceOptions options)
resources:  _:    type: aws:cloudfront:Distribution    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Aliases List<string>
Arn string
ARN for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.
CallerReference string
Internal value used by CloudFront to allow future updates to the distribution configuration.
Comment string
ContinuousDeploymentPolicyId string
CustomErrorResponses List<DistributionCustomErrorResponse>
DefaultCacheBehavior DistributionDefaultCacheBehavior
DefaultRootObject string
DomainName string
Domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
Enabled bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
Etag string
Current version of the distribution's information. For example: E2QWRUHAPOMQZL.
HostedZoneId string
CloudFront Route 53 zone ID that can be used to route an Alias Resource Record Set to. This attribute is simply an alias for the zone ID Z2FDTNDATAQYW2.
HttpVersion string
InProgressValidationBatches int
Number of invalidation batches currently in progress.
IsIpv6Enabled bool
LastModifiedTime string
Date and time the distribution was last modified.
LoggingConfig DistributionLoggingConfig
OrderedCacheBehaviors List<DistributionOrderedCacheBehavior>
OriginGroups List<DistributionOriginGroup>
Origins List<DistributionOrigin>
PriceClass string
Restrictions DistributionRestrictions
RetainOnDelete bool
Staging Changes to this property will trigger replacement. bool
Status string
Current status of the distribution. Deployed if the distribution's information is fully propagated throughout the Amazon CloudFront system.
Tags Dictionary<string, string>
TagsAll Dictionary<string, string>
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

TrustedKeyGroups List<DistributionTrustedKeyGroup>
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
TrustedSigners List<DistributionTrustedSigner>
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
ViewerCertificate DistributionViewerCertificate
WaitForDeployment bool
WebAclId string
Aliases []string
Arn string
ARN for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.
CallerReference string
Internal value used by CloudFront to allow future updates to the distribution configuration.
Comment string
ContinuousDeploymentPolicyId string
CustomErrorResponses []DistributionCustomErrorResponseArgs
DefaultCacheBehavior DistributionDefaultCacheBehaviorArgs
DefaultRootObject string
DomainName string
Domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
Enabled bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
Etag string
Current version of the distribution's information. For example: E2QWRUHAPOMQZL.
HostedZoneId string
CloudFront Route 53 zone ID that can be used to route an Alias Resource Record Set to. This attribute is simply an alias for the zone ID Z2FDTNDATAQYW2.
HttpVersion string
InProgressValidationBatches int
Number of invalidation batches currently in progress.
IsIpv6Enabled bool
LastModifiedTime string
Date and time the distribution was last modified.
LoggingConfig DistributionLoggingConfigArgs
OrderedCacheBehaviors []DistributionOrderedCacheBehaviorArgs
OriginGroups []DistributionOriginGroupArgs
Origins []DistributionOriginArgs
PriceClass string
Restrictions DistributionRestrictionsArgs
RetainOnDelete bool
Staging Changes to this property will trigger replacement. bool
Status string
Current status of the distribution. Deployed if the distribution's information is fully propagated throughout the Amazon CloudFront system.
Tags map[string]string
TagsAll map[string]string
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

TrustedKeyGroups []DistributionTrustedKeyGroupArgs
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
TrustedSigners []DistributionTrustedSignerArgs
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
ViewerCertificate DistributionViewerCertificateArgs
WaitForDeployment bool
WebAclId string
aliases List<String>
arn String
ARN for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.
callerReference String
Internal value used by CloudFront to allow future updates to the distribution configuration.
comment String
continuousDeploymentPolicyId String
customErrorResponses List<DistributionCustomErrorResponse>
defaultCacheBehavior DistributionDefaultCacheBehavior
defaultRootObject String
domainName String
Domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
enabled Boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
etag String
Current version of the distribution's information. For example: E2QWRUHAPOMQZL.
hostedZoneId String
CloudFront Route 53 zone ID that can be used to route an Alias Resource Record Set to. This attribute is simply an alias for the zone ID Z2FDTNDATAQYW2.
httpVersion String
inProgressValidationBatches Integer
Number of invalidation batches currently in progress.
isIpv6Enabled Boolean
lastModifiedTime String
Date and time the distribution was last modified.
loggingConfig DistributionLoggingConfig
orderedCacheBehaviors List<DistributionOrderedCacheBehavior>
originGroups List<DistributionOriginGroup>
origins List<DistributionOrigin>
priceClass String
restrictions DistributionRestrictions
retainOnDelete Boolean
staging Changes to this property will trigger replacement. Boolean
status String
Current status of the distribution. Deployed if the distribution's information is fully propagated throughout the Amazon CloudFront system.
tags Map<String,String>
tagsAll Map<String,String>
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

trustedKeyGroups List<DistributionTrustedKeyGroup>
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
trustedSigners List<DistributionTrustedSigner>
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
viewerCertificate DistributionViewerCertificate
waitForDeployment Boolean
webAclId String
aliases string[]
arn string
ARN for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.
callerReference string
Internal value used by CloudFront to allow future updates to the distribution configuration.
comment string
continuousDeploymentPolicyId string
customErrorResponses DistributionCustomErrorResponse[]
defaultCacheBehavior DistributionDefaultCacheBehavior
defaultRootObject string
domainName string
Domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
enabled boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
etag string
Current version of the distribution's information. For example: E2QWRUHAPOMQZL.
hostedZoneId string
CloudFront Route 53 zone ID that can be used to route an Alias Resource Record Set to. This attribute is simply an alias for the zone ID Z2FDTNDATAQYW2.
httpVersion string
inProgressValidationBatches number
Number of invalidation batches currently in progress.
isIpv6Enabled boolean
lastModifiedTime string
Date and time the distribution was last modified.
loggingConfig DistributionLoggingConfig
orderedCacheBehaviors DistributionOrderedCacheBehavior[]
originGroups DistributionOriginGroup[]
origins DistributionOrigin[]
priceClass string
restrictions DistributionRestrictions
retainOnDelete boolean
staging Changes to this property will trigger replacement. boolean
status string
Current status of the distribution. Deployed if the distribution's information is fully propagated throughout the Amazon CloudFront system.
tags {[key: string]: string}
tagsAll {[key: string]: string}
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

trustedKeyGroups DistributionTrustedKeyGroup[]
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
trustedSigners DistributionTrustedSigner[]
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
viewerCertificate DistributionViewerCertificate
waitForDeployment boolean
webAclId string
aliases Sequence[str]
arn str
ARN for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.
caller_reference str
Internal value used by CloudFront to allow future updates to the distribution configuration.
comment str
continuous_deployment_policy_id str
custom_error_responses Sequence[DistributionCustomErrorResponseArgs]
default_cache_behavior DistributionDefaultCacheBehaviorArgs
default_root_object str
domain_name str
Domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
enabled bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
etag str
Current version of the distribution's information. For example: E2QWRUHAPOMQZL.
hosted_zone_id str
CloudFront Route 53 zone ID that can be used to route an Alias Resource Record Set to. This attribute is simply an alias for the zone ID Z2FDTNDATAQYW2.
http_version str
in_progress_validation_batches int
Number of invalidation batches currently in progress.
is_ipv6_enabled bool
last_modified_time str
Date and time the distribution was last modified.
logging_config DistributionLoggingConfigArgs
ordered_cache_behaviors Sequence[DistributionOrderedCacheBehaviorArgs]
origin_groups Sequence[DistributionOriginGroupArgs]
origins Sequence[DistributionOriginArgs]
price_class str
restrictions DistributionRestrictionsArgs
retain_on_delete bool
staging Changes to this property will trigger replacement. bool
status str
Current status of the distribution. Deployed if the distribution's information is fully propagated throughout the Amazon CloudFront system.
tags Mapping[str, str]
tags_all Mapping[str, str]
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

trusted_key_groups Sequence[DistributionTrustedKeyGroupArgs]
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
trusted_signers Sequence[DistributionTrustedSignerArgs]
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
viewer_certificate DistributionViewerCertificateArgs
wait_for_deployment bool
web_acl_id str
aliases List<String>
arn String
ARN for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.
callerReference String
Internal value used by CloudFront to allow future updates to the distribution configuration.
comment String
continuousDeploymentPolicyId String
customErrorResponses List<Property Map>
defaultCacheBehavior Property Map
defaultRootObject String
domainName String
Domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
enabled Boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
etag String
Current version of the distribution's information. For example: E2QWRUHAPOMQZL.
hostedZoneId String
CloudFront Route 53 zone ID that can be used to route an Alias Resource Record Set to. This attribute is simply an alias for the zone ID Z2FDTNDATAQYW2.
httpVersion String
inProgressValidationBatches Number
Number of invalidation batches currently in progress.
isIpv6Enabled Boolean
lastModifiedTime String
Date and time the distribution was last modified.
loggingConfig Property Map
orderedCacheBehaviors List<Property Map>
originGroups List<Property Map>
origins List<Property Map>
priceClass String
restrictions Property Map
retainOnDelete Boolean
staging Changes to this property will trigger replacement. Boolean
status String
Current status of the distribution. Deployed if the distribution's information is fully propagated throughout the Amazon CloudFront system.
tags Map<String>
tagsAll Map<String>
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

trustedKeyGroups List<Property Map>
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
trustedSigners List<Property Map>
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
viewerCertificate Property Map
waitForDeployment Boolean
webAclId String

Supporting Types

DistributionCustomErrorResponse
, DistributionCustomErrorResponseArgs

ErrorCode This property is required. int
4xx or 5xx HTTP status code that you want to customize.
ErrorCachingMinTtl int
Minimum amount of time you want HTTP error codes to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.
ResponseCode int
HTTP status code that you want CloudFront to return with the custom error page to the viewer.
ResponsePagePath string
Path of the custom error page (for example, /custom_404.html).
ErrorCode This property is required. int
4xx or 5xx HTTP status code that you want to customize.
ErrorCachingMinTtl int
Minimum amount of time you want HTTP error codes to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.
ResponseCode int
HTTP status code that you want CloudFront to return with the custom error page to the viewer.
ResponsePagePath string
Path of the custom error page (for example, /custom_404.html).
errorCode This property is required. Integer
4xx or 5xx HTTP status code that you want to customize.
errorCachingMinTtl Integer
Minimum amount of time you want HTTP error codes to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.
responseCode Integer
HTTP status code that you want CloudFront to return with the custom error page to the viewer.
responsePagePath String
Path of the custom error page (for example, /custom_404.html).
errorCode This property is required. number
4xx or 5xx HTTP status code that you want to customize.
errorCachingMinTtl number
Minimum amount of time you want HTTP error codes to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.
responseCode number
HTTP status code that you want CloudFront to return with the custom error page to the viewer.
responsePagePath string
Path of the custom error page (for example, /custom_404.html).
error_code This property is required. int
4xx or 5xx HTTP status code that you want to customize.
error_caching_min_ttl int
Minimum amount of time you want HTTP error codes to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.
response_code int
HTTP status code that you want CloudFront to return with the custom error page to the viewer.
response_page_path str
Path of the custom error page (for example, /custom_404.html).
errorCode This property is required. Number
4xx or 5xx HTTP status code that you want to customize.
errorCachingMinTtl Number
Minimum amount of time you want HTTP error codes to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.
responseCode Number
HTTP status code that you want CloudFront to return with the custom error page to the viewer.
responsePagePath String
Path of the custom error page (for example, /custom_404.html).

DistributionDefaultCacheBehavior
, DistributionDefaultCacheBehaviorArgs

AllowedMethods This property is required. List<string>
Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
CachedMethods This property is required. List<string>
Controls whether CloudFront caches the response to requests using the specified HTTP methods.
TargetOriginId This property is required. string
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.
ViewerProtocolPolicy This property is required. string
Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. One of allow-all, https-only, or redirect-to-https.
CachePolicyId string
Unique identifier of the cache policy that is attached to the cache behavior. If configuring the default_cache_behavior either cache_policy_id or forwarded_values must be set.
Compress bool
Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header (default: false).
DefaultTtl int
Default amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request in the absence of an Cache-Control max-age or Expires header. The TTL defined in Cache Policy overrides this configuration.
FieldLevelEncryptionId string
Field level encryption configuration ID.
ForwardedValues DistributionDefaultCacheBehaviorForwardedValues
The forwarded values configuration that specifies how CloudFront handles query strings, cookies and headers (maximum one).
FunctionAssociations List<DistributionDefaultCacheBehaviorFunctionAssociation>
A config block that triggers a cloudfront function with specific actions (maximum 2).
GrpcConfig DistributionDefaultCacheBehaviorGrpcConfig
A config block that sets the grpc config.
LambdaFunctionAssociations List<DistributionDefaultCacheBehaviorLambdaFunctionAssociation>
A config block that triggers a lambda function with specific actions (maximum 4).
MaxTtl int
Maximum amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request to your origin to determine whether the object has been updated. Only effective in the presence of Cache-Control max-age, Cache-Control s-maxage, and Expires headers. The TTL defined in Cache Policy overrides this configuration.
MinTtl int
Minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. Defaults to 0 seconds. The TTL defined in Cache Policy overrides this configuration.
OriginRequestPolicyId string
Unique identifier of the origin request policy that is attached to the behavior.
RealtimeLogConfigArn string
ARN of the real-time log configuration that is attached to this cache behavior.
ResponseHeadersPolicyId string
Identifier for a response headers policy.
SmoothStreaming bool
Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior.
TrustedKeyGroups List<string>
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
TrustedSigners List<string>
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
AllowedMethods This property is required. []string
Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
CachedMethods This property is required. []string
Controls whether CloudFront caches the response to requests using the specified HTTP methods.
TargetOriginId This property is required. string
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.
ViewerProtocolPolicy This property is required. string
Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. One of allow-all, https-only, or redirect-to-https.
CachePolicyId string
Unique identifier of the cache policy that is attached to the cache behavior. If configuring the default_cache_behavior either cache_policy_id or forwarded_values must be set.
Compress bool
Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header (default: false).
DefaultTtl int
Default amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request in the absence of an Cache-Control max-age or Expires header. The TTL defined in Cache Policy overrides this configuration.
FieldLevelEncryptionId string
Field level encryption configuration ID.
ForwardedValues DistributionDefaultCacheBehaviorForwardedValues
The forwarded values configuration that specifies how CloudFront handles query strings, cookies and headers (maximum one).
FunctionAssociations []DistributionDefaultCacheBehaviorFunctionAssociation
A config block that triggers a cloudfront function with specific actions (maximum 2).
GrpcConfig DistributionDefaultCacheBehaviorGrpcConfig
A config block that sets the grpc config.
LambdaFunctionAssociations []DistributionDefaultCacheBehaviorLambdaFunctionAssociation
A config block that triggers a lambda function with specific actions (maximum 4).
MaxTtl int
Maximum amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request to your origin to determine whether the object has been updated. Only effective in the presence of Cache-Control max-age, Cache-Control s-maxage, and Expires headers. The TTL defined in Cache Policy overrides this configuration.
MinTtl int
Minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. Defaults to 0 seconds. The TTL defined in Cache Policy overrides this configuration.
OriginRequestPolicyId string
Unique identifier of the origin request policy that is attached to the behavior.
RealtimeLogConfigArn string
ARN of the real-time log configuration that is attached to this cache behavior.
ResponseHeadersPolicyId string
Identifier for a response headers policy.
SmoothStreaming bool
Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior.
TrustedKeyGroups []string
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
TrustedSigners []string
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
allowedMethods This property is required. List<String>
Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
cachedMethods This property is required. List<String>
Controls whether CloudFront caches the response to requests using the specified HTTP methods.
targetOriginId This property is required. String
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.
viewerProtocolPolicy This property is required. String
Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. One of allow-all, https-only, or redirect-to-https.
cachePolicyId String
Unique identifier of the cache policy that is attached to the cache behavior. If configuring the default_cache_behavior either cache_policy_id or forwarded_values must be set.
compress Boolean
Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header (default: false).
defaultTtl Integer
Default amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request in the absence of an Cache-Control max-age or Expires header. The TTL defined in Cache Policy overrides this configuration.
fieldLevelEncryptionId String
Field level encryption configuration ID.
forwardedValues DistributionDefaultCacheBehaviorForwardedValues
The forwarded values configuration that specifies how CloudFront handles query strings, cookies and headers (maximum one).
functionAssociations List<DistributionDefaultCacheBehaviorFunctionAssociation>
A config block that triggers a cloudfront function with specific actions (maximum 2).
grpcConfig DistributionDefaultCacheBehaviorGrpcConfig
A config block that sets the grpc config.
lambdaFunctionAssociations List<DistributionDefaultCacheBehaviorLambdaFunctionAssociation>
A config block that triggers a lambda function with specific actions (maximum 4).
maxTtl Integer
Maximum amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request to your origin to determine whether the object has been updated. Only effective in the presence of Cache-Control max-age, Cache-Control s-maxage, and Expires headers. The TTL defined in Cache Policy overrides this configuration.
minTtl Integer
Minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. Defaults to 0 seconds. The TTL defined in Cache Policy overrides this configuration.
originRequestPolicyId String
Unique identifier of the origin request policy that is attached to the behavior.
realtimeLogConfigArn String
ARN of the real-time log configuration that is attached to this cache behavior.
responseHeadersPolicyId String
Identifier for a response headers policy.
smoothStreaming Boolean
Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior.
trustedKeyGroups List<String>
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
trustedSigners List<String>
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
allowedMethods This property is required. string[]
Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
cachedMethods This property is required. string[]
Controls whether CloudFront caches the response to requests using the specified HTTP methods.
targetOriginId This property is required. string
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.
viewerProtocolPolicy This property is required. string
Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. One of allow-all, https-only, or redirect-to-https.
cachePolicyId string
Unique identifier of the cache policy that is attached to the cache behavior. If configuring the default_cache_behavior either cache_policy_id or forwarded_values must be set.
compress boolean
Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header (default: false).
defaultTtl number
Default amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request in the absence of an Cache-Control max-age or Expires header. The TTL defined in Cache Policy overrides this configuration.
fieldLevelEncryptionId string
Field level encryption configuration ID.
forwardedValues DistributionDefaultCacheBehaviorForwardedValues
The forwarded values configuration that specifies how CloudFront handles query strings, cookies and headers (maximum one).
functionAssociations DistributionDefaultCacheBehaviorFunctionAssociation[]
A config block that triggers a cloudfront function with specific actions (maximum 2).
grpcConfig DistributionDefaultCacheBehaviorGrpcConfig
A config block that sets the grpc config.
lambdaFunctionAssociations DistributionDefaultCacheBehaviorLambdaFunctionAssociation[]
A config block that triggers a lambda function with specific actions (maximum 4).
maxTtl number
Maximum amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request to your origin to determine whether the object has been updated. Only effective in the presence of Cache-Control max-age, Cache-Control s-maxage, and Expires headers. The TTL defined in Cache Policy overrides this configuration.
minTtl number
Minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. Defaults to 0 seconds. The TTL defined in Cache Policy overrides this configuration.
originRequestPolicyId string
Unique identifier of the origin request policy that is attached to the behavior.
realtimeLogConfigArn string
ARN of the real-time log configuration that is attached to this cache behavior.
responseHeadersPolicyId string
Identifier for a response headers policy.
smoothStreaming boolean
Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior.
trustedKeyGroups string[]
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
trustedSigners string[]
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
allowed_methods This property is required. Sequence[str]
Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
cached_methods This property is required. Sequence[str]
Controls whether CloudFront caches the response to requests using the specified HTTP methods.
target_origin_id This property is required. str
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.
viewer_protocol_policy This property is required. str
Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. One of allow-all, https-only, or redirect-to-https.
cache_policy_id str
Unique identifier of the cache policy that is attached to the cache behavior. If configuring the default_cache_behavior either cache_policy_id or forwarded_values must be set.
compress bool
Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header (default: false).
default_ttl int
Default amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request in the absence of an Cache-Control max-age or Expires header. The TTL defined in Cache Policy overrides this configuration.
field_level_encryption_id str
Field level encryption configuration ID.
forwarded_values DistributionDefaultCacheBehaviorForwardedValues
The forwarded values configuration that specifies how CloudFront handles query strings, cookies and headers (maximum one).
function_associations Sequence[DistributionDefaultCacheBehaviorFunctionAssociation]
A config block that triggers a cloudfront function with specific actions (maximum 2).
grpc_config DistributionDefaultCacheBehaviorGrpcConfig
A config block that sets the grpc config.
lambda_function_associations Sequence[DistributionDefaultCacheBehaviorLambdaFunctionAssociation]
A config block that triggers a lambda function with specific actions (maximum 4).
max_ttl int
Maximum amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request to your origin to determine whether the object has been updated. Only effective in the presence of Cache-Control max-age, Cache-Control s-maxage, and Expires headers. The TTL defined in Cache Policy overrides this configuration.
min_ttl int
Minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. Defaults to 0 seconds. The TTL defined in Cache Policy overrides this configuration.
origin_request_policy_id str
Unique identifier of the origin request policy that is attached to the behavior.
realtime_log_config_arn str
ARN of the real-time log configuration that is attached to this cache behavior.
response_headers_policy_id str
Identifier for a response headers policy.
smooth_streaming bool
Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior.
trusted_key_groups Sequence[str]
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
trusted_signers Sequence[str]
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
allowedMethods This property is required. List<String>
Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
cachedMethods This property is required. List<String>
Controls whether CloudFront caches the response to requests using the specified HTTP methods.
targetOriginId This property is required. String
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.
viewerProtocolPolicy This property is required. String
Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. One of allow-all, https-only, or redirect-to-https.
cachePolicyId String
Unique identifier of the cache policy that is attached to the cache behavior. If configuring the default_cache_behavior either cache_policy_id or forwarded_values must be set.
compress Boolean
Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header (default: false).
defaultTtl Number
Default amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request in the absence of an Cache-Control max-age or Expires header. The TTL defined in Cache Policy overrides this configuration.
fieldLevelEncryptionId String
Field level encryption configuration ID.
forwardedValues Property Map
The forwarded values configuration that specifies how CloudFront handles query strings, cookies and headers (maximum one).
functionAssociations List<Property Map>
A config block that triggers a cloudfront function with specific actions (maximum 2).
grpcConfig Property Map
A config block that sets the grpc config.
lambdaFunctionAssociations List<Property Map>
A config block that triggers a lambda function with specific actions (maximum 4).
maxTtl Number
Maximum amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request to your origin to determine whether the object has been updated. Only effective in the presence of Cache-Control max-age, Cache-Control s-maxage, and Expires headers. The TTL defined in Cache Policy overrides this configuration.
minTtl Number
Minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. Defaults to 0 seconds. The TTL defined in Cache Policy overrides this configuration.
originRequestPolicyId String
Unique identifier of the origin request policy that is attached to the behavior.
realtimeLogConfigArn String
ARN of the real-time log configuration that is attached to this cache behavior.
responseHeadersPolicyId String
Identifier for a response headers policy.
smoothStreaming Boolean
Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior.
trustedKeyGroups List<String>
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
trustedSigners List<String>
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.

DistributionDefaultCacheBehaviorForwardedValues
, DistributionDefaultCacheBehaviorForwardedValuesArgs

Cookies This property is required. DistributionDefaultCacheBehaviorForwardedValuesCookies
The forwarded values cookies that specifies how CloudFront handles cookies (maximum one).
QueryString This property is required. bool
Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior.
Headers List<string>
Headers, if any, that you want CloudFront to vary upon for this cache behavior. Specify * to include all headers.
QueryStringCacheKeys List<string>
When specified, along with a value of true for query_string, all query strings are forwarded, however only the query string keys listed in this argument are cached. When omitted with a value of true for query_string, all query string keys are cached.
Cookies This property is required. DistributionDefaultCacheBehaviorForwardedValuesCookies
The forwarded values cookies that specifies how CloudFront handles cookies (maximum one).
QueryString This property is required. bool
Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior.
Headers []string
Headers, if any, that you want CloudFront to vary upon for this cache behavior. Specify * to include all headers.
QueryStringCacheKeys []string
When specified, along with a value of true for query_string, all query strings are forwarded, however only the query string keys listed in this argument are cached. When omitted with a value of true for query_string, all query string keys are cached.
cookies This property is required. DistributionDefaultCacheBehaviorForwardedValuesCookies
The forwarded values cookies that specifies how CloudFront handles cookies (maximum one).
queryString This property is required. Boolean
Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior.
headers List<String>
Headers, if any, that you want CloudFront to vary upon for this cache behavior. Specify * to include all headers.
queryStringCacheKeys List<String>
When specified, along with a value of true for query_string, all query strings are forwarded, however only the query string keys listed in this argument are cached. When omitted with a value of true for query_string, all query string keys are cached.
cookies This property is required. DistributionDefaultCacheBehaviorForwardedValuesCookies
The forwarded values cookies that specifies how CloudFront handles cookies (maximum one).
queryString This property is required. boolean
Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior.
headers string[]
Headers, if any, that you want CloudFront to vary upon for this cache behavior. Specify * to include all headers.
queryStringCacheKeys string[]
When specified, along with a value of true for query_string, all query strings are forwarded, however only the query string keys listed in this argument are cached. When omitted with a value of true for query_string, all query string keys are cached.
cookies This property is required. DistributionDefaultCacheBehaviorForwardedValuesCookies
The forwarded values cookies that specifies how CloudFront handles cookies (maximum one).
query_string This property is required. bool
Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior.
headers Sequence[str]
Headers, if any, that you want CloudFront to vary upon for this cache behavior. Specify * to include all headers.
query_string_cache_keys Sequence[str]
When specified, along with a value of true for query_string, all query strings are forwarded, however only the query string keys listed in this argument are cached. When omitted with a value of true for query_string, all query string keys are cached.
cookies This property is required. Property Map
The forwarded values cookies that specifies how CloudFront handles cookies (maximum one).
queryString This property is required. Boolean
Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior.
headers List<String>
Headers, if any, that you want CloudFront to vary upon for this cache behavior. Specify * to include all headers.
queryStringCacheKeys List<String>
When specified, along with a value of true for query_string, all query strings are forwarded, however only the query string keys listed in this argument are cached. When omitted with a value of true for query_string, all query string keys are cached.

DistributionDefaultCacheBehaviorForwardedValuesCookies
, DistributionDefaultCacheBehaviorForwardedValuesCookiesArgs

Forward This property is required. string
Whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If whitelist, you must include the subsequent whitelisted_names.
WhitelistedNames List<string>
If you have specified whitelist to forward, the whitelisted cookies that you want CloudFront to forward to your origin.
Forward This property is required. string
Whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If whitelist, you must include the subsequent whitelisted_names.
WhitelistedNames []string
If you have specified whitelist to forward, the whitelisted cookies that you want CloudFront to forward to your origin.
forward This property is required. String
Whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If whitelist, you must include the subsequent whitelisted_names.
whitelistedNames List<String>
If you have specified whitelist to forward, the whitelisted cookies that you want CloudFront to forward to your origin.
forward This property is required. string
Whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If whitelist, you must include the subsequent whitelisted_names.
whitelistedNames string[]
If you have specified whitelist to forward, the whitelisted cookies that you want CloudFront to forward to your origin.
forward This property is required. str
Whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If whitelist, you must include the subsequent whitelisted_names.
whitelisted_names Sequence[str]
If you have specified whitelist to forward, the whitelisted cookies that you want CloudFront to forward to your origin.
forward This property is required. String
Whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If whitelist, you must include the subsequent whitelisted_names.
whitelistedNames List<String>
If you have specified whitelist to forward, the whitelisted cookies that you want CloudFront to forward to your origin.

DistributionDefaultCacheBehaviorFunctionAssociation
, DistributionDefaultCacheBehaviorFunctionAssociationArgs

EventType This property is required. string
Specific event to trigger this function. Valid values: viewer-request or viewer-response.
FunctionArn This property is required. string
ARN of the CloudFront function.
EventType This property is required. string
Specific event to trigger this function. Valid values: viewer-request or viewer-response.
FunctionArn This property is required. string
ARN of the CloudFront function.
eventType This property is required. String
Specific event to trigger this function. Valid values: viewer-request or viewer-response.
functionArn This property is required. String
ARN of the CloudFront function.
eventType This property is required. string
Specific event to trigger this function. Valid values: viewer-request or viewer-response.
functionArn This property is required. string
ARN of the CloudFront function.
event_type This property is required. str
Specific event to trigger this function. Valid values: viewer-request or viewer-response.
function_arn This property is required. str
ARN of the CloudFront function.
eventType This property is required. String
Specific event to trigger this function. Valid values: viewer-request or viewer-response.
functionArn This property is required. String
ARN of the CloudFront function.

DistributionDefaultCacheBehaviorGrpcConfig
, DistributionDefaultCacheBehaviorGrpcConfigArgs

Enabled bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
Enabled bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
enabled Boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
enabled boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
enabled bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
enabled Boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs

DistributionDefaultCacheBehaviorLambdaFunctionAssociation
, DistributionDefaultCacheBehaviorLambdaFunctionAssociationArgs

EventType This property is required. string
Specific event to trigger this function. Valid values: viewer-request, origin-request, viewer-response, origin-response.
LambdaArn This property is required. string
ARN of the Lambda function.
IncludeBody bool
When set to true it exposes the request body to the lambda function. Defaults to false. Valid values: true, false.
EventType This property is required. string
Specific event to trigger this function. Valid values: viewer-request, origin-request, viewer-response, origin-response.
LambdaArn This property is required. string
ARN of the Lambda function.
IncludeBody bool
When set to true it exposes the request body to the lambda function. Defaults to false. Valid values: true, false.
eventType This property is required. String
Specific event to trigger this function. Valid values: viewer-request, origin-request, viewer-response, origin-response.
lambdaArn This property is required. String
ARN of the Lambda function.
includeBody Boolean
When set to true it exposes the request body to the lambda function. Defaults to false. Valid values: true, false.
eventType This property is required. string
Specific event to trigger this function. Valid values: viewer-request, origin-request, viewer-response, origin-response.
lambdaArn This property is required. string
ARN of the Lambda function.
includeBody boolean
When set to true it exposes the request body to the lambda function. Defaults to false. Valid values: true, false.
event_type This property is required. str
Specific event to trigger this function. Valid values: viewer-request, origin-request, viewer-response, origin-response.
lambda_arn This property is required. str
ARN of the Lambda function.
include_body bool
When set to true it exposes the request body to the lambda function. Defaults to false. Valid values: true, false.
eventType This property is required. String
Specific event to trigger this function. Valid values: viewer-request, origin-request, viewer-response, origin-response.
lambdaArn This property is required. String
ARN of the Lambda function.
includeBody Boolean
When set to true it exposes the request body to the lambda function. Defaults to false. Valid values: true, false.

DistributionLoggingConfig
, DistributionLoggingConfigArgs

Bucket This property is required. string
Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com. The bucket must have correct ACL attached with "FULL_CONTROL" permission for "awslogsdelivery" account (Canonical ID: "c4c1ede66af53448b93c283ce9448c4ba468c9432aa01d700d3878632f77d2d0") for log transfer to work.
IncludeCookies bool
Whether to include cookies in access logs (default: false).
Prefix string
Prefix to the access log filenames for this distribution, for example, myprefix/.
Bucket This property is required. string
Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com. The bucket must have correct ACL attached with "FULL_CONTROL" permission for "awslogsdelivery" account (Canonical ID: "c4c1ede66af53448b93c283ce9448c4ba468c9432aa01d700d3878632f77d2d0") for log transfer to work.
IncludeCookies bool
Whether to include cookies in access logs (default: false).
Prefix string
Prefix to the access log filenames for this distribution, for example, myprefix/.
bucket This property is required. String
Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com. The bucket must have correct ACL attached with "FULL_CONTROL" permission for "awslogsdelivery" account (Canonical ID: "c4c1ede66af53448b93c283ce9448c4ba468c9432aa01d700d3878632f77d2d0") for log transfer to work.
includeCookies Boolean
Whether to include cookies in access logs (default: false).
prefix String
Prefix to the access log filenames for this distribution, for example, myprefix/.
bucket This property is required. string
Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com. The bucket must have correct ACL attached with "FULL_CONTROL" permission for "awslogsdelivery" account (Canonical ID: "c4c1ede66af53448b93c283ce9448c4ba468c9432aa01d700d3878632f77d2d0") for log transfer to work.
includeCookies boolean
Whether to include cookies in access logs (default: false).
prefix string
Prefix to the access log filenames for this distribution, for example, myprefix/.
bucket This property is required. str
Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com. The bucket must have correct ACL attached with "FULL_CONTROL" permission for "awslogsdelivery" account (Canonical ID: "c4c1ede66af53448b93c283ce9448c4ba468c9432aa01d700d3878632f77d2d0") for log transfer to work.
include_cookies bool
Whether to include cookies in access logs (default: false).
prefix str
Prefix to the access log filenames for this distribution, for example, myprefix/.
bucket This property is required. String
Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com. The bucket must have correct ACL attached with "FULL_CONTROL" permission for "awslogsdelivery" account (Canonical ID: "c4c1ede66af53448b93c283ce9448c4ba468c9432aa01d700d3878632f77d2d0") for log transfer to work.
includeCookies Boolean
Whether to include cookies in access logs (default: false).
prefix String
Prefix to the access log filenames for this distribution, for example, myprefix/.

DistributionOrderedCacheBehavior
, DistributionOrderedCacheBehaviorArgs

AllowedMethods This property is required. List<string>
Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
CachedMethods This property is required. List<string>
Controls whether CloudFront caches the response to requests using the specified HTTP methods.
PathPattern This property is required. string
Pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to.
TargetOriginId This property is required. string
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.
ViewerProtocolPolicy This property is required. string
Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. One of allow-all, https-only, or redirect-to-https.
CachePolicyId string
Unique identifier of the cache policy that is attached to the cache behavior. If configuring the default_cache_behavior either cache_policy_id or forwarded_values must be set.
Compress bool
Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header (default: false).
DefaultTtl int
Default amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request in the absence of an Cache-Control max-age or Expires header. The TTL defined in Cache Policy overrides this configuration.
FieldLevelEncryptionId string
Field level encryption configuration ID.
ForwardedValues DistributionOrderedCacheBehaviorForwardedValues
The forwarded values configuration that specifies how CloudFront handles query strings, cookies and headers (maximum one).
FunctionAssociations List<DistributionOrderedCacheBehaviorFunctionAssociation>
A config block that triggers a cloudfront function with specific actions (maximum 2).
GrpcConfig DistributionOrderedCacheBehaviorGrpcConfig
A config block that sets the grpc config.
LambdaFunctionAssociations List<DistributionOrderedCacheBehaviorLambdaFunctionAssociation>
A config block that triggers a lambda function with specific actions (maximum 4).
MaxTtl int
Maximum amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request to your origin to determine whether the object has been updated. Only effective in the presence of Cache-Control max-age, Cache-Control s-maxage, and Expires headers. The TTL defined in Cache Policy overrides this configuration.
MinTtl int
Minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. Defaults to 0 seconds. The TTL defined in Cache Policy overrides this configuration.
OriginRequestPolicyId string
Unique identifier of the origin request policy that is attached to the behavior.
RealtimeLogConfigArn string
ARN of the real-time log configuration that is attached to this cache behavior.
ResponseHeadersPolicyId string
Identifier for a response headers policy.
SmoothStreaming bool
Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior.
TrustedKeyGroups List<string>
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
TrustedSigners List<string>
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
AllowedMethods This property is required. []string
Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
CachedMethods This property is required. []string
Controls whether CloudFront caches the response to requests using the specified HTTP methods.
PathPattern This property is required. string
Pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to.
TargetOriginId This property is required. string
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.
ViewerProtocolPolicy This property is required. string
Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. One of allow-all, https-only, or redirect-to-https.
CachePolicyId string
Unique identifier of the cache policy that is attached to the cache behavior. If configuring the default_cache_behavior either cache_policy_id or forwarded_values must be set.
Compress bool
Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header (default: false).
DefaultTtl int
Default amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request in the absence of an Cache-Control max-age or Expires header. The TTL defined in Cache Policy overrides this configuration.
FieldLevelEncryptionId string
Field level encryption configuration ID.
ForwardedValues DistributionOrderedCacheBehaviorForwardedValues
The forwarded values configuration that specifies how CloudFront handles query strings, cookies and headers (maximum one).
FunctionAssociations []DistributionOrderedCacheBehaviorFunctionAssociation
A config block that triggers a cloudfront function with specific actions (maximum 2).
GrpcConfig DistributionOrderedCacheBehaviorGrpcConfig
A config block that sets the grpc config.
LambdaFunctionAssociations []DistributionOrderedCacheBehaviorLambdaFunctionAssociation
A config block that triggers a lambda function with specific actions (maximum 4).
MaxTtl int
Maximum amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request to your origin to determine whether the object has been updated. Only effective in the presence of Cache-Control max-age, Cache-Control s-maxage, and Expires headers. The TTL defined in Cache Policy overrides this configuration.
MinTtl int
Minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. Defaults to 0 seconds. The TTL defined in Cache Policy overrides this configuration.
OriginRequestPolicyId string
Unique identifier of the origin request policy that is attached to the behavior.
RealtimeLogConfigArn string
ARN of the real-time log configuration that is attached to this cache behavior.
ResponseHeadersPolicyId string
Identifier for a response headers policy.
SmoothStreaming bool
Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior.
TrustedKeyGroups []string
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
TrustedSigners []string
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
allowedMethods This property is required. List<String>
Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
cachedMethods This property is required. List<String>
Controls whether CloudFront caches the response to requests using the specified HTTP methods.
pathPattern This property is required. String
Pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to.
targetOriginId This property is required. String
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.
viewerProtocolPolicy This property is required. String
Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. One of allow-all, https-only, or redirect-to-https.
cachePolicyId String
Unique identifier of the cache policy that is attached to the cache behavior. If configuring the default_cache_behavior either cache_policy_id or forwarded_values must be set.
compress Boolean
Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header (default: false).
defaultTtl Integer
Default amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request in the absence of an Cache-Control max-age or Expires header. The TTL defined in Cache Policy overrides this configuration.
fieldLevelEncryptionId String
Field level encryption configuration ID.
forwardedValues DistributionOrderedCacheBehaviorForwardedValues
The forwarded values configuration that specifies how CloudFront handles query strings, cookies and headers (maximum one).
functionAssociations List<DistributionOrderedCacheBehaviorFunctionAssociation>
A config block that triggers a cloudfront function with specific actions (maximum 2).
grpcConfig DistributionOrderedCacheBehaviorGrpcConfig
A config block that sets the grpc config.
lambdaFunctionAssociations List<DistributionOrderedCacheBehaviorLambdaFunctionAssociation>
A config block that triggers a lambda function with specific actions (maximum 4).
maxTtl Integer
Maximum amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request to your origin to determine whether the object has been updated. Only effective in the presence of Cache-Control max-age, Cache-Control s-maxage, and Expires headers. The TTL defined in Cache Policy overrides this configuration.
minTtl Integer
Minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. Defaults to 0 seconds. The TTL defined in Cache Policy overrides this configuration.
originRequestPolicyId String
Unique identifier of the origin request policy that is attached to the behavior.
realtimeLogConfigArn String
ARN of the real-time log configuration that is attached to this cache behavior.
responseHeadersPolicyId String
Identifier for a response headers policy.
smoothStreaming Boolean
Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior.
trustedKeyGroups List<String>
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
trustedSigners List<String>
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
allowedMethods This property is required. string[]
Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
cachedMethods This property is required. string[]
Controls whether CloudFront caches the response to requests using the specified HTTP methods.
pathPattern This property is required. string
Pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to.
targetOriginId This property is required. string
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.
viewerProtocolPolicy This property is required. string
Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. One of allow-all, https-only, or redirect-to-https.
cachePolicyId string
Unique identifier of the cache policy that is attached to the cache behavior. If configuring the default_cache_behavior either cache_policy_id or forwarded_values must be set.
compress boolean
Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header (default: false).
defaultTtl number
Default amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request in the absence of an Cache-Control max-age or Expires header. The TTL defined in Cache Policy overrides this configuration.
fieldLevelEncryptionId string
Field level encryption configuration ID.
forwardedValues DistributionOrderedCacheBehaviorForwardedValues
The forwarded values configuration that specifies how CloudFront handles query strings, cookies and headers (maximum one).
functionAssociations DistributionOrderedCacheBehaviorFunctionAssociation[]
A config block that triggers a cloudfront function with specific actions (maximum 2).
grpcConfig DistributionOrderedCacheBehaviorGrpcConfig
A config block that sets the grpc config.
lambdaFunctionAssociations DistributionOrderedCacheBehaviorLambdaFunctionAssociation[]
A config block that triggers a lambda function with specific actions (maximum 4).
maxTtl number
Maximum amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request to your origin to determine whether the object has been updated. Only effective in the presence of Cache-Control max-age, Cache-Control s-maxage, and Expires headers. The TTL defined in Cache Policy overrides this configuration.
minTtl number
Minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. Defaults to 0 seconds. The TTL defined in Cache Policy overrides this configuration.
originRequestPolicyId string
Unique identifier of the origin request policy that is attached to the behavior.
realtimeLogConfigArn string
ARN of the real-time log configuration that is attached to this cache behavior.
responseHeadersPolicyId string
Identifier for a response headers policy.
smoothStreaming boolean
Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior.
trustedKeyGroups string[]
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
trustedSigners string[]
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
allowed_methods This property is required. Sequence[str]
Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
cached_methods This property is required. Sequence[str]
Controls whether CloudFront caches the response to requests using the specified HTTP methods.
path_pattern This property is required. str
Pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to.
target_origin_id This property is required. str
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.
viewer_protocol_policy This property is required. str
Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. One of allow-all, https-only, or redirect-to-https.
cache_policy_id str
Unique identifier of the cache policy that is attached to the cache behavior. If configuring the default_cache_behavior either cache_policy_id or forwarded_values must be set.
compress bool
Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header (default: false).
default_ttl int
Default amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request in the absence of an Cache-Control max-age or Expires header. The TTL defined in Cache Policy overrides this configuration.
field_level_encryption_id str
Field level encryption configuration ID.
forwarded_values DistributionOrderedCacheBehaviorForwardedValues
The forwarded values configuration that specifies how CloudFront handles query strings, cookies and headers (maximum one).
function_associations Sequence[DistributionOrderedCacheBehaviorFunctionAssociation]
A config block that triggers a cloudfront function with specific actions (maximum 2).
grpc_config DistributionOrderedCacheBehaviorGrpcConfig
A config block that sets the grpc config.
lambda_function_associations Sequence[DistributionOrderedCacheBehaviorLambdaFunctionAssociation]
A config block that triggers a lambda function with specific actions (maximum 4).
max_ttl int
Maximum amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request to your origin to determine whether the object has been updated. Only effective in the presence of Cache-Control max-age, Cache-Control s-maxage, and Expires headers. The TTL defined in Cache Policy overrides this configuration.
min_ttl int
Minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. Defaults to 0 seconds. The TTL defined in Cache Policy overrides this configuration.
origin_request_policy_id str
Unique identifier of the origin request policy that is attached to the behavior.
realtime_log_config_arn str
ARN of the real-time log configuration that is attached to this cache behavior.
response_headers_policy_id str
Identifier for a response headers policy.
smooth_streaming bool
Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior.
trusted_key_groups Sequence[str]
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
trusted_signers Sequence[str]
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.
allowedMethods This property is required. List<String>
Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
cachedMethods This property is required. List<String>
Controls whether CloudFront caches the response to requests using the specified HTTP methods.
pathPattern This property is required. String
Pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to.
targetOriginId This property is required. String
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.
viewerProtocolPolicy This property is required. String
Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. One of allow-all, https-only, or redirect-to-https.
cachePolicyId String
Unique identifier of the cache policy that is attached to the cache behavior. If configuring the default_cache_behavior either cache_policy_id or forwarded_values must be set.
compress Boolean
Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header (default: false).
defaultTtl Number
Default amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request in the absence of an Cache-Control max-age or Expires header. The TTL defined in Cache Policy overrides this configuration.
fieldLevelEncryptionId String
Field level encryption configuration ID.
forwardedValues Property Map
The forwarded values configuration that specifies how CloudFront handles query strings, cookies and headers (maximum one).
functionAssociations List<Property Map>
A config block that triggers a cloudfront function with specific actions (maximum 2).
grpcConfig Property Map
A config block that sets the grpc config.
lambdaFunctionAssociations List<Property Map>
A config block that triggers a lambda function with specific actions (maximum 4).
maxTtl Number
Maximum amount of time (in seconds) that an object is in a CloudFront cache before CloudFront forwards another request to your origin to determine whether the object has been updated. Only effective in the presence of Cache-Control max-age, Cache-Control s-maxage, and Expires headers. The TTL defined in Cache Policy overrides this configuration.
minTtl Number
Minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. Defaults to 0 seconds. The TTL defined in Cache Policy overrides this configuration.
originRequestPolicyId String
Unique identifier of the origin request policy that is attached to the behavior.
realtimeLogConfigArn String
ARN of the real-time log configuration that is attached to this cache behavior.
responseHeadersPolicyId String
Identifier for a response headers policy.
smoothStreaming Boolean
Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior.
trustedKeyGroups List<String>
List of nested attributes for active trusted key groups, if the distribution is set up to serve private content with signed URLs.
trustedSigners List<String>
List of nested attributes for active trusted signers, if the distribution is set up to serve private content with signed URLs.

DistributionOrderedCacheBehaviorForwardedValues
, DistributionOrderedCacheBehaviorForwardedValuesArgs

Cookies This property is required. DistributionOrderedCacheBehaviorForwardedValuesCookies
The forwarded values cookies that specifies how CloudFront handles cookies (maximum one).
QueryString This property is required. bool
Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior.
Headers List<string>
Headers, if any, that you want CloudFront to vary upon for this cache behavior. Specify * to include all headers.
QueryStringCacheKeys List<string>
When specified, along with a value of true for query_string, all query strings are forwarded, however only the query string keys listed in this argument are cached. When omitted with a value of true for query_string, all query string keys are cached.
Cookies This property is required. DistributionOrderedCacheBehaviorForwardedValuesCookies
The forwarded values cookies that specifies how CloudFront handles cookies (maximum one).
QueryString This property is required. bool
Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior.
Headers []string
Headers, if any, that you want CloudFront to vary upon for this cache behavior. Specify * to include all headers.
QueryStringCacheKeys []string
When specified, along with a value of true for query_string, all query strings are forwarded, however only the query string keys listed in this argument are cached. When omitted with a value of true for query_string, all query string keys are cached.
cookies This property is required. DistributionOrderedCacheBehaviorForwardedValuesCookies
The forwarded values cookies that specifies how CloudFront handles cookies (maximum one).
queryString This property is required. Boolean
Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior.
headers List<String>
Headers, if any, that you want CloudFront to vary upon for this cache behavior. Specify * to include all headers.
queryStringCacheKeys List<String>
When specified, along with a value of true for query_string, all query strings are forwarded, however only the query string keys listed in this argument are cached. When omitted with a value of true for query_string, all query string keys are cached.
cookies This property is required. DistributionOrderedCacheBehaviorForwardedValuesCookies
The forwarded values cookies that specifies how CloudFront handles cookies (maximum one).
queryString This property is required. boolean
Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior.
headers string[]
Headers, if any, that you want CloudFront to vary upon for this cache behavior. Specify * to include all headers.
queryStringCacheKeys string[]
When specified, along with a value of true for query_string, all query strings are forwarded, however only the query string keys listed in this argument are cached. When omitted with a value of true for query_string, all query string keys are cached.
cookies This property is required. DistributionOrderedCacheBehaviorForwardedValuesCookies
The forwarded values cookies that specifies how CloudFront handles cookies (maximum one).
query_string This property is required. bool
Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior.
headers Sequence[str]
Headers, if any, that you want CloudFront to vary upon for this cache behavior. Specify * to include all headers.
query_string_cache_keys Sequence[str]
When specified, along with a value of true for query_string, all query strings are forwarded, however only the query string keys listed in this argument are cached. When omitted with a value of true for query_string, all query string keys are cached.
cookies This property is required. Property Map
The forwarded values cookies that specifies how CloudFront handles cookies (maximum one).
queryString This property is required. Boolean
Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior.
headers List<String>
Headers, if any, that you want CloudFront to vary upon for this cache behavior. Specify * to include all headers.
queryStringCacheKeys List<String>
When specified, along with a value of true for query_string, all query strings are forwarded, however only the query string keys listed in this argument are cached. When omitted with a value of true for query_string, all query string keys are cached.

DistributionOrderedCacheBehaviorForwardedValuesCookies
, DistributionOrderedCacheBehaviorForwardedValuesCookiesArgs

Forward This property is required. string
Whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If whitelist, you must include the subsequent whitelisted_names.
WhitelistedNames List<string>
If you have specified whitelist to forward, the whitelisted cookies that you want CloudFront to forward to your origin.
Forward This property is required. string
Whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If whitelist, you must include the subsequent whitelisted_names.
WhitelistedNames []string
If you have specified whitelist to forward, the whitelisted cookies that you want CloudFront to forward to your origin.
forward This property is required. String
Whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If whitelist, you must include the subsequent whitelisted_names.
whitelistedNames List<String>
If you have specified whitelist to forward, the whitelisted cookies that you want CloudFront to forward to your origin.
forward This property is required. string
Whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If whitelist, you must include the subsequent whitelisted_names.
whitelistedNames string[]
If you have specified whitelist to forward, the whitelisted cookies that you want CloudFront to forward to your origin.
forward This property is required. str
Whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If whitelist, you must include the subsequent whitelisted_names.
whitelisted_names Sequence[str]
If you have specified whitelist to forward, the whitelisted cookies that you want CloudFront to forward to your origin.
forward This property is required. String
Whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If whitelist, you must include the subsequent whitelisted_names.
whitelistedNames List<String>
If you have specified whitelist to forward, the whitelisted cookies that you want CloudFront to forward to your origin.

DistributionOrderedCacheBehaviorFunctionAssociation
, DistributionOrderedCacheBehaviorFunctionAssociationArgs

EventType This property is required. string
Specific event to trigger this function. Valid values: viewer-request or viewer-response.
FunctionArn This property is required. string
ARN of the CloudFront function.
EventType This property is required. string
Specific event to trigger this function. Valid values: viewer-request or viewer-response.
FunctionArn This property is required. string
ARN of the CloudFront function.
eventType This property is required. String
Specific event to trigger this function. Valid values: viewer-request or viewer-response.
functionArn This property is required. String
ARN of the CloudFront function.
eventType This property is required. string
Specific event to trigger this function. Valid values: viewer-request or viewer-response.
functionArn This property is required. string
ARN of the CloudFront function.
event_type This property is required. str
Specific event to trigger this function. Valid values: viewer-request or viewer-response.
function_arn This property is required. str
ARN of the CloudFront function.
eventType This property is required. String
Specific event to trigger this function. Valid values: viewer-request or viewer-response.
functionArn This property is required. String
ARN of the CloudFront function.

DistributionOrderedCacheBehaviorGrpcConfig
, DistributionOrderedCacheBehaviorGrpcConfigArgs

Enabled bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
Enabled bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
enabled Boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
enabled boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
enabled bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
enabled Boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs

DistributionOrderedCacheBehaviorLambdaFunctionAssociation
, DistributionOrderedCacheBehaviorLambdaFunctionAssociationArgs

EventType This property is required. string
Specific event to trigger this function. Valid values: viewer-request, origin-request, viewer-response, origin-response.
LambdaArn This property is required. string
ARN of the Lambda function.
IncludeBody bool
When set to true it exposes the request body to the lambda function. Defaults to false. Valid values: true, false.
EventType This property is required. string
Specific event to trigger this function. Valid values: viewer-request, origin-request, viewer-response, origin-response.
LambdaArn This property is required. string
ARN of the Lambda function.
IncludeBody bool
When set to true it exposes the request body to the lambda function. Defaults to false. Valid values: true, false.
eventType This property is required. String
Specific event to trigger this function. Valid values: viewer-request, origin-request, viewer-response, origin-response.
lambdaArn This property is required. String
ARN of the Lambda function.
includeBody Boolean
When set to true it exposes the request body to the lambda function. Defaults to false. Valid values: true, false.
eventType This property is required. string
Specific event to trigger this function. Valid values: viewer-request, origin-request, viewer-response, origin-response.
lambdaArn This property is required. string
ARN of the Lambda function.
includeBody boolean
When set to true it exposes the request body to the lambda function. Defaults to false. Valid values: true, false.
event_type This property is required. str
Specific event to trigger this function. Valid values: viewer-request, origin-request, viewer-response, origin-response.
lambda_arn This property is required. str
ARN of the Lambda function.
include_body bool
When set to true it exposes the request body to the lambda function. Defaults to false. Valid values: true, false.
eventType This property is required. String
Specific event to trigger this function. Valid values: viewer-request, origin-request, viewer-response, origin-response.
lambdaArn This property is required. String
ARN of the Lambda function.
includeBody Boolean
When set to true it exposes the request body to the lambda function. Defaults to false. Valid values: true, false.

DistributionOrigin
, DistributionOriginArgs

DomainName This property is required. string
Domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
OriginId This property is required. string
ConnectionAttempts int
Number of times that CloudFront attempts to connect to the origin. Must be between 1-3. Defaults to 3.
ConnectionTimeout int
Number of seconds that CloudFront waits when trying to establish a connection to the origin. Must be between 1-10. Defaults to 10.
CustomHeaders List<DistributionOriginCustomHeader>
One or more sub-resources with name and value parameters that specify header data that will be sent to the origin (multiples allowed).
CustomOriginConfig DistributionOriginCustomOriginConfig
The CloudFront custom origin configuration information. If an S3 origin is required, use origin_access_control_id or s3_origin_config instead.
OriginAccessControlId string
Unique identifier of a [CloudFront origin access control][8] for this origin.
OriginPath string
Optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin.
OriginShield DistributionOriginOriginShield
CloudFront Origin Shield configuration information. Using Origin Shield can help reduce the load on your origin. For more information, see Using Origin Shield in the Amazon CloudFront Developer Guide.
S3OriginConfig DistributionOriginS3OriginConfig
CloudFront S3 origin configuration information. If a custom origin is required, use custom_origin_config instead.
VpcOriginConfig DistributionOriginVpcOriginConfig
The VPC origin configuration.
DomainName This property is required. string
Domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
OriginId This property is required. string
ConnectionAttempts int
Number of times that CloudFront attempts to connect to the origin. Must be between 1-3. Defaults to 3.
ConnectionTimeout int
Number of seconds that CloudFront waits when trying to establish a connection to the origin. Must be between 1-10. Defaults to 10.
CustomHeaders []DistributionOriginCustomHeader
One or more sub-resources with name and value parameters that specify header data that will be sent to the origin (multiples allowed).
CustomOriginConfig DistributionOriginCustomOriginConfig
The CloudFront custom origin configuration information. If an S3 origin is required, use origin_access_control_id or s3_origin_config instead.
OriginAccessControlId string
Unique identifier of a [CloudFront origin access control][8] for this origin.
OriginPath string
Optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin.
OriginShield DistributionOriginOriginShield
CloudFront Origin Shield configuration information. Using Origin Shield can help reduce the load on your origin. For more information, see Using Origin Shield in the Amazon CloudFront Developer Guide.
S3OriginConfig DistributionOriginS3OriginConfig
CloudFront S3 origin configuration information. If a custom origin is required, use custom_origin_config instead.
VpcOriginConfig DistributionOriginVpcOriginConfig
The VPC origin configuration.
domainName This property is required. String
Domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
originId This property is required. String
connectionAttempts Integer
Number of times that CloudFront attempts to connect to the origin. Must be between 1-3. Defaults to 3.
connectionTimeout Integer
Number of seconds that CloudFront waits when trying to establish a connection to the origin. Must be between 1-10. Defaults to 10.
customHeaders List<DistributionOriginCustomHeader>
One or more sub-resources with name and value parameters that specify header data that will be sent to the origin (multiples allowed).
customOriginConfig DistributionOriginCustomOriginConfig
The CloudFront custom origin configuration information. If an S3 origin is required, use origin_access_control_id or s3_origin_config instead.
originAccessControlId String
Unique identifier of a [CloudFront origin access control][8] for this origin.
originPath String
Optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin.
originShield DistributionOriginOriginShield
CloudFront Origin Shield configuration information. Using Origin Shield can help reduce the load on your origin. For more information, see Using Origin Shield in the Amazon CloudFront Developer Guide.
s3OriginConfig DistributionOriginS3OriginConfig
CloudFront S3 origin configuration information. If a custom origin is required, use custom_origin_config instead.
vpcOriginConfig DistributionOriginVpcOriginConfig
The VPC origin configuration.
domainName This property is required. string
Domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
originId This property is required. string
connectionAttempts number
Number of times that CloudFront attempts to connect to the origin. Must be between 1-3. Defaults to 3.
connectionTimeout number
Number of seconds that CloudFront waits when trying to establish a connection to the origin. Must be between 1-10. Defaults to 10.
customHeaders DistributionOriginCustomHeader[]
One or more sub-resources with name and value parameters that specify header data that will be sent to the origin (multiples allowed).
customOriginConfig DistributionOriginCustomOriginConfig
The CloudFront custom origin configuration information. If an S3 origin is required, use origin_access_control_id or s3_origin_config instead.
originAccessControlId string
Unique identifier of a [CloudFront origin access control][8] for this origin.
originPath string
Optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin.
originShield DistributionOriginOriginShield
CloudFront Origin Shield configuration information. Using Origin Shield can help reduce the load on your origin. For more information, see Using Origin Shield in the Amazon CloudFront Developer Guide.
s3OriginConfig DistributionOriginS3OriginConfig
CloudFront S3 origin configuration information. If a custom origin is required, use custom_origin_config instead.
vpcOriginConfig DistributionOriginVpcOriginConfig
The VPC origin configuration.
domain_name This property is required. str
Domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
origin_id This property is required. str
connection_attempts int
Number of times that CloudFront attempts to connect to the origin. Must be between 1-3. Defaults to 3.
connection_timeout int
Number of seconds that CloudFront waits when trying to establish a connection to the origin. Must be between 1-10. Defaults to 10.
custom_headers Sequence[DistributionOriginCustomHeader]
One or more sub-resources with name and value parameters that specify header data that will be sent to the origin (multiples allowed).
custom_origin_config DistributionOriginCustomOriginConfig
The CloudFront custom origin configuration information. If an S3 origin is required, use origin_access_control_id or s3_origin_config instead.
origin_access_control_id str
Unique identifier of a [CloudFront origin access control][8] for this origin.
origin_path str
Optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin.
origin_shield DistributionOriginOriginShield
CloudFront Origin Shield configuration information. Using Origin Shield can help reduce the load on your origin. For more information, see Using Origin Shield in the Amazon CloudFront Developer Guide.
s3_origin_config DistributionOriginS3OriginConfig
CloudFront S3 origin configuration information. If a custom origin is required, use custom_origin_config instead.
vpc_origin_config DistributionOriginVpcOriginConfig
The VPC origin configuration.
domainName This property is required. String
Domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.
originId This property is required. String
connectionAttempts Number
Number of times that CloudFront attempts to connect to the origin. Must be between 1-3. Defaults to 3.
connectionTimeout Number
Number of seconds that CloudFront waits when trying to establish a connection to the origin. Must be between 1-10. Defaults to 10.
customHeaders List<Property Map>
One or more sub-resources with name and value parameters that specify header data that will be sent to the origin (multiples allowed).
customOriginConfig Property Map
The CloudFront custom origin configuration information. If an S3 origin is required, use origin_access_control_id or s3_origin_config instead.
originAccessControlId String
Unique identifier of a [CloudFront origin access control][8] for this origin.
originPath String
Optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin.
originShield Property Map
CloudFront Origin Shield configuration information. Using Origin Shield can help reduce the load on your origin. For more information, see Using Origin Shield in the Amazon CloudFront Developer Guide.
s3OriginConfig Property Map
CloudFront S3 origin configuration information. If a custom origin is required, use custom_origin_config instead.
vpcOriginConfig Property Map
The VPC origin configuration.

DistributionOriginCustomHeader
, DistributionOriginCustomHeaderArgs

Name This property is required. string
Value This property is required. string
Name This property is required. string
Value This property is required. string
name This property is required. String
value This property is required. String
name This property is required. string
value This property is required. string
name This property is required. str
value This property is required. str
name This property is required. String
value This property is required. String

DistributionOriginCustomOriginConfig
, DistributionOriginCustomOriginConfigArgs

HttpPort This property is required. int
HTTP port the custom origin listens on.
HttpsPort This property is required. int
HTTPS port the custom origin listens on.
OriginProtocolPolicy This property is required. string
Origin protocol policy to apply to your origin. One of http-only, https-only, or match-viewer.
OriginSslProtocols This property is required. List<string>
List of SSL/TLS protocols that CloudFront can use when connecting to your origin over HTTPS. Valid values: SSLv3, TLSv1, TLSv1.1, TLSv1.2. For more information, see Minimum Origin SSL Protocol in the Amazon CloudFront Developer Guide.
OriginKeepaliveTimeout int
OriginReadTimeout int
HttpPort This property is required. int
HTTP port the custom origin listens on.
HttpsPort This property is required. int
HTTPS port the custom origin listens on.
OriginProtocolPolicy This property is required. string
Origin protocol policy to apply to your origin. One of http-only, https-only, or match-viewer.
OriginSslProtocols This property is required. []string
List of SSL/TLS protocols that CloudFront can use when connecting to your origin over HTTPS. Valid values: SSLv3, TLSv1, TLSv1.1, TLSv1.2. For more information, see Minimum Origin SSL Protocol in the Amazon CloudFront Developer Guide.
OriginKeepaliveTimeout int
OriginReadTimeout int
httpPort This property is required. Integer
HTTP port the custom origin listens on.
httpsPort This property is required. Integer
HTTPS port the custom origin listens on.
originProtocolPolicy This property is required. String
Origin protocol policy to apply to your origin. One of http-only, https-only, or match-viewer.
originSslProtocols This property is required. List<String>
List of SSL/TLS protocols that CloudFront can use when connecting to your origin over HTTPS. Valid values: SSLv3, TLSv1, TLSv1.1, TLSv1.2. For more information, see Minimum Origin SSL Protocol in the Amazon CloudFront Developer Guide.
originKeepaliveTimeout Integer
originReadTimeout Integer
httpPort This property is required. number
HTTP port the custom origin listens on.
httpsPort This property is required. number
HTTPS port the custom origin listens on.
originProtocolPolicy This property is required. string
Origin protocol policy to apply to your origin. One of http-only, https-only, or match-viewer.
originSslProtocols This property is required. string[]
List of SSL/TLS protocols that CloudFront can use when connecting to your origin over HTTPS. Valid values: SSLv3, TLSv1, TLSv1.1, TLSv1.2. For more information, see Minimum Origin SSL Protocol in the Amazon CloudFront Developer Guide.
originKeepaliveTimeout number
originReadTimeout number
http_port This property is required. int
HTTP port the custom origin listens on.
https_port This property is required. int
HTTPS port the custom origin listens on.
origin_protocol_policy This property is required. str
Origin protocol policy to apply to your origin. One of http-only, https-only, or match-viewer.
origin_ssl_protocols This property is required. Sequence[str]
List of SSL/TLS protocols that CloudFront can use when connecting to your origin over HTTPS. Valid values: SSLv3, TLSv1, TLSv1.1, TLSv1.2. For more information, see Minimum Origin SSL Protocol in the Amazon CloudFront Developer Guide.
origin_keepalive_timeout int
origin_read_timeout int
httpPort This property is required. Number
HTTP port the custom origin listens on.
httpsPort This property is required. Number
HTTPS port the custom origin listens on.
originProtocolPolicy This property is required. String
Origin protocol policy to apply to your origin. One of http-only, https-only, or match-viewer.
originSslProtocols This property is required. List<String>
List of SSL/TLS protocols that CloudFront can use when connecting to your origin over HTTPS. Valid values: SSLv3, TLSv1, TLSv1.1, TLSv1.2. For more information, see Minimum Origin SSL Protocol in the Amazon CloudFront Developer Guide.
originKeepaliveTimeout Number
originReadTimeout Number

DistributionOriginGroup
, DistributionOriginGroupArgs

FailoverCriteria This property is required. DistributionOriginGroupFailoverCriteria
The failover criteria for when to failover to the secondary origin.
Members This property is required. List<DistributionOriginGroupMember>
Ordered member configuration blocks assigned to the origin group, where the first member is the primary origin. You must specify two members.
OriginId This property is required. string
FailoverCriteria This property is required. DistributionOriginGroupFailoverCriteria
The failover criteria for when to failover to the secondary origin.
Members This property is required. []DistributionOriginGroupMember
Ordered member configuration blocks assigned to the origin group, where the first member is the primary origin. You must specify two members.
OriginId This property is required. string
failoverCriteria This property is required. DistributionOriginGroupFailoverCriteria
The failover criteria for when to failover to the secondary origin.
members This property is required. List<DistributionOriginGroupMember>
Ordered member configuration blocks assigned to the origin group, where the first member is the primary origin. You must specify two members.
originId This property is required. String
failoverCriteria This property is required. DistributionOriginGroupFailoverCriteria
The failover criteria for when to failover to the secondary origin.
members This property is required. DistributionOriginGroupMember[]
Ordered member configuration blocks assigned to the origin group, where the first member is the primary origin. You must specify two members.
originId This property is required. string
failover_criteria This property is required. DistributionOriginGroupFailoverCriteria
The failover criteria for when to failover to the secondary origin.
members This property is required. Sequence[DistributionOriginGroupMember]
Ordered member configuration blocks assigned to the origin group, where the first member is the primary origin. You must specify two members.
origin_id This property is required. str
failoverCriteria This property is required. Property Map
The failover criteria for when to failover to the secondary origin.
members This property is required. List<Property Map>
Ordered member configuration blocks assigned to the origin group, where the first member is the primary origin. You must specify two members.
originId This property is required. String

DistributionOriginGroupFailoverCriteria
, DistributionOriginGroupFailoverCriteriaArgs

StatusCodes This property is required. List<int>
List of HTTP status codes for the origin group.
StatusCodes This property is required. []int
List of HTTP status codes for the origin group.
statusCodes This property is required. List<Integer>
List of HTTP status codes for the origin group.
statusCodes This property is required. number[]
List of HTTP status codes for the origin group.
status_codes This property is required. Sequence[int]
List of HTTP status codes for the origin group.
statusCodes This property is required. List<Number>
List of HTTP status codes for the origin group.

DistributionOriginGroupMember
, DistributionOriginGroupMemberArgs

OriginId This property is required. string
OriginId This property is required. string
originId This property is required. String
originId This property is required. string
origin_id This property is required. str
originId This property is required. String

DistributionOriginOriginShield
, DistributionOriginOriginShieldArgs

Enabled This property is required. bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
OriginShieldRegion string
AWS Region for Origin Shield. To specify a region, use the region code, not the region name. For example, specify the US East (Ohio) region as us-east-2.
Enabled This property is required. bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
OriginShieldRegion string
AWS Region for Origin Shield. To specify a region, use the region code, not the region name. For example, specify the US East (Ohio) region as us-east-2.
enabled This property is required. Boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
originShieldRegion String
AWS Region for Origin Shield. To specify a region, use the region code, not the region name. For example, specify the US East (Ohio) region as us-east-2.
enabled This property is required. boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
originShieldRegion string
AWS Region for Origin Shield. To specify a region, use the region code, not the region name. For example, specify the US East (Ohio) region as us-east-2.
enabled This property is required. bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
origin_shield_region str
AWS Region for Origin Shield. To specify a region, use the region code, not the region name. For example, specify the US East (Ohio) region as us-east-2.
enabled This property is required. Boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
originShieldRegion String
AWS Region for Origin Shield. To specify a region, use the region code, not the region name. For example, specify the US East (Ohio) region as us-east-2.

DistributionOriginS3OriginConfig
, DistributionOriginS3OriginConfigArgs

OriginAccessIdentity This property is required. string
The CloudFront origin access identity to associate with the origin.
OriginAccessIdentity This property is required. string
The CloudFront origin access identity to associate with the origin.
originAccessIdentity This property is required. String
The CloudFront origin access identity to associate with the origin.
originAccessIdentity This property is required. string
The CloudFront origin access identity to associate with the origin.
origin_access_identity This property is required. str
The CloudFront origin access identity to associate with the origin.
originAccessIdentity This property is required. String
The CloudFront origin access identity to associate with the origin.

DistributionOriginVpcOriginConfig
, DistributionOriginVpcOriginConfigArgs

VpcOriginId This property is required. string
The VPC origin ID.
OriginKeepaliveTimeout int
OriginReadTimeout int
VpcOriginId This property is required. string
The VPC origin ID.
OriginKeepaliveTimeout int
OriginReadTimeout int
vpcOriginId This property is required. String
The VPC origin ID.
originKeepaliveTimeout Integer
originReadTimeout Integer
vpcOriginId This property is required. string
The VPC origin ID.
originKeepaliveTimeout number
originReadTimeout number
vpc_origin_id This property is required. str
The VPC origin ID.
origin_keepalive_timeout int
origin_read_timeout int
vpcOriginId This property is required. String
The VPC origin ID.
originKeepaliveTimeout Number
originReadTimeout Number

DistributionRestrictions
, DistributionRestrictionsArgs

geoRestriction This property is required. Property Map

DistributionRestrictionsGeoRestriction
, DistributionRestrictionsGeoRestrictionArgs

RestrictionType This property is required. string
Method that you want to use to restrict distribution of your content by country: none, whitelist, or blacklist.
Locations List<string>
[ISO 3166-1-alpha-2 codes][4] for which you want CloudFront either to distribute your content (whitelist) or not distribute your content (blacklist). If the type is specified as none an empty array can be used.
RestrictionType This property is required. string
Method that you want to use to restrict distribution of your content by country: none, whitelist, or blacklist.
Locations []string
[ISO 3166-1-alpha-2 codes][4] for which you want CloudFront either to distribute your content (whitelist) or not distribute your content (blacklist). If the type is specified as none an empty array can be used.
restrictionType This property is required. String
Method that you want to use to restrict distribution of your content by country: none, whitelist, or blacklist.
locations List<String>
[ISO 3166-1-alpha-2 codes][4] for which you want CloudFront either to distribute your content (whitelist) or not distribute your content (blacklist). If the type is specified as none an empty array can be used.
restrictionType This property is required. string
Method that you want to use to restrict distribution of your content by country: none, whitelist, or blacklist.
locations string[]
[ISO 3166-1-alpha-2 codes][4] for which you want CloudFront either to distribute your content (whitelist) or not distribute your content (blacklist). If the type is specified as none an empty array can be used.
restriction_type This property is required. str
Method that you want to use to restrict distribution of your content by country: none, whitelist, or blacklist.
locations Sequence[str]
[ISO 3166-1-alpha-2 codes][4] for which you want CloudFront either to distribute your content (whitelist) or not distribute your content (blacklist). If the type is specified as none an empty array can be used.
restrictionType This property is required. String
Method that you want to use to restrict distribution of your content by country: none, whitelist, or blacklist.
locations List<String>
[ISO 3166-1-alpha-2 codes][4] for which you want CloudFront either to distribute your content (whitelist) or not distribute your content (blacklist). If the type is specified as none an empty array can be used.

DistributionTrustedKeyGroup
, DistributionTrustedKeyGroupArgs

Enabled bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
Items List<DistributionTrustedKeyGroupItem>
List of nested attributes for each trusted signer
Enabled bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
Items []DistributionTrustedKeyGroupItem
List of nested attributes for each trusted signer
enabled Boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
items List<DistributionTrustedKeyGroupItem>
List of nested attributes for each trusted signer
enabled boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
items DistributionTrustedKeyGroupItem[]
List of nested attributes for each trusted signer
enabled bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
items Sequence[DistributionTrustedKeyGroupItem]
List of nested attributes for each trusted signer
enabled Boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
items List<Property Map>
List of nested attributes for each trusted signer

DistributionTrustedKeyGroupItem
, DistributionTrustedKeyGroupItemArgs

KeyGroupId string
ID of the key group that contains the public keys.
KeyPairIds List<string>
Set of active CloudFront key pairs associated with the signer account
KeyGroupId string
ID of the key group that contains the public keys.
KeyPairIds []string
Set of active CloudFront key pairs associated with the signer account
keyGroupId String
ID of the key group that contains the public keys.
keyPairIds List<String>
Set of active CloudFront key pairs associated with the signer account
keyGroupId string
ID of the key group that contains the public keys.
keyPairIds string[]
Set of active CloudFront key pairs associated with the signer account
key_group_id str
ID of the key group that contains the public keys.
key_pair_ids Sequence[str]
Set of active CloudFront key pairs associated with the signer account
keyGroupId String
ID of the key group that contains the public keys.
keyPairIds List<String>
Set of active CloudFront key pairs associated with the signer account

DistributionTrustedSigner
, DistributionTrustedSignerArgs

Enabled bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
Items List<DistributionTrustedSignerItem>
List of nested attributes for each trusted signer
Enabled bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
Items []DistributionTrustedSignerItem
List of nested attributes for each trusted signer
enabled Boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
items List<DistributionTrustedSignerItem>
List of nested attributes for each trusted signer
enabled boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
items DistributionTrustedSignerItem[]
List of nested attributes for each trusted signer
enabled bool
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
items Sequence[DistributionTrustedSignerItem]
List of nested attributes for each trusted signer
enabled Boolean
true if any of the AWS accounts listed as trusted signers have active CloudFront key pairs
items List<Property Map>
List of nested attributes for each trusted signer

DistributionTrustedSignerItem
, DistributionTrustedSignerItemArgs

AwsAccountNumber string
AWS account ID or self
KeyPairIds List<string>
Set of active CloudFront key pairs associated with the signer account
AwsAccountNumber string
AWS account ID or self
KeyPairIds []string
Set of active CloudFront key pairs associated with the signer account
awsAccountNumber String
AWS account ID or self
keyPairIds List<String>
Set of active CloudFront key pairs associated with the signer account
awsAccountNumber string
AWS account ID or self
keyPairIds string[]
Set of active CloudFront key pairs associated with the signer account
aws_account_number str
AWS account ID or self
key_pair_ids Sequence[str]
Set of active CloudFront key pairs associated with the signer account
awsAccountNumber String
AWS account ID or self
keyPairIds List<String>
Set of active CloudFront key pairs associated with the signer account

DistributionViewerCertificate
, DistributionViewerCertificateArgs

AcmCertificateArn string
ARN of the AWS Certificate Manager certificate that you wish to use with this distribution. Specify this, cloudfront_default_certificate, or iam_certificate_id. The ACM certificate must be in US-EAST-1.
CloudfrontDefaultCertificate bool
true if you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name for your distribution. Specify this, acm_certificate_arn, or iam_certificate_id.
IamCertificateId string
IAM certificate identifier of the custom viewer certificate for this distribution if you are using a custom domain. Specify this, acm_certificate_arn, or cloudfront_default_certificate.
MinimumProtocolVersion string
Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Can only be set if cloudfront_default_certificate = false. See all possible values in this table under "Security policy." Some examples include: TLSv1.2_2019 and TLSv1.2_2021. Default: TLSv1. NOTE: If you are using a custom certificate (specified with acm_certificate_arn or iam_certificate_id), and have specified sni-only in ssl_support_method, TLSv1 or later must be specified. If you have specified vip in ssl_support_method, only SSLv3 or TLSv1 can be specified. If you have specified cloudfront_default_certificate, TLSv1 must be specified.
SslSupportMethod string
How you want CloudFront to serve HTTPS requests. One of vip, sni-only, or static-ip. Required if you specify acm_certificate_arn or iam_certificate_id. NOTE: vip causes CloudFront to use a dedicated IP address and may incur extra charges.
AcmCertificateArn string
ARN of the AWS Certificate Manager certificate that you wish to use with this distribution. Specify this, cloudfront_default_certificate, or iam_certificate_id. The ACM certificate must be in US-EAST-1.
CloudfrontDefaultCertificate bool
true if you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name for your distribution. Specify this, acm_certificate_arn, or iam_certificate_id.
IamCertificateId string
IAM certificate identifier of the custom viewer certificate for this distribution if you are using a custom domain. Specify this, acm_certificate_arn, or cloudfront_default_certificate.
MinimumProtocolVersion string
Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Can only be set if cloudfront_default_certificate = false. See all possible values in this table under "Security policy." Some examples include: TLSv1.2_2019 and TLSv1.2_2021. Default: TLSv1. NOTE: If you are using a custom certificate (specified with acm_certificate_arn or iam_certificate_id), and have specified sni-only in ssl_support_method, TLSv1 or later must be specified. If you have specified vip in ssl_support_method, only SSLv3 or TLSv1 can be specified. If you have specified cloudfront_default_certificate, TLSv1 must be specified.
SslSupportMethod string
How you want CloudFront to serve HTTPS requests. One of vip, sni-only, or static-ip. Required if you specify acm_certificate_arn or iam_certificate_id. NOTE: vip causes CloudFront to use a dedicated IP address and may incur extra charges.
acmCertificateArn String
ARN of the AWS Certificate Manager certificate that you wish to use with this distribution. Specify this, cloudfront_default_certificate, or iam_certificate_id. The ACM certificate must be in US-EAST-1.
cloudfrontDefaultCertificate Boolean
true if you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name for your distribution. Specify this, acm_certificate_arn, or iam_certificate_id.
iamCertificateId String
IAM certificate identifier of the custom viewer certificate for this distribution if you are using a custom domain. Specify this, acm_certificate_arn, or cloudfront_default_certificate.
minimumProtocolVersion String
Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Can only be set if cloudfront_default_certificate = false. See all possible values in this table under "Security policy." Some examples include: TLSv1.2_2019 and TLSv1.2_2021. Default: TLSv1. NOTE: If you are using a custom certificate (specified with acm_certificate_arn or iam_certificate_id), and have specified sni-only in ssl_support_method, TLSv1 or later must be specified. If you have specified vip in ssl_support_method, only SSLv3 or TLSv1 can be specified. If you have specified cloudfront_default_certificate, TLSv1 must be specified.
sslSupportMethod String
How you want CloudFront to serve HTTPS requests. One of vip, sni-only, or static-ip. Required if you specify acm_certificate_arn or iam_certificate_id. NOTE: vip causes CloudFront to use a dedicated IP address and may incur extra charges.
acmCertificateArn string
ARN of the AWS Certificate Manager certificate that you wish to use with this distribution. Specify this, cloudfront_default_certificate, or iam_certificate_id. The ACM certificate must be in US-EAST-1.
cloudfrontDefaultCertificate boolean
true if you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name for your distribution. Specify this, acm_certificate_arn, or iam_certificate_id.
iamCertificateId string
IAM certificate identifier of the custom viewer certificate for this distribution if you are using a custom domain. Specify this, acm_certificate_arn, or cloudfront_default_certificate.
minimumProtocolVersion string
Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Can only be set if cloudfront_default_certificate = false. See all possible values in this table under "Security policy." Some examples include: TLSv1.2_2019 and TLSv1.2_2021. Default: TLSv1. NOTE: If you are using a custom certificate (specified with acm_certificate_arn or iam_certificate_id), and have specified sni-only in ssl_support_method, TLSv1 or later must be specified. If you have specified vip in ssl_support_method, only SSLv3 or TLSv1 can be specified. If you have specified cloudfront_default_certificate, TLSv1 must be specified.
sslSupportMethod string
How you want CloudFront to serve HTTPS requests. One of vip, sni-only, or static-ip. Required if you specify acm_certificate_arn or iam_certificate_id. NOTE: vip causes CloudFront to use a dedicated IP address and may incur extra charges.
acm_certificate_arn str
ARN of the AWS Certificate Manager certificate that you wish to use with this distribution. Specify this, cloudfront_default_certificate, or iam_certificate_id. The ACM certificate must be in US-EAST-1.
cloudfront_default_certificate bool
true if you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name for your distribution. Specify this, acm_certificate_arn, or iam_certificate_id.
iam_certificate_id str
IAM certificate identifier of the custom viewer certificate for this distribution if you are using a custom domain. Specify this, acm_certificate_arn, or cloudfront_default_certificate.
minimum_protocol_version str
Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Can only be set if cloudfront_default_certificate = false. See all possible values in this table under "Security policy." Some examples include: TLSv1.2_2019 and TLSv1.2_2021. Default: TLSv1. NOTE: If you are using a custom certificate (specified with acm_certificate_arn or iam_certificate_id), and have specified sni-only in ssl_support_method, TLSv1 or later must be specified. If you have specified vip in ssl_support_method, only SSLv3 or TLSv1 can be specified. If you have specified cloudfront_default_certificate, TLSv1 must be specified.
ssl_support_method str
How you want CloudFront to serve HTTPS requests. One of vip, sni-only, or static-ip. Required if you specify acm_certificate_arn or iam_certificate_id. NOTE: vip causes CloudFront to use a dedicated IP address and may incur extra charges.
acmCertificateArn String
ARN of the AWS Certificate Manager certificate that you wish to use with this distribution. Specify this, cloudfront_default_certificate, or iam_certificate_id. The ACM certificate must be in US-EAST-1.
cloudfrontDefaultCertificate Boolean
true if you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name for your distribution. Specify this, acm_certificate_arn, or iam_certificate_id.
iamCertificateId String
IAM certificate identifier of the custom viewer certificate for this distribution if you are using a custom domain. Specify this, acm_certificate_arn, or cloudfront_default_certificate.
minimumProtocolVersion String
Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Can only be set if cloudfront_default_certificate = false. See all possible values in this table under "Security policy." Some examples include: TLSv1.2_2019 and TLSv1.2_2021. Default: TLSv1. NOTE: If you are using a custom certificate (specified with acm_certificate_arn or iam_certificate_id), and have specified sni-only in ssl_support_method, TLSv1 or later must be specified. If you have specified vip in ssl_support_method, only SSLv3 or TLSv1 can be specified. If you have specified cloudfront_default_certificate, TLSv1 must be specified.
sslSupportMethod String
How you want CloudFront to serve HTTPS requests. One of vip, sni-only, or static-ip. Required if you specify acm_certificate_arn or iam_certificate_id. NOTE: vip causes CloudFront to use a dedicated IP address and may incur extra charges.

Import

Using pulumi import, import CloudFront Distributions using the id. For example:

$ pulumi import aws:cloudfront/distribution:Distribution distribution E74FTE3EXAMPLE
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
AWS Classic pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.