awscloudfront

package
v2.0.0-rc.18 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 18, 2021 License: Apache-2.0 Imports: 10 Imported by: 23

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CachePolicy_IsConstruct

func CachePolicy_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CachePolicy_IsResource

func CachePolicy_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func CfnCachePolicy_CFN_RESOURCE_TYPE_NAME

func CfnCachePolicy_CFN_RESOURCE_TYPE_NAME() *string

func CfnCachePolicy_IsCfnElement

func CfnCachePolicy_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnCachePolicy_IsCfnResource

func CfnCachePolicy_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnCachePolicy_IsConstruct

func CfnCachePolicy_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnCloudFrontOriginAccessIdentity_CFN_RESOURCE_TYPE_NAME

func CfnCloudFrontOriginAccessIdentity_CFN_RESOURCE_TYPE_NAME() *string

func CfnCloudFrontOriginAccessIdentity_IsCfnElement

func CfnCloudFrontOriginAccessIdentity_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnCloudFrontOriginAccessIdentity_IsCfnResource

func CfnCloudFrontOriginAccessIdentity_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnCloudFrontOriginAccessIdentity_IsConstruct

func CfnCloudFrontOriginAccessIdentity_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnDistribution_CFN_RESOURCE_TYPE_NAME

func CfnDistribution_CFN_RESOURCE_TYPE_NAME() *string

func CfnDistribution_IsCfnElement

func CfnDistribution_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnDistribution_IsCfnResource

func CfnDistribution_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnDistribution_IsConstruct

func CfnDistribution_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnFunction_CFN_RESOURCE_TYPE_NAME

func CfnFunction_CFN_RESOURCE_TYPE_NAME() *string

func CfnFunction_IsCfnElement

func CfnFunction_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnFunction_IsCfnResource

func CfnFunction_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnFunction_IsConstruct

func CfnFunction_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnKeyGroup_CFN_RESOURCE_TYPE_NAME

func CfnKeyGroup_CFN_RESOURCE_TYPE_NAME() *string

func CfnKeyGroup_IsCfnElement

func CfnKeyGroup_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnKeyGroup_IsCfnResource

func CfnKeyGroup_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnKeyGroup_IsConstruct

func CfnKeyGroup_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnOriginRequestPolicy_CFN_RESOURCE_TYPE_NAME

func CfnOriginRequestPolicy_CFN_RESOURCE_TYPE_NAME() *string

func CfnOriginRequestPolicy_IsCfnElement

func CfnOriginRequestPolicy_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnOriginRequestPolicy_IsCfnResource

func CfnOriginRequestPolicy_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnOriginRequestPolicy_IsConstruct

func CfnOriginRequestPolicy_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnPublicKey_CFN_RESOURCE_TYPE_NAME

func CfnPublicKey_CFN_RESOURCE_TYPE_NAME() *string

func CfnPublicKey_IsCfnElement

func CfnPublicKey_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnPublicKey_IsCfnResource

func CfnPublicKey_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnPublicKey_IsConstruct

func CfnPublicKey_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnRealtimeLogConfig_CFN_RESOURCE_TYPE_NAME

func CfnRealtimeLogConfig_CFN_RESOURCE_TYPE_NAME() *string

func CfnRealtimeLogConfig_IsCfnElement

func CfnRealtimeLogConfig_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnRealtimeLogConfig_IsCfnResource

func CfnRealtimeLogConfig_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnRealtimeLogConfig_IsConstruct

func CfnRealtimeLogConfig_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnStreamingDistribution_CFN_RESOURCE_TYPE_NAME

func CfnStreamingDistribution_CFN_RESOURCE_TYPE_NAME() *string

func CfnStreamingDistribution_IsCfnElement

func CfnStreamingDistribution_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnStreamingDistribution_IsCfnResource

func CfnStreamingDistribution_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnStreamingDistribution_IsConstruct

func CfnStreamingDistribution_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CloudFrontWebDistribution_IsConstruct

func CloudFrontWebDistribution_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CloudFrontWebDistribution_IsResource

func CloudFrontWebDistribution_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func Distribution_IsConstruct

func Distribution_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func Distribution_IsResource

func Distribution_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func Function_IsConstruct

func Function_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func Function_IsResource

func Function_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func KeyGroup_IsConstruct

func KeyGroup_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func KeyGroup_IsResource

func KeyGroup_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func NewCachePolicy_Override

func NewCachePolicy_Override(c CachePolicy, scope constructs.Construct, id *string, props *CachePolicyProps)

Experimental.

func NewCfnCachePolicy_Override

func NewCfnCachePolicy_Override(c CfnCachePolicy, scope constructs.Construct, id *string, props *CfnCachePolicyProps)

Create a new `AWS::CloudFront::CachePolicy`.

func NewCfnCloudFrontOriginAccessIdentity_Override

func NewCfnCloudFrontOriginAccessIdentity_Override(c CfnCloudFrontOriginAccessIdentity, scope constructs.Construct, id *string, props *CfnCloudFrontOriginAccessIdentityProps)

Create a new `AWS::CloudFront::CloudFrontOriginAccessIdentity`.

func NewCfnDistribution_Override

func NewCfnDistribution_Override(c CfnDistribution, scope constructs.Construct, id *string, props *CfnDistributionProps)

Create a new `AWS::CloudFront::Distribution`.

func NewCfnFunction_Override

func NewCfnFunction_Override(c CfnFunction, scope constructs.Construct, id *string, props *CfnFunctionProps)

Create a new `AWS::CloudFront::Function`.

func NewCfnKeyGroup_Override

func NewCfnKeyGroup_Override(c CfnKeyGroup, scope constructs.Construct, id *string, props *CfnKeyGroupProps)

Create a new `AWS::CloudFront::KeyGroup`.

func NewCfnOriginRequestPolicy_Override

func NewCfnOriginRequestPolicy_Override(c CfnOriginRequestPolicy, scope constructs.Construct, id *string, props *CfnOriginRequestPolicyProps)

Create a new `AWS::CloudFront::OriginRequestPolicy`.

func NewCfnPublicKey_Override

func NewCfnPublicKey_Override(c CfnPublicKey, scope constructs.Construct, id *string, props *CfnPublicKeyProps)

Create a new `AWS::CloudFront::PublicKey`.

func NewCfnRealtimeLogConfig_Override

func NewCfnRealtimeLogConfig_Override(c CfnRealtimeLogConfig, scope constructs.Construct, id *string, props *CfnRealtimeLogConfigProps)

Create a new `AWS::CloudFront::RealtimeLogConfig`.

func NewCfnStreamingDistribution_Override

func NewCfnStreamingDistribution_Override(c CfnStreamingDistribution, scope constructs.Construct, id *string, props *CfnStreamingDistributionProps)

Create a new `AWS::CloudFront::StreamingDistribution`.

func NewCloudFrontWebDistribution_Override

func NewCloudFrontWebDistribution_Override(c CloudFrontWebDistribution, scope constructs.Construct, id *string, props *CloudFrontWebDistributionProps)

Experimental.

func NewDistribution_Override

func NewDistribution_Override(d Distribution, scope constructs.Construct, id *string, props *DistributionProps)

Experimental.

func NewFunctionCode_Override

func NewFunctionCode_Override(f FunctionCode)

Experimental.

func NewFunction_Override

func NewFunction_Override(f Function, scope constructs.Construct, id *string, props *FunctionProps)

Experimental.

func NewKeyGroup_Override

func NewKeyGroup_Override(k KeyGroup, scope constructs.Construct, id *string, props *KeyGroupProps)

Experimental.

func NewOriginAccessIdentity_Override

func NewOriginAccessIdentity_Override(o OriginAccessIdentity, scope constructs.Construct, id *string, props *OriginAccessIdentityProps)

Experimental.

func NewOriginBase_Override

func NewOriginBase_Override(o OriginBase, domainName *string, props *OriginProps)

Experimental.

func NewOriginRequestPolicy_Override

func NewOriginRequestPolicy_Override(o OriginRequestPolicy, scope constructs.Construct, id *string, props *OriginRequestPolicyProps)

Experimental.

func NewPublicKey_Override

func NewPublicKey_Override(p PublicKey, scope constructs.Construct, id *string, props *PublicKeyProps)

Experimental.

func OriginAccessIdentity_IsConstruct

func OriginAccessIdentity_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func OriginAccessIdentity_IsResource

func OriginAccessIdentity_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func OriginRequestPolicy_IsConstruct

func OriginRequestPolicy_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func OriginRequestPolicy_IsResource

func OriginRequestPolicy_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func PublicKey_IsConstruct

func PublicKey_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func PublicKey_IsResource

func PublicKey_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

Types

type AddBehaviorOptions

type AddBehaviorOptions struct {
	// HTTP methods to allow for this behavior.
	// Experimental.
	AllowedMethods AllowedMethods `json:"allowedMethods"`
	// HTTP methods to cache for this behavior.
	// Experimental.
	CachedMethods CachedMethods `json:"cachedMethods"`
	// The cache policy for this behavior.
	//
	// The cache policy determines what values are included in the cache key,
	// and the time-to-live (TTL) values for the cache.
	// See: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html.
	//
	// Experimental.
	CachePolicy ICachePolicy `json:"cachePolicy"`
	// Whether you want CloudFront to automatically compress certain files for this cache behavior.
	//
	// See https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html#compressed-content-cloudfront-file-types
	// for file types CloudFront will compress.
	// Experimental.
	Compress *bool `json:"compress"`
	// The Lambda@Edge functions to invoke before serving the contents.
	// See: https://aws.amazon.com/lambda/edge
	//
	// Experimental.
	EdgeLambdas *[]*EdgeLambda `json:"edgeLambdas"`
	// The CloudFront functions to invoke before serving the contents.
	// Experimental.
	FunctionAssociations *[]*FunctionAssociation `json:"functionAssociations"`
	// The origin request policy for this behavior.
	//
	// The origin request policy determines which values (e.g., headers, cookies)
	// are included in requests that CloudFront sends to the origin.
	// Experimental.
	OriginRequestPolicy IOriginRequestPolicy `json:"originRequestPolicy"`
	// Set this to true to indicate you want to distribute media files in the Microsoft Smooth Streaming format using this behavior.
	// Experimental.
	SmoothStreaming *bool `json:"smoothStreaming"`
	// A list of Key Groups that CloudFront can use to validate signed URLs or signed cookies.
	// See: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html
	//
	// Experimental.
	TrustedKeyGroups *[]IKeyGroup `json:"trustedKeyGroups"`
	// The protocol that viewers can use to access the files controlled by this behavior.
	// Experimental.
	ViewerProtocolPolicy ViewerProtocolPolicy `json:"viewerProtocolPolicy"`
}

Options for adding a new behavior to a Distribution. Experimental.

type AllowedMethods

type AllowedMethods interface {
	Methods() *[]*string
}

The HTTP methods that the Behavior will accept requests on. Experimental.

func AllowedMethods_ALLOW_ALL

func AllowedMethods_ALLOW_ALL() AllowedMethods

func AllowedMethods_ALLOW_GET_HEAD

func AllowedMethods_ALLOW_GET_HEAD() AllowedMethods

func AllowedMethods_ALLOW_GET_HEAD_OPTIONS

func AllowedMethods_ALLOW_GET_HEAD_OPTIONS() AllowedMethods

type Behavior

type Behavior struct {
	// The method this CloudFront distribution responds do.
	// Experimental.
	AllowedMethods CloudFrontAllowedMethods `json:"allowedMethods"`
	// Which methods are cached by CloudFront by default.
	// Experimental.
	CachedMethods CloudFrontAllowedCachedMethods `json:"cachedMethods"`
	// If CloudFront should automatically compress some content types.
	// Experimental.
	Compress *bool `json:"compress"`
	// The default amount of time CloudFront will cache an object.
	//
	// This value applies only when your custom origin does not add HTTP headers,
	// such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects.
	// Experimental.
	DefaultTtl awscdk.Duration `json:"defaultTtl"`
	// The values CloudFront will forward to the origin when making a request.
	// Experimental.
	ForwardedValues *CfnDistribution_ForwardedValuesProperty `json:"forwardedValues"`
	// The CloudFront functions to invoke before serving the contents.
	// Experimental.
	FunctionAssociations *[]*FunctionAssociation `json:"functionAssociations"`
	// If this behavior is the default behavior for the distribution.
	//
	// You must specify exactly one default distribution per CloudFront distribution.
	// The default behavior is allowed to omit the "path" property.
	// Experimental.
	IsDefaultBehavior *bool `json:"isDefaultBehavior"`
	// Declares associated lambda@edge functions for this distribution behaviour.
	// Experimental.
	LambdaFunctionAssociations *[]*LambdaFunctionAssociation `json:"lambdaFunctionAssociations"`
	// The max amount of time you want objects to stay in the cache before CloudFront queries your origin.
	// Experimental.
	MaxTtl awscdk.Duration `json:"maxTtl"`
	// The minimum amount of time that you want objects to stay in the cache before CloudFront queries your origin.
	// Experimental.
	MinTtl awscdk.Duration `json:"minTtl"`
	// The path this behavior responds to.
	//
	// Required for all non-default behaviors. (The default behavior implicitly has "*" as the path pattern. )
	// Experimental.
	PathPattern *string `json:"pathPattern"`
	// A list of Key Groups that CloudFront can use to validate signed URLs or signed cookies.
	// See: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html
	//
	// Experimental.
	TrustedKeyGroups *[]IKeyGroup `json:"trustedKeyGroups"`
}

A CloudFront behavior wrapper. Experimental.

type BehaviorOptions

type BehaviorOptions struct {
	// HTTP methods to allow for this behavior.
	// Experimental.
	AllowedMethods AllowedMethods `json:"allowedMethods"`
	// HTTP methods to cache for this behavior.
	// Experimental.
	CachedMethods CachedMethods `json:"cachedMethods"`
	// The cache policy for this behavior.
	//
	// The cache policy determines what values are included in the cache key,
	// and the time-to-live (TTL) values for the cache.
	// See: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html.
	//
	// Experimental.
	CachePolicy ICachePolicy `json:"cachePolicy"`
	// Whether you want CloudFront to automatically compress certain files for this cache behavior.
	//
	// See https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html#compressed-content-cloudfront-file-types
	// for file types CloudFront will compress.
	// Experimental.
	Compress *bool `json:"compress"`
	// The Lambda@Edge functions to invoke before serving the contents.
	// See: https://aws.amazon.com/lambda/edge
	//
	// Experimental.
	EdgeLambdas *[]*EdgeLambda `json:"edgeLambdas"`
	// The CloudFront functions to invoke before serving the contents.
	// Experimental.
	FunctionAssociations *[]*FunctionAssociation `json:"functionAssociations"`
	// The origin request policy for this behavior.
	//
	// The origin request policy determines which values (e.g., headers, cookies)
	// are included in requests that CloudFront sends to the origin.
	// Experimental.
	OriginRequestPolicy IOriginRequestPolicy `json:"originRequestPolicy"`
	// Set this to true to indicate you want to distribute media files in the Microsoft Smooth Streaming format using this behavior.
	// Experimental.
	SmoothStreaming *bool `json:"smoothStreaming"`
	// A list of Key Groups that CloudFront can use to validate signed URLs or signed cookies.
	// See: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html
	//
	// Experimental.
	TrustedKeyGroups *[]IKeyGroup `json:"trustedKeyGroups"`
	// The protocol that viewers can use to access the files controlled by this behavior.
	// Experimental.
	ViewerProtocolPolicy ViewerProtocolPolicy `json:"viewerProtocolPolicy"`
	// The origin that you want CloudFront to route requests to when they match this behavior.
	// Experimental.
	Origin IOrigin `json:"origin"`
}

Options for creating a new behavior. Experimental.

type CacheCookieBehavior

type CacheCookieBehavior interface {
	Behavior() *string
	Cookies() *[]*string
}

Determines whether any cookies in viewer requests are included in the cache key and automatically included in requests that CloudFront sends to the origin. Experimental.

func CacheCookieBehavior_All

func CacheCookieBehavior_All() CacheCookieBehavior

All cookies in viewer requests are included in the cache key and are automatically included in requests that CloudFront sends to the origin. Experimental.

func CacheCookieBehavior_AllowList

func CacheCookieBehavior_AllowList(cookies ...*string) CacheCookieBehavior

Only the provided `cookies` are included in the cache key and automatically included in requests that CloudFront sends to the origin. Experimental.

func CacheCookieBehavior_DenyList

func CacheCookieBehavior_DenyList(cookies ...*string) CacheCookieBehavior

All cookies except the provided `cookies` are included in the cache key and automatically included in requests that CloudFront sends to the origin. Experimental.

func CacheCookieBehavior_None

func CacheCookieBehavior_None() CacheCookieBehavior

Cookies in viewer requests are not included in the cache key and are not automatically included in requests that CloudFront sends to the origin. Experimental.

type CacheHeaderBehavior

type CacheHeaderBehavior interface {
	Behavior() *string
	Headers() *[]*string
}

Determines whether any HTTP headers are included in the cache key and automatically included in requests that CloudFront sends to the origin. Experimental.

func CacheHeaderBehavior_AllowList

func CacheHeaderBehavior_AllowList(headers ...*string) CacheHeaderBehavior

Listed headers are included in the cache key and are automatically included in requests that CloudFront sends to the origin. Experimental.

func CacheHeaderBehavior_None

func CacheHeaderBehavior_None() CacheHeaderBehavior

HTTP headers are not included in the cache key and are not automatically included in requests that CloudFront sends to the origin. Experimental.

type CachePolicy

type CachePolicy interface {
	awscdk.Resource
	ICachePolicy
	CachePolicyId() *string
	Env() *awscdk.ResourceEnvironment
	Node() constructs.Node
	PhysicalName() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

A Cache Policy configuration. Experimental.

func NewCachePolicy

func NewCachePolicy(scope constructs.Construct, id *string, props *CachePolicyProps) CachePolicy

Experimental.

type CachePolicyProps

type CachePolicyProps struct {
	// A unique name to identify the cache policy.
	//
	// The name must only include '-', '_', or alphanumeric characters.
	// Experimental.
	CachePolicyName *string `json:"cachePolicyName"`
	// A comment to describe the cache policy.
	// Experimental.
	Comment *string `json:"comment"`
	// Determines whether any cookies in viewer requests are included in the cache key and automatically included in requests that CloudFront sends to the origin.
	// Experimental.
	CookieBehavior CacheCookieBehavior `json:"cookieBehavior"`
	// The default amount of time for objects to stay in the CloudFront cache.
	//
	// Only used when the origin does not send Cache-Control or Expires headers with the object.
	// Experimental.
	DefaultTtl awscdk.Duration `json:"defaultTtl"`
	// Whether to normalize and include the `Accept-Encoding` header in the cache key when the `Accept-Encoding` header is 'br'.
	// Experimental.
	EnableAcceptEncodingBrotli *bool `json:"enableAcceptEncodingBrotli"`
	// Whether to normalize and include the `Accept-Encoding` header in the cache key when the `Accept-Encoding` header is 'gzip'.
	// Experimental.
	EnableAcceptEncodingGzip *bool `json:"enableAcceptEncodingGzip"`
	// Determines whether any HTTP headers are included in the cache key and automatically included in requests that CloudFront sends to the origin.
	// Experimental.
	HeaderBehavior CacheHeaderBehavior `json:"headerBehavior"`
	// The maximum amount of time for objects to stay in the CloudFront cache.
	//
	// CloudFront uses this value only when the origin sends Cache-Control or Expires headers with the object.
	// Experimental.
	MaxTtl awscdk.Duration `json:"maxTtl"`
	// The minimum amount of time for objects to stay in the CloudFront cache.
	// Experimental.
	MinTtl awscdk.Duration `json:"minTtl"`
	// Determines whether any query strings are included in the cache key and automatically included in requests that CloudFront sends to the origin.
	// Experimental.
	QueryStringBehavior CacheQueryStringBehavior `json:"queryStringBehavior"`
}

Properties for creating a Cache Policy. Experimental.

type CacheQueryStringBehavior

type CacheQueryStringBehavior interface {
	Behavior() *string
	QueryStrings() *[]*string
}

Determines whether any URL query strings in viewer requests are included in the cache key and automatically included in requests that CloudFront sends to the origin. Experimental.

func CacheQueryStringBehavior_All

func CacheQueryStringBehavior_All() CacheQueryStringBehavior

All query strings in viewer requests are included in the cache key and are automatically included in requests that CloudFront sends to the origin. Experimental.

func CacheQueryStringBehavior_AllowList

func CacheQueryStringBehavior_AllowList(queryStrings ...*string) CacheQueryStringBehavior

Only the provided `queryStrings` are included in the cache key and automatically included in requests that CloudFront sends to the origin. Experimental.

func CacheQueryStringBehavior_DenyList

func CacheQueryStringBehavior_DenyList(queryStrings ...*string) CacheQueryStringBehavior

All query strings except the provided `queryStrings` are included in the cache key and automatically included in requests that CloudFront sends to the origin. Experimental.

func CacheQueryStringBehavior_None

func CacheQueryStringBehavior_None() CacheQueryStringBehavior

Query strings in viewer requests are not included in the cache key and are not automatically included in requests that CloudFront sends to the origin. Experimental.

type CachedMethods

type CachedMethods interface {
	Methods() *[]*string
}

The HTTP methods that the Behavior will cache requests on. Experimental.

func CachedMethods_CACHE_GET_HEAD

func CachedMethods_CACHE_GET_HEAD() CachedMethods

func CachedMethods_CACHE_GET_HEAD_OPTIONS

func CachedMethods_CACHE_GET_HEAD_OPTIONS() CachedMethods

type CfnCachePolicy

type CfnCachePolicy interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrId() *string
	AttrLastModifiedTime() *string
	CachePolicyConfig() interface{}
	SetCachePolicyConfig(val interface{})
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	LogicalId() *string
	Node() constructs.Node
	Ref() *string
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CloudFront::CachePolicy`.

func NewCfnCachePolicy

func NewCfnCachePolicy(scope constructs.Construct, id *string, props *CfnCachePolicyProps) CfnCachePolicy

Create a new `AWS::CloudFront::CachePolicy`.

type CfnCachePolicyProps

type CfnCachePolicyProps struct {
	// `AWS::CloudFront::CachePolicy.CachePolicyConfig`.
	CachePolicyConfig interface{} `json:"cachePolicyConfig"`
}

Properties for defining a `AWS::CloudFront::CachePolicy`.

type CfnCachePolicy_CachePolicyConfigProperty

type CfnCachePolicy_CachePolicyConfigProperty struct {
	// `CfnCachePolicy.CachePolicyConfigProperty.DefaultTTL`.
	DefaultTtl *float64 `json:"defaultTtl"`
	// `CfnCachePolicy.CachePolicyConfigProperty.MaxTTL`.
	MaxTtl *float64 `json:"maxTtl"`
	// `CfnCachePolicy.CachePolicyConfigProperty.MinTTL`.
	MinTtl *float64 `json:"minTtl"`
	// `CfnCachePolicy.CachePolicyConfigProperty.Name`.
	Name *string `json:"name"`
	// `CfnCachePolicy.CachePolicyConfigProperty.ParametersInCacheKeyAndForwardedToOrigin`.
	ParametersInCacheKeyAndForwardedToOrigin interface{} `json:"parametersInCacheKeyAndForwardedToOrigin"`
	// `CfnCachePolicy.CachePolicyConfigProperty.Comment`.
	Comment *string `json:"comment"`
}

type CfnCachePolicy_CookiesConfigProperty

type CfnCachePolicy_CookiesConfigProperty struct {
	// `CfnCachePolicy.CookiesConfigProperty.CookieBehavior`.
	CookieBehavior *string `json:"cookieBehavior"`
	// `CfnCachePolicy.CookiesConfigProperty.Cookies`.
	Cookies *[]*string `json:"cookies"`
}

type CfnCachePolicy_HeadersConfigProperty

type CfnCachePolicy_HeadersConfigProperty struct {
	// `CfnCachePolicy.HeadersConfigProperty.HeaderBehavior`.
	HeaderBehavior *string `json:"headerBehavior"`
	// `CfnCachePolicy.HeadersConfigProperty.Headers`.
	Headers *[]*string `json:"headers"`
}

type CfnCachePolicy_ParametersInCacheKeyAndForwardedToOriginProperty

type CfnCachePolicy_ParametersInCacheKeyAndForwardedToOriginProperty struct {
	// `CfnCachePolicy.ParametersInCacheKeyAndForwardedToOriginProperty.CookiesConfig`.
	CookiesConfig interface{} `json:"cookiesConfig"`
	// `CfnCachePolicy.ParametersInCacheKeyAndForwardedToOriginProperty.EnableAcceptEncodingGzip`.
	EnableAcceptEncodingGzip interface{} `json:"enableAcceptEncodingGzip"`
	// `CfnCachePolicy.ParametersInCacheKeyAndForwardedToOriginProperty.HeadersConfig`.
	HeadersConfig interface{} `json:"headersConfig"`
	// `CfnCachePolicy.ParametersInCacheKeyAndForwardedToOriginProperty.QueryStringsConfig`.
	QueryStringsConfig interface{} `json:"queryStringsConfig"`
	// `CfnCachePolicy.ParametersInCacheKeyAndForwardedToOriginProperty.EnableAcceptEncodingBrotli`.
	EnableAcceptEncodingBrotli interface{} `json:"enableAcceptEncodingBrotli"`
}

type CfnCachePolicy_QueryStringsConfigProperty

type CfnCachePolicy_QueryStringsConfigProperty struct {
	// `CfnCachePolicy.QueryStringsConfigProperty.QueryStringBehavior`.
	QueryStringBehavior *string `json:"queryStringBehavior"`
	// `CfnCachePolicy.QueryStringsConfigProperty.QueryStrings`.
	QueryStrings *[]*string `json:"queryStrings"`
}

type CfnCloudFrontOriginAccessIdentity

type CfnCloudFrontOriginAccessIdentity interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrId() *string
	AttrS3CanonicalUserId() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CloudFrontOriginAccessIdentityConfig() interface{}
	SetCloudFrontOriginAccessIdentityConfig(val interface{})
	CreationStack() *[]*string
	LogicalId() *string
	Node() constructs.Node
	Ref() *string
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CloudFront::CloudFrontOriginAccessIdentity`.

func NewCfnCloudFrontOriginAccessIdentity

func NewCfnCloudFrontOriginAccessIdentity(scope constructs.Construct, id *string, props *CfnCloudFrontOriginAccessIdentityProps) CfnCloudFrontOriginAccessIdentity

Create a new `AWS::CloudFront::CloudFrontOriginAccessIdentity`.

type CfnCloudFrontOriginAccessIdentityProps

type CfnCloudFrontOriginAccessIdentityProps struct {
	// `AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig`.
	CloudFrontOriginAccessIdentityConfig interface{} `json:"cloudFrontOriginAccessIdentityConfig"`
}

Properties for defining a `AWS::CloudFront::CloudFrontOriginAccessIdentity`.

type CfnCloudFrontOriginAccessIdentity_CloudFrontOriginAccessIdentityConfigProperty

type CfnCloudFrontOriginAccessIdentity_CloudFrontOriginAccessIdentityConfigProperty struct {
	// `CfnCloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfigProperty.Comment`.
	Comment *string `json:"comment"`
}

type CfnDistribution

type CfnDistribution interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrDomainName() *string
	AttrId() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	DistributionConfig() interface{}
	SetDistributionConfig(val interface{})
	LogicalId() *string
	Node() constructs.Node
	Ref() *string
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CloudFront::Distribution`.

func NewCfnDistribution

func NewCfnDistribution(scope constructs.Construct, id *string, props *CfnDistributionProps) CfnDistribution

Create a new `AWS::CloudFront::Distribution`.

type CfnDistributionProps

type CfnDistributionProps struct {
	// `AWS::CloudFront::Distribution.DistributionConfig`.
	DistributionConfig interface{} `json:"distributionConfig"`
	// `AWS::CloudFront::Distribution.Tags`.
	Tags *[]*awscdk.CfnTag `json:"tags"`
}

Properties for defining a `AWS::CloudFront::Distribution`.

type CfnDistribution_CacheBehaviorProperty

type CfnDistribution_CacheBehaviorProperty struct {
	// `CfnDistribution.CacheBehaviorProperty.PathPattern`.
	PathPattern *string `json:"pathPattern"`
	// `CfnDistribution.CacheBehaviorProperty.TargetOriginId`.
	TargetOriginId *string `json:"targetOriginId"`
	// `CfnDistribution.CacheBehaviorProperty.ViewerProtocolPolicy`.
	ViewerProtocolPolicy *string `json:"viewerProtocolPolicy"`
	// `CfnDistribution.CacheBehaviorProperty.AllowedMethods`.
	AllowedMethods *[]*string `json:"allowedMethods"`
	// `CfnDistribution.CacheBehaviorProperty.CachedMethods`.
	CachedMethods *[]*string `json:"cachedMethods"`
	// `CfnDistribution.CacheBehaviorProperty.CachePolicyId`.
	CachePolicyId *string `json:"cachePolicyId"`
	// `CfnDistribution.CacheBehaviorProperty.Compress`.
	Compress interface{} `json:"compress"`
	// `CfnDistribution.CacheBehaviorProperty.DefaultTTL`.
	DefaultTtl *float64 `json:"defaultTtl"`
	// `CfnDistribution.CacheBehaviorProperty.FieldLevelEncryptionId`.
	FieldLevelEncryptionId *string `json:"fieldLevelEncryptionId"`
	// `CfnDistribution.CacheBehaviorProperty.ForwardedValues`.
	ForwardedValues interface{} `json:"forwardedValues"`
	// `CfnDistribution.CacheBehaviorProperty.FunctionAssociations`.
	FunctionAssociations interface{} `json:"functionAssociations"`
	// `CfnDistribution.CacheBehaviorProperty.LambdaFunctionAssociations`.
	LambdaFunctionAssociations interface{} `json:"lambdaFunctionAssociations"`
	// `CfnDistribution.CacheBehaviorProperty.MaxTTL`.
	MaxTtl *float64 `json:"maxTtl"`
	// `CfnDistribution.CacheBehaviorProperty.MinTTL`.
	MinTtl *float64 `json:"minTtl"`
	// `CfnDistribution.CacheBehaviorProperty.OriginRequestPolicyId`.
	OriginRequestPolicyId *string `json:"originRequestPolicyId"`
	// `CfnDistribution.CacheBehaviorProperty.RealtimeLogConfigArn`.
	RealtimeLogConfigArn *string `json:"realtimeLogConfigArn"`
	// `CfnDistribution.CacheBehaviorProperty.SmoothStreaming`.
	SmoothStreaming interface{} `json:"smoothStreaming"`
	// `CfnDistribution.CacheBehaviorProperty.TrustedKeyGroups`.
	TrustedKeyGroups *[]*string `json:"trustedKeyGroups"`
	// `CfnDistribution.CacheBehaviorProperty.TrustedSigners`.
	TrustedSigners *[]*string `json:"trustedSigners"`
}

type CfnDistribution_CookiesProperty

type CfnDistribution_CookiesProperty struct {
	// `CfnDistribution.CookiesProperty.Forward`.
	Forward *string `json:"forward"`
	// `CfnDistribution.CookiesProperty.WhitelistedNames`.
	WhitelistedNames *[]*string `json:"whitelistedNames"`
}

type CfnDistribution_CustomErrorResponseProperty

type CfnDistribution_CustomErrorResponseProperty struct {
	// `CfnDistribution.CustomErrorResponseProperty.ErrorCode`.
	ErrorCode *float64 `json:"errorCode"`
	// `CfnDistribution.CustomErrorResponseProperty.ErrorCachingMinTTL`.
	ErrorCachingMinTtl *float64 `json:"errorCachingMinTtl"`
	// `CfnDistribution.CustomErrorResponseProperty.ResponseCode`.
	ResponseCode *float64 `json:"responseCode"`
	// `CfnDistribution.CustomErrorResponseProperty.ResponsePagePath`.
	ResponsePagePath *string `json:"responsePagePath"`
}

type CfnDistribution_CustomOriginConfigProperty

type CfnDistribution_CustomOriginConfigProperty struct {
	// `CfnDistribution.CustomOriginConfigProperty.OriginProtocolPolicy`.
	OriginProtocolPolicy *string `json:"originProtocolPolicy"`
	// `CfnDistribution.CustomOriginConfigProperty.HTTPPort`.
	HttpPort *float64 `json:"httpPort"`
	// `CfnDistribution.CustomOriginConfigProperty.HTTPSPort`.
	HttpsPort *float64 `json:"httpsPort"`
	// `CfnDistribution.CustomOriginConfigProperty.OriginKeepaliveTimeout`.
	OriginKeepaliveTimeout *float64 `json:"originKeepaliveTimeout"`
	// `CfnDistribution.CustomOriginConfigProperty.OriginReadTimeout`.
	OriginReadTimeout *float64 `json:"originReadTimeout"`
	// `CfnDistribution.CustomOriginConfigProperty.OriginSSLProtocols`.
	OriginSslProtocols *[]*string `json:"originSslProtocols"`
}

type CfnDistribution_DefaultCacheBehaviorProperty

type CfnDistribution_DefaultCacheBehaviorProperty struct {
	// `CfnDistribution.DefaultCacheBehaviorProperty.TargetOriginId`.
	TargetOriginId *string `json:"targetOriginId"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.ViewerProtocolPolicy`.
	ViewerProtocolPolicy *string `json:"viewerProtocolPolicy"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.AllowedMethods`.
	AllowedMethods *[]*string `json:"allowedMethods"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.CachedMethods`.
	CachedMethods *[]*string `json:"cachedMethods"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.CachePolicyId`.
	CachePolicyId *string `json:"cachePolicyId"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.Compress`.
	Compress interface{} `json:"compress"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.DefaultTTL`.
	DefaultTtl *float64 `json:"defaultTtl"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.FieldLevelEncryptionId`.
	FieldLevelEncryptionId *string `json:"fieldLevelEncryptionId"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.ForwardedValues`.
	ForwardedValues interface{} `json:"forwardedValues"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.FunctionAssociations`.
	FunctionAssociations interface{} `json:"functionAssociations"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.LambdaFunctionAssociations`.
	LambdaFunctionAssociations interface{} `json:"lambdaFunctionAssociations"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.MaxTTL`.
	MaxTtl *float64 `json:"maxTtl"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.MinTTL`.
	MinTtl *float64 `json:"minTtl"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.OriginRequestPolicyId`.
	OriginRequestPolicyId *string `json:"originRequestPolicyId"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.RealtimeLogConfigArn`.
	RealtimeLogConfigArn *string `json:"realtimeLogConfigArn"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.SmoothStreaming`.
	SmoothStreaming interface{} `json:"smoothStreaming"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.TrustedKeyGroups`.
	TrustedKeyGroups *[]*string `json:"trustedKeyGroups"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.TrustedSigners`.
	TrustedSigners *[]*string `json:"trustedSigners"`
}

type CfnDistribution_DistributionConfigProperty

type CfnDistribution_DistributionConfigProperty struct {
	// `CfnDistribution.DistributionConfigProperty.Enabled`.
	Enabled interface{} `json:"enabled"`
	// `CfnDistribution.DistributionConfigProperty.Aliases`.
	Aliases *[]*string `json:"aliases"`
	// `CfnDistribution.DistributionConfigProperty.CacheBehaviors`.
	CacheBehaviors interface{} `json:"cacheBehaviors"`
	// `CfnDistribution.DistributionConfigProperty.CNAMEs`.
	CnamEs *[]*string `json:"cnamEs"`
	// `CfnDistribution.DistributionConfigProperty.Comment`.
	Comment *string `json:"comment"`
	// `CfnDistribution.DistributionConfigProperty.CustomErrorResponses`.
	CustomErrorResponses interface{} `json:"customErrorResponses"`
	// `CfnDistribution.DistributionConfigProperty.CustomOrigin`.
	CustomOrigin interface{} `json:"customOrigin"`
	// `CfnDistribution.DistributionConfigProperty.DefaultCacheBehavior`.
	DefaultCacheBehavior interface{} `json:"defaultCacheBehavior"`
	// `CfnDistribution.DistributionConfigProperty.DefaultRootObject`.
	DefaultRootObject *string `json:"defaultRootObject"`
	// `CfnDistribution.DistributionConfigProperty.HttpVersion`.
	HttpVersion *string `json:"httpVersion"`
	// `CfnDistribution.DistributionConfigProperty.IPV6Enabled`.
	Ipv6Enabled interface{} `json:"ipv6Enabled"`
	// `CfnDistribution.DistributionConfigProperty.Logging`.
	Logging interface{} `json:"logging"`
	// `CfnDistribution.DistributionConfigProperty.OriginGroups`.
	OriginGroups interface{} `json:"originGroups"`
	// `CfnDistribution.DistributionConfigProperty.Origins`.
	Origins interface{} `json:"origins"`
	// `CfnDistribution.DistributionConfigProperty.PriceClass`.
	PriceClass *string `json:"priceClass"`
	// `CfnDistribution.DistributionConfigProperty.Restrictions`.
	Restrictions interface{} `json:"restrictions"`
	// `CfnDistribution.DistributionConfigProperty.S3Origin`.
	S3Origin interface{} `json:"s3Origin"`
	// `CfnDistribution.DistributionConfigProperty.ViewerCertificate`.
	ViewerCertificate interface{} `json:"viewerCertificate"`
	// `CfnDistribution.DistributionConfigProperty.WebACLId`.
	WebAclId *string `json:"webAclId"`
}

type CfnDistribution_ForwardedValuesProperty

type CfnDistribution_ForwardedValuesProperty struct {
	// `CfnDistribution.ForwardedValuesProperty.QueryString`.
	QueryString interface{} `json:"queryString"`
	// `CfnDistribution.ForwardedValuesProperty.Cookies`.
	Cookies interface{} `json:"cookies"`
	// `CfnDistribution.ForwardedValuesProperty.Headers`.
	Headers *[]*string `json:"headers"`
	// `CfnDistribution.ForwardedValuesProperty.QueryStringCacheKeys`.
	QueryStringCacheKeys *[]*string `json:"queryStringCacheKeys"`
}

type CfnDistribution_FunctionAssociationProperty

type CfnDistribution_FunctionAssociationProperty struct {
	// `CfnDistribution.FunctionAssociationProperty.EventType`.
	EventType *string `json:"eventType"`
	// `CfnDistribution.FunctionAssociationProperty.FunctionARN`.
	FunctionArn *string `json:"functionArn"`
}

type CfnDistribution_GeoRestrictionProperty

type CfnDistribution_GeoRestrictionProperty struct {
	// `CfnDistribution.GeoRestrictionProperty.RestrictionType`.
	RestrictionType *string `json:"restrictionType"`
	// `CfnDistribution.GeoRestrictionProperty.Locations`.
	Locations *[]*string `json:"locations"`
}

type CfnDistribution_LambdaFunctionAssociationProperty

type CfnDistribution_LambdaFunctionAssociationProperty struct {
	// `CfnDistribution.LambdaFunctionAssociationProperty.EventType`.
	EventType *string `json:"eventType"`
	// `CfnDistribution.LambdaFunctionAssociationProperty.IncludeBody`.
	IncludeBody interface{} `json:"includeBody"`
	// `CfnDistribution.LambdaFunctionAssociationProperty.LambdaFunctionARN`.
	LambdaFunctionArn *string `json:"lambdaFunctionArn"`
}

type CfnDistribution_LegacyCustomOriginProperty

type CfnDistribution_LegacyCustomOriginProperty struct {
	// `CfnDistribution.LegacyCustomOriginProperty.DNSName`.
	DnsName *string `json:"dnsName"`
	// `CfnDistribution.LegacyCustomOriginProperty.OriginProtocolPolicy`.
	OriginProtocolPolicy *string `json:"originProtocolPolicy"`
	// `CfnDistribution.LegacyCustomOriginProperty.OriginSSLProtocols`.
	OriginSslProtocols *[]*string `json:"originSslProtocols"`
	// `CfnDistribution.LegacyCustomOriginProperty.HTTPPort`.
	HttpPort *float64 `json:"httpPort"`
	// `CfnDistribution.LegacyCustomOriginProperty.HTTPSPort`.
	HttpsPort *float64 `json:"httpsPort"`
}

type CfnDistribution_LegacyS3OriginProperty

type CfnDistribution_LegacyS3OriginProperty struct {
	// `CfnDistribution.LegacyS3OriginProperty.DNSName`.
	DnsName *string `json:"dnsName"`
	// `CfnDistribution.LegacyS3OriginProperty.OriginAccessIdentity`.
	OriginAccessIdentity *string `json:"originAccessIdentity"`
}

type CfnDistribution_LoggingProperty

type CfnDistribution_LoggingProperty struct {
	// `CfnDistribution.LoggingProperty.Bucket`.
	Bucket *string `json:"bucket"`
	// `CfnDistribution.LoggingProperty.IncludeCookies`.
	IncludeCookies interface{} `json:"includeCookies"`
	// `CfnDistribution.LoggingProperty.Prefix`.
	Prefix *string `json:"prefix"`
}

type CfnDistribution_OriginCustomHeaderProperty

type CfnDistribution_OriginCustomHeaderProperty struct {
	// `CfnDistribution.OriginCustomHeaderProperty.HeaderName`.
	HeaderName *string `json:"headerName"`
	// `CfnDistribution.OriginCustomHeaderProperty.HeaderValue`.
	HeaderValue *string `json:"headerValue"`
}

type CfnDistribution_OriginGroupFailoverCriteriaProperty

type CfnDistribution_OriginGroupFailoverCriteriaProperty struct {
	// `CfnDistribution.OriginGroupFailoverCriteriaProperty.StatusCodes`.
	StatusCodes interface{} `json:"statusCodes"`
}

type CfnDistribution_OriginGroupMemberProperty

type CfnDistribution_OriginGroupMemberProperty struct {
	// `CfnDistribution.OriginGroupMemberProperty.OriginId`.
	OriginId *string `json:"originId"`
}

type CfnDistribution_OriginGroupMembersProperty

type CfnDistribution_OriginGroupMembersProperty struct {
	// `CfnDistribution.OriginGroupMembersProperty.Items`.
	Items interface{} `json:"items"`
	// `CfnDistribution.OriginGroupMembersProperty.Quantity`.
	Quantity *float64 `json:"quantity"`
}

type CfnDistribution_OriginGroupProperty

type CfnDistribution_OriginGroupProperty struct {
	// `CfnDistribution.OriginGroupProperty.FailoverCriteria`.
	FailoverCriteria interface{} `json:"failoverCriteria"`
	// `CfnDistribution.OriginGroupProperty.Id`.
	Id *string `json:"id"`
	// `CfnDistribution.OriginGroupProperty.Members`.
	Members interface{} `json:"members"`
}

type CfnDistribution_OriginGroupsProperty

type CfnDistribution_OriginGroupsProperty struct {
	// `CfnDistribution.OriginGroupsProperty.Quantity`.
	Quantity *float64 `json:"quantity"`
	// `CfnDistribution.OriginGroupsProperty.Items`.
	Items interface{} `json:"items"`
}

type CfnDistribution_OriginProperty

type CfnDistribution_OriginProperty struct {
	// `CfnDistribution.OriginProperty.DomainName`.
	DomainName *string `json:"domainName"`
	// `CfnDistribution.OriginProperty.Id`.
	Id *string `json:"id"`
	// `CfnDistribution.OriginProperty.ConnectionAttempts`.
	ConnectionAttempts *float64 `json:"connectionAttempts"`
	// `CfnDistribution.OriginProperty.ConnectionTimeout`.
	ConnectionTimeout *float64 `json:"connectionTimeout"`
	// `CfnDistribution.OriginProperty.CustomOriginConfig`.
	CustomOriginConfig interface{} `json:"customOriginConfig"`
	// `CfnDistribution.OriginProperty.OriginCustomHeaders`.
	OriginCustomHeaders interface{} `json:"originCustomHeaders"`
	// `CfnDistribution.OriginProperty.OriginPath`.
	OriginPath *string `json:"originPath"`
	// `CfnDistribution.OriginProperty.OriginShield`.
	OriginShield interface{} `json:"originShield"`
	// `CfnDistribution.OriginProperty.S3OriginConfig`.
	S3OriginConfig interface{} `json:"s3OriginConfig"`
}

type CfnDistribution_OriginShieldProperty

type CfnDistribution_OriginShieldProperty struct {
	// `CfnDistribution.OriginShieldProperty.Enabled`.
	Enabled interface{} `json:"enabled"`
	// `CfnDistribution.OriginShieldProperty.OriginShieldRegion`.
	OriginShieldRegion *string `json:"originShieldRegion"`
}

type CfnDistribution_RestrictionsProperty

type CfnDistribution_RestrictionsProperty struct {
	// `CfnDistribution.RestrictionsProperty.GeoRestriction`.
	GeoRestriction interface{} `json:"geoRestriction"`
}

type CfnDistribution_S3OriginConfigProperty

type CfnDistribution_S3OriginConfigProperty struct {
	// `CfnDistribution.S3OriginConfigProperty.OriginAccessIdentity`.
	OriginAccessIdentity *string `json:"originAccessIdentity"`
}

type CfnDistribution_StatusCodesProperty

type CfnDistribution_StatusCodesProperty struct {
	// `CfnDistribution.StatusCodesProperty.Items`.
	Items interface{} `json:"items"`
	// `CfnDistribution.StatusCodesProperty.Quantity`.
	Quantity *float64 `json:"quantity"`
}

type CfnDistribution_ViewerCertificateProperty

type CfnDistribution_ViewerCertificateProperty struct {
	// `CfnDistribution.ViewerCertificateProperty.AcmCertificateArn`.
	AcmCertificateArn *string `json:"acmCertificateArn"`
	// `CfnDistribution.ViewerCertificateProperty.CloudFrontDefaultCertificate`.
	CloudFrontDefaultCertificate interface{} `json:"cloudFrontDefaultCertificate"`
	// `CfnDistribution.ViewerCertificateProperty.IamCertificateId`.
	IamCertificateId *string `json:"iamCertificateId"`
	// `CfnDistribution.ViewerCertificateProperty.MinimumProtocolVersion`.
	MinimumProtocolVersion *string `json:"minimumProtocolVersion"`
	// `CfnDistribution.ViewerCertificateProperty.SslSupportMethod`.
	SslSupportMethod *string `json:"sslSupportMethod"`
}

type CfnFunction

type CfnFunction interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrFunctionArn() *string
	AttrFunctionMetadataFunctionArn() *string
	AttrStage() *string
	AutoPublish() interface{}
	SetAutoPublish(val interface{})
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	FunctionCode() *string
	SetFunctionCode(val *string)
	FunctionConfig() interface{}
	SetFunctionConfig(val interface{})
	FunctionMetadata() interface{}
	SetFunctionMetadata(val interface{})
	LogicalId() *string
	Name() *string
	SetName(val *string)
	Node() constructs.Node
	Ref() *string
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CloudFront::Function`.

func NewCfnFunction

func NewCfnFunction(scope constructs.Construct, id *string, props *CfnFunctionProps) CfnFunction

Create a new `AWS::CloudFront::Function`.

type CfnFunctionProps

type CfnFunctionProps struct {
	// `AWS::CloudFront::Function.Name`.
	Name *string `json:"name"`
	// `AWS::CloudFront::Function.AutoPublish`.
	AutoPublish interface{} `json:"autoPublish"`
	// `AWS::CloudFront::Function.FunctionCode`.
	FunctionCode *string `json:"functionCode"`
	// `AWS::CloudFront::Function.FunctionConfig`.
	FunctionConfig interface{} `json:"functionConfig"`
	// `AWS::CloudFront::Function.FunctionMetadata`.
	FunctionMetadata interface{} `json:"functionMetadata"`
}

Properties for defining a `AWS::CloudFront::Function`.

type CfnFunction_FunctionConfigProperty

type CfnFunction_FunctionConfigProperty struct {
	// `CfnFunction.FunctionConfigProperty.Comment`.
	Comment *string `json:"comment"`
	// `CfnFunction.FunctionConfigProperty.Runtime`.
	Runtime *string `json:"runtime"`
}

type CfnFunction_FunctionMetadataProperty

type CfnFunction_FunctionMetadataProperty struct {
	// `CfnFunction.FunctionMetadataProperty.FunctionARN`.
	FunctionArn *string `json:"functionArn"`
}

type CfnKeyGroup

type CfnKeyGroup interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrId() *string
	AttrLastModifiedTime() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	KeyGroupConfig() interface{}
	SetKeyGroupConfig(val interface{})
	LogicalId() *string
	Node() constructs.Node
	Ref() *string
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CloudFront::KeyGroup`.

func NewCfnKeyGroup

func NewCfnKeyGroup(scope constructs.Construct, id *string, props *CfnKeyGroupProps) CfnKeyGroup

Create a new `AWS::CloudFront::KeyGroup`.

type CfnKeyGroupProps

type CfnKeyGroupProps struct {
	// `AWS::CloudFront::KeyGroup.KeyGroupConfig`.
	KeyGroupConfig interface{} `json:"keyGroupConfig"`
}

Properties for defining a `AWS::CloudFront::KeyGroup`.

type CfnKeyGroup_KeyGroupConfigProperty

type CfnKeyGroup_KeyGroupConfigProperty struct {
	// `CfnKeyGroup.KeyGroupConfigProperty.Items`.
	Items *[]*string `json:"items"`
	// `CfnKeyGroup.KeyGroupConfigProperty.Name`.
	Name *string `json:"name"`
	// `CfnKeyGroup.KeyGroupConfigProperty.Comment`.
	Comment *string `json:"comment"`
}

type CfnOriginRequestPolicy

type CfnOriginRequestPolicy interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrId() *string
	AttrLastModifiedTime() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	LogicalId() *string
	Node() constructs.Node
	OriginRequestPolicyConfig() interface{}
	SetOriginRequestPolicyConfig(val interface{})
	Ref() *string
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CloudFront::OriginRequestPolicy`.

func NewCfnOriginRequestPolicy

func NewCfnOriginRequestPolicy(scope constructs.Construct, id *string, props *CfnOriginRequestPolicyProps) CfnOriginRequestPolicy

Create a new `AWS::CloudFront::OriginRequestPolicy`.

type CfnOriginRequestPolicyProps

type CfnOriginRequestPolicyProps struct {
	// `AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig`.
	OriginRequestPolicyConfig interface{} `json:"originRequestPolicyConfig"`
}

Properties for defining a `AWS::CloudFront::OriginRequestPolicy`.

type CfnOriginRequestPolicy_CookiesConfigProperty

type CfnOriginRequestPolicy_CookiesConfigProperty struct {
	// `CfnOriginRequestPolicy.CookiesConfigProperty.CookieBehavior`.
	CookieBehavior *string `json:"cookieBehavior"`
	// `CfnOriginRequestPolicy.CookiesConfigProperty.Cookies`.
	Cookies *[]*string `json:"cookies"`
}

type CfnOriginRequestPolicy_HeadersConfigProperty

type CfnOriginRequestPolicy_HeadersConfigProperty struct {
	// `CfnOriginRequestPolicy.HeadersConfigProperty.HeaderBehavior`.
	HeaderBehavior *string `json:"headerBehavior"`
	// `CfnOriginRequestPolicy.HeadersConfigProperty.Headers`.
	Headers *[]*string `json:"headers"`
}

type CfnOriginRequestPolicy_OriginRequestPolicyConfigProperty

type CfnOriginRequestPolicy_OriginRequestPolicyConfigProperty struct {
	// `CfnOriginRequestPolicy.OriginRequestPolicyConfigProperty.CookiesConfig`.
	CookiesConfig interface{} `json:"cookiesConfig"`
	// `CfnOriginRequestPolicy.OriginRequestPolicyConfigProperty.HeadersConfig`.
	HeadersConfig interface{} `json:"headersConfig"`
	// `CfnOriginRequestPolicy.OriginRequestPolicyConfigProperty.Name`.
	Name *string `json:"name"`
	// `CfnOriginRequestPolicy.OriginRequestPolicyConfigProperty.QueryStringsConfig`.
	QueryStringsConfig interface{} `json:"queryStringsConfig"`
	// `CfnOriginRequestPolicy.OriginRequestPolicyConfigProperty.Comment`.
	Comment *string `json:"comment"`
}

type CfnOriginRequestPolicy_QueryStringsConfigProperty

type CfnOriginRequestPolicy_QueryStringsConfigProperty struct {
	// `CfnOriginRequestPolicy.QueryStringsConfigProperty.QueryStringBehavior`.
	QueryStringBehavior *string `json:"queryStringBehavior"`
	// `CfnOriginRequestPolicy.QueryStringsConfigProperty.QueryStrings`.
	QueryStrings *[]*string `json:"queryStrings"`
}

type CfnPublicKey

type CfnPublicKey interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrCreatedTime() *string
	AttrId() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	LogicalId() *string
	Node() constructs.Node
	PublicKeyConfig() interface{}
	SetPublicKeyConfig(val interface{})
	Ref() *string
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CloudFront::PublicKey`.

func NewCfnPublicKey

func NewCfnPublicKey(scope constructs.Construct, id *string, props *CfnPublicKeyProps) CfnPublicKey

Create a new `AWS::CloudFront::PublicKey`.

type CfnPublicKeyProps

type CfnPublicKeyProps struct {
	// `AWS::CloudFront::PublicKey.PublicKeyConfig`.
	PublicKeyConfig interface{} `json:"publicKeyConfig"`
}

Properties for defining a `AWS::CloudFront::PublicKey`.

type CfnPublicKey_PublicKeyConfigProperty

type CfnPublicKey_PublicKeyConfigProperty struct {
	// `CfnPublicKey.PublicKeyConfigProperty.CallerReference`.
	CallerReference *string `json:"callerReference"`
	// `CfnPublicKey.PublicKeyConfigProperty.EncodedKey`.
	EncodedKey *string `json:"encodedKey"`
	// `CfnPublicKey.PublicKeyConfigProperty.Name`.
	Name *string `json:"name"`
	// `CfnPublicKey.PublicKeyConfigProperty.Comment`.
	Comment *string `json:"comment"`
}

type CfnRealtimeLogConfig

type CfnRealtimeLogConfig interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	EndPoints() interface{}
	SetEndPoints(val interface{})
	Fields() *[]*string
	SetFields(val *[]*string)
	LogicalId() *string
	Name() *string
	SetName(val *string)
	Node() constructs.Node
	Ref() *string
	SamplingRate() *float64
	SetSamplingRate(val *float64)
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CloudFront::RealtimeLogConfig`.

func NewCfnRealtimeLogConfig

func NewCfnRealtimeLogConfig(scope constructs.Construct, id *string, props *CfnRealtimeLogConfigProps) CfnRealtimeLogConfig

Create a new `AWS::CloudFront::RealtimeLogConfig`.

type CfnRealtimeLogConfigProps

type CfnRealtimeLogConfigProps struct {
	// `AWS::CloudFront::RealtimeLogConfig.EndPoints`.
	EndPoints interface{} `json:"endPoints"`
	// `AWS::CloudFront::RealtimeLogConfig.Fields`.
	Fields *[]*string `json:"fields"`
	// `AWS::CloudFront::RealtimeLogConfig.Name`.
	Name *string `json:"name"`
	// `AWS::CloudFront::RealtimeLogConfig.SamplingRate`.
	SamplingRate *float64 `json:"samplingRate"`
}

Properties for defining a `AWS::CloudFront::RealtimeLogConfig`.

type CfnRealtimeLogConfig_EndPointProperty

type CfnRealtimeLogConfig_EndPointProperty struct {
	// `CfnRealtimeLogConfig.EndPointProperty.KinesisStreamConfig`.
	KinesisStreamConfig interface{} `json:"kinesisStreamConfig"`
	// `CfnRealtimeLogConfig.EndPointProperty.StreamType`.
	StreamType *string `json:"streamType"`
}

type CfnRealtimeLogConfig_KinesisStreamConfigProperty

type CfnRealtimeLogConfig_KinesisStreamConfigProperty struct {
	// `CfnRealtimeLogConfig.KinesisStreamConfigProperty.RoleArn`.
	RoleArn *string `json:"roleArn"`
	// `CfnRealtimeLogConfig.KinesisStreamConfigProperty.StreamArn`.
	StreamArn *string `json:"streamArn"`
}

type CfnStreamingDistribution

type CfnStreamingDistribution interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrDomainName() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	LogicalId() *string
	Node() constructs.Node
	Ref() *string
	Stack() awscdk.Stack
	StreamingDistributionConfig() interface{}
	SetStreamingDistributionConfig(val interface{})
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CloudFront::StreamingDistribution`.

func NewCfnStreamingDistribution

func NewCfnStreamingDistribution(scope constructs.Construct, id *string, props *CfnStreamingDistributionProps) CfnStreamingDistribution

Create a new `AWS::CloudFront::StreamingDistribution`.

type CfnStreamingDistributionProps

type CfnStreamingDistributionProps struct {
	// `AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig`.
	StreamingDistributionConfig interface{} `json:"streamingDistributionConfig"`
	// `AWS::CloudFront::StreamingDistribution.Tags`.
	Tags *[]*awscdk.CfnTag `json:"tags"`
}

Properties for defining a `AWS::CloudFront::StreamingDistribution`.

type CfnStreamingDistribution_LoggingProperty

type CfnStreamingDistribution_LoggingProperty struct {
	// `CfnStreamingDistribution.LoggingProperty.Bucket`.
	Bucket *string `json:"bucket"`
	// `CfnStreamingDistribution.LoggingProperty.Enabled`.
	Enabled interface{} `json:"enabled"`
	// `CfnStreamingDistribution.LoggingProperty.Prefix`.
	Prefix *string `json:"prefix"`
}

type CfnStreamingDistribution_S3OriginProperty

type CfnStreamingDistribution_S3OriginProperty struct {
	// `CfnStreamingDistribution.S3OriginProperty.DomainName`.
	DomainName *string `json:"domainName"`
	// `CfnStreamingDistribution.S3OriginProperty.OriginAccessIdentity`.
	OriginAccessIdentity *string `json:"originAccessIdentity"`
}

type CfnStreamingDistribution_StreamingDistributionConfigProperty

type CfnStreamingDistribution_StreamingDistributionConfigProperty struct {
	// `CfnStreamingDistribution.StreamingDistributionConfigProperty.Comment`.
	Comment *string `json:"comment"`
	// `CfnStreamingDistribution.StreamingDistributionConfigProperty.Enabled`.
	Enabled interface{} `json:"enabled"`
	// `CfnStreamingDistribution.StreamingDistributionConfigProperty.S3Origin`.
	S3Origin interface{} `json:"s3Origin"`
	// `CfnStreamingDistribution.StreamingDistributionConfigProperty.TrustedSigners`.
	TrustedSigners interface{} `json:"trustedSigners"`
	// `CfnStreamingDistribution.StreamingDistributionConfigProperty.Aliases`.
	Aliases *[]*string `json:"aliases"`
	// `CfnStreamingDistribution.StreamingDistributionConfigProperty.Logging`.
	Logging interface{} `json:"logging"`
	// `CfnStreamingDistribution.StreamingDistributionConfigProperty.PriceClass`.
	PriceClass *string `json:"priceClass"`
}

type CfnStreamingDistribution_TrustedSignersProperty

type CfnStreamingDistribution_TrustedSignersProperty struct {
	// `CfnStreamingDistribution.TrustedSignersProperty.Enabled`.
	Enabled interface{} `json:"enabled"`
	// `CfnStreamingDistribution.TrustedSignersProperty.AwsAccountNumbers`.
	AwsAccountNumbers *[]*string `json:"awsAccountNumbers"`
}

type CloudFrontAllowedCachedMethods

type CloudFrontAllowedCachedMethods string

Enums for the methods CloudFront can cache. Experimental.

const (
	CloudFrontAllowedCachedMethods_GET_HEAD         CloudFrontAllowedCachedMethods = "GET_HEAD"
	CloudFrontAllowedCachedMethods_GET_HEAD_OPTIONS CloudFrontAllowedCachedMethods = "GET_HEAD_OPTIONS"
)

type CloudFrontAllowedMethods

type CloudFrontAllowedMethods string

An enum for the supported methods to a CloudFront distribution. Experimental.

const (
	CloudFrontAllowedMethods_GET_HEAD         CloudFrontAllowedMethods = "GET_HEAD"
	CloudFrontAllowedMethods_GET_HEAD_OPTIONS CloudFrontAllowedMethods = "GET_HEAD_OPTIONS"
	CloudFrontAllowedMethods_ALL              CloudFrontAllowedMethods = "ALL"
)

type CloudFrontWebDistribution

type CloudFrontWebDistribution interface {
	awscdk.Resource
	IDistribution
	DistributionDomainName() *string
	DistributionId() *string
	Env() *awscdk.ResourceEnvironment
	LoggingBucket() awss3.IBucket
	Node() constructs.Node
	PhysicalName() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

Amazon CloudFront is a global content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to your viewers with low latency and high transfer speeds.

CloudFront fronts user provided content and caches it at edge locations across the world.

Here's how you can use this construct:

```ts import { CloudFrontWebDistribution } from '@aws-cdk/aws-cloudfront'

const sourceBucket = new Bucket(this, 'Bucket');

const distribution = new CloudFrontWebDistribution(this, 'MyDistribution', {
  originConfigs: [
    {
      s3OriginSource: {
      s3BucketSource: sourceBucket
      },
      behaviors : [ {isDefaultBehavior: true}]
    }
  ]
});

```

This will create a CloudFront distribution that uses your S3Bucket as it's origin.

You can customize the distribution using additional properties from the CloudFrontWebDistributionProps interface. Experimental.

func NewCloudFrontWebDistribution

func NewCloudFrontWebDistribution(scope constructs.Construct, id *string, props *CloudFrontWebDistributionProps) CloudFrontWebDistribution

Experimental.

type CloudFrontWebDistributionAttributes

type CloudFrontWebDistributionAttributes struct {
	// The distribution ID for this distribution.
	// Experimental.
	DistributionId *string `json:"distributionId"`
	// The generated domain name of the Distribution, such as d111111abcdef8.cloudfront.net.
	// Experimental.
	DomainName *string `json:"domainName"`
}

Attributes used to import a Distribution. Experimental.

type CloudFrontWebDistributionProps

type CloudFrontWebDistributionProps struct {
	// The origin configurations for this distribution.
	//
	// Behaviors are a part of the origin.
	// Experimental.
	OriginConfigs *[]*SourceConfiguration `json:"originConfigs"`
	// A comment for this distribution in the CloudFront console.
	// Experimental.
	Comment *string `json:"comment"`
	// The default object to serve.
	// Experimental.
	DefaultRootObject *string `json:"defaultRootObject"`
	// Enable or disable the distribution.
	// Experimental.
	Enabled *bool `json:"enabled"`
	// If your distribution should have IPv6 enabled.
	// Experimental.
	EnableIpV6 *bool `json:"enableIpV6"`
	// How CloudFront should handle requests that are not successful (eg PageNotFound).
	//
	// By default, CloudFront does not replace HTTP status codes in the 4xx and 5xx range
	// with custom error messages. CloudFront does not cache HTTP status codes.
	// Experimental.
	ErrorConfigurations *[]*CfnDistribution_CustomErrorResponseProperty `json:"errorConfigurations"`
	// Controls the countries in which your content is distributed.
	// Experimental.
	GeoRestriction GeoRestriction `json:"geoRestriction"`
	// The max supported HTTP Versions.
	// Experimental.
	HttpVersion HttpVersion `json:"httpVersion"`
	// Optional - if we should enable logging.
	//
	// You can pass an empty object ({}) to have us auto create a bucket for logging.
	// Omission of this property indicates no logging is to be enabled.
	// Experimental.
	LoggingConfig *LoggingConfiguration `json:"loggingConfig"`
	// The price class for the distribution (this impacts how many locations CloudFront uses for your distribution, and billing).
	// Experimental.
	PriceClass PriceClass `json:"priceClass"`
	// Specifies whether you want viewers to use HTTP or HTTPS to request your objects, whether you're using an alternate domain name with HTTPS, and if so, if you're using AWS Certificate Manager (ACM) or a third-party certificate authority.
	// See: https://aws.amazon.com/premiumsupport/knowledge-center/custom-ssl-certificate-cloudfront/
	//
	// Experimental.
	ViewerCertificate ViewerCertificate `json:"viewerCertificate"`
	// The default viewer policy for incoming clients.
	// Experimental.
	ViewerProtocolPolicy ViewerProtocolPolicy `json:"viewerProtocolPolicy"`
	// Unique identifier that specifies the AWS WAF web ACL to associate with this CloudFront distribution.
	//
	// To specify a web ACL created using the latest version of AWS WAF, use the ACL ARN, for example
	// `arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a`.
	//
	// To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example `473e64fd-f30b-4765-81a0-62ad96dd167a`.
	// See: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html#API_CreateDistribution_RequestParameters.
	//
	// Experimental.
	WebACLId *string `json:"webACLId"`
}

Experimental.

type CustomOriginConfig

type CustomOriginConfig struct {
	// The domain name of the custom origin.
	//
	// Should not include the path - that should be in the parent SourceConfiguration
	// Experimental.
	DomainName *string `json:"domainName"`
	// The SSL versions to use when interacting with the origin.
	// Experimental.
	AllowedOriginSSLVersions *[]OriginSslPolicy `json:"allowedOriginSSLVersions"`
	// The origin HTTP port.
	// Experimental.
	HttpPort *float64 `json:"httpPort"`
	// The origin HTTPS port.
	// Experimental.
	HttpsPort *float64 `json:"httpsPort"`
	// Any additional headers to pass to the origin.
	// Experimental.
	OriginHeaders *map[string]*string `json:"originHeaders"`
	// The keep alive timeout when making calls in seconds.
	// Experimental.
	OriginKeepaliveTimeout awscdk.Duration `json:"originKeepaliveTimeout"`
	// The relative path to the origin root to use for sources.
	// Experimental.
	OriginPath *string `json:"originPath"`
	// The protocol (http or https) policy to use when interacting with the origin.
	// Experimental.
	OriginProtocolPolicy OriginProtocolPolicy `json:"originProtocolPolicy"`
	// The read timeout when calling the origin in seconds.
	// Experimental.
	OriginReadTimeout awscdk.Duration `json:"originReadTimeout"`
	// When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance.
	// Experimental.
	OriginShieldRegion *string `json:"originShieldRegion"`
}

A custom origin configuration. Experimental.

type Distribution

type Distribution interface {
	awscdk.Resource
	IDistribution
	DistributionDomainName() *string
	DistributionId() *string
	DomainName() *string
	Env() *awscdk.ResourceEnvironment
	Node() constructs.Node
	PhysicalName() *string
	Stack() awscdk.Stack
	AddBehavior(pathPattern *string, origin IOrigin, behaviorOptions *AddBehaviorOptions)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

A CloudFront distribution with associated origin(s) and caching behavior(s). Experimental.

func NewDistribution

func NewDistribution(scope constructs.Construct, id *string, props *DistributionProps) Distribution

Experimental.

type DistributionAttributes

type DistributionAttributes struct {
	// The distribution ID for this distribution.
	// Experimental.
	DistributionId *string `json:"distributionId"`
	// The generated domain name of the Distribution, such as d111111abcdef8.cloudfront.net.
	// Experimental.
	DomainName *string `json:"domainName"`
}

Attributes used to import a Distribution. Experimental.

type DistributionProps

type DistributionProps struct {
	// The default behavior for the distribution.
	// Experimental.
	DefaultBehavior *BehaviorOptions `json:"defaultBehavior"`
	// Additional behaviors for the distribution, mapped by the pathPattern that specifies which requests to apply the behavior to.
	// Experimental.
	AdditionalBehaviors *map[string]*BehaviorOptions `json:"additionalBehaviors"`
	// A certificate to associate with the distribution.
	//
	// The certificate must be located in N. Virginia (us-east-1).
	// Experimental.
	Certificate awscertificatemanager.ICertificate `json:"certificate"`
	// Any comments you want to include about the distribution.
	// Experimental.
	Comment *string `json:"comment"`
	// The object that you want CloudFront to request from your origin (for example, index.html) when a viewer requests the root URL for your distribution. If no default object is set, the request goes to the origin's root (e.g., example.com/).
	// Experimental.
	DefaultRootObject *string `json:"defaultRootObject"`
	// Alternative domain names for this distribution.
	//
	// If you want to use your own domain name, such as www.example.com, instead of the cloudfront.net domain name,
	// you can add an alternate domain name to your distribution. If you attach a certificate to the distribution,
	// you must add (at least one of) the domain names of the certificate to this list.
	// Experimental.
	DomainNames *[]*string `json:"domainNames"`
	// Enable or disable the distribution.
	// Experimental.
	Enabled *bool `json:"enabled"`
	// Whether CloudFront will respond to IPv6 DNS requests with an IPv6 address.
	//
	// If you specify false, CloudFront responds to IPv6 DNS requests with the DNS response code NOERROR and with no IP addresses.
	// This allows viewers to submit a second request, for an IPv4 address for your distribution.
	// Experimental.
	EnableIpv6 *bool `json:"enableIpv6"`
	// Enable access logging for the distribution.
	// Experimental.
	EnableLogging *bool `json:"enableLogging"`
	// How CloudFront should handle requests that are not successful (e.g., PageNotFound).
	// Experimental.
	ErrorResponses *[]*ErrorResponse `json:"errorResponses"`
	// Controls the countries in which your content is distributed.
	// Experimental.
	GeoRestriction GeoRestriction `json:"geoRestriction"`
	// Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront.
	//
	// For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or later, and must support server name identification (SNI).
	// Experimental.
	HttpVersion HttpVersion `json:"httpVersion"`
	// The Amazon S3 bucket to store the access logs in.
	// Experimental.
	LogBucket awss3.IBucket `json:"logBucket"`
	// An optional string that you want CloudFront to prefix to the access log filenames for this distribution.
	// Experimental.
	LogFilePrefix *string `json:"logFilePrefix"`
	// Specifies whether you want CloudFront to include cookies in access logs.
	// Experimental.
	LogIncludesCookies *bool `json:"logIncludesCookies"`
	// The minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections.
	//
	// CloudFront serves your objects only to browsers or devices that support at
	// least the SSL version that you specify.
	// Experimental.
	MinimumProtocolVersion SecurityPolicyProtocol `json:"minimumProtocolVersion"`
	// The price class that corresponds with the maximum price that you want to pay for CloudFront service.
	//
	// If you specify PriceClass_All, CloudFront responds to requests for your objects from all CloudFront edge locations.
	// If you specify a price class other than PriceClass_All, CloudFront serves your objects from the CloudFront edge location
	// that has the lowest latency among the edge locations in your price class.
	// Experimental.
	PriceClass PriceClass `json:"priceClass"`
	// Unique identifier that specifies the AWS WAF web ACL to associate with this CloudFront distribution.
	//
	// To specify a web ACL created using the latest version of AWS WAF, use the ACL ARN, for example
	// `arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a`.
	// To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example `473e64fd-f30b-4765-81a0-62ad96dd167a`.
	// See: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html#API_CreateDistribution_RequestParameters.
	//
	// Experimental.
	WebAclId *string `json:"webAclId"`
}

Properties for a Distribution. Experimental.

type EdgeLambda

type EdgeLambda struct {
	// The type of event in response to which should the function be invoked.
	// Experimental.
	EventType LambdaEdgeEventType `json:"eventType"`
	// The version of the Lambda function that will be invoked.
	//
	// **Note**: it's not possible to use the '$LATEST' function version for Lambda@Edge!
	// Experimental.
	FunctionVersion awslambda.IVersion `json:"functionVersion"`
	// Allows a Lambda function to have read access to the body content.
	//
	// Only valid for "request" event types (`ORIGIN_REQUEST` or `VIEWER_REQUEST`).
	// See https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-include-body-access.html
	// Experimental.
	IncludeBody *bool `json:"includeBody"`
}

Represents a Lambda function version and event type when using Lambda@Edge.

The type of the {@link AddBehaviorOptions.edgeLambdas} property. Experimental.

type ErrorResponse

type ErrorResponse struct {
	// The HTTP status code for which you want to specify a custom error page and/or a caching duration.
	// Experimental.
	HttpStatus *float64 `json:"httpStatus"`
	// The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.
	//
	// If you specify a value for `responseHttpStatus`, you must also specify a value for `responsePagePath`.
	// Experimental.
	ResponseHttpStatus *float64 `json:"responseHttpStatus"`
	// The path to the custom error page that you want CloudFront to return to a viewer when your origin returns the `httpStatus`, for example, /4xx-errors/403-forbidden.html.
	// Experimental.
	ResponsePagePath *string `json:"responsePagePath"`
	// The minimum amount of time, in seconds, that you want CloudFront to cache the HTTP status code specified in ErrorCode.
	// Experimental.
	Ttl awscdk.Duration `json:"ttl"`
}

Options for configuring custom error responses. Experimental.

type FailoverStatusCode

type FailoverStatusCode string

HTTP status code to failover to second origin. Experimental.

const (
	FailoverStatusCode_FORBIDDEN             FailoverStatusCode = "FORBIDDEN"
	FailoverStatusCode_NOT_FOUND             FailoverStatusCode = "NOT_FOUND"
	FailoverStatusCode_INTERNAL_SERVER_ERROR FailoverStatusCode = "INTERNAL_SERVER_ERROR"
	FailoverStatusCode_BAD_GATEWAY           FailoverStatusCode = "BAD_GATEWAY"
	FailoverStatusCode_SERVICE_UNAVAILABLE   FailoverStatusCode = "SERVICE_UNAVAILABLE"
	FailoverStatusCode_GATEWAY_TIMEOUT       FailoverStatusCode = "GATEWAY_TIMEOUT"
)

type FileCodeOptions

type FileCodeOptions struct {
	// The path of the file to read the code from.
	// Experimental.
	FilePath *string `json:"filePath"`
}

Options when reading the function's code from an external file. Experimental.

type Function

type Function interface {
	awscdk.Resource
	IFunction
	Env() *awscdk.ResourceEnvironment
	FunctionArn() *string
	FunctionName() *string
	FunctionStage() *string
	Node() constructs.Node
	PhysicalName() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

A CloudFront Function. Experimental.

func NewFunction

func NewFunction(scope constructs.Construct, id *string, props *FunctionProps) Function

Experimental.

type FunctionAssociation

type FunctionAssociation struct {
	// The type of event which should invoke the function.
	// Experimental.
	EventType FunctionEventType `json:"eventType"`
	// The CloudFront function that will be invoked.
	// Experimental.
	Function IFunction `json:"function"`
}

Represents a CloudFront function and event type when using CF Functions.

The type of the {@link AddBehaviorOptions.functionAssociations} property. Experimental.

type FunctionAttributes

type FunctionAttributes struct {
	// The ARN of the function.
	// Experimental.
	FunctionArn *string `json:"functionArn"`
	// The name of the function.
	// Experimental.
	FunctionName *string `json:"functionName"`
}

Attributes of an existing CloudFront Function to import it. Experimental.

type FunctionCode

type FunctionCode interface {
	Render() *string
}

Represents the function's source code. Experimental.

func FunctionCode_FromFile

func FunctionCode_FromFile(options *FileCodeOptions) FunctionCode

Code from external file for function.

Returns: code object with contents from file. Experimental.

func FunctionCode_FromInline

func FunctionCode_FromInline(code *string) FunctionCode

Inline code for function.

Returns: code object with inline code. Experimental.

type FunctionEventType

type FunctionEventType string

The type of events that a CloudFront function can be invoked in response to. Experimental.

const (
	FunctionEventType_VIEWER_REQUEST  FunctionEventType = "VIEWER_REQUEST"
	FunctionEventType_VIEWER_RESPONSE FunctionEventType = "VIEWER_RESPONSE"
)

type FunctionProps

type FunctionProps struct {
	// The source code of the function.
	// Experimental.
	Code FunctionCode `json:"code"`
	// A comment to describe the function.
	// Experimental.
	Comment *string `json:"comment"`
	// A name to identify the function.
	// Experimental.
	FunctionName *string `json:"functionName"`
}

Properties for creating a CloudFront Function. Experimental.

type GeoRestriction

type GeoRestriction interface {
	Locations() *[]*string
	RestrictionType() *string
}

Controls the countries in which content is distributed. Experimental.

func GeoRestriction_Allowlist

func GeoRestriction_Allowlist(locations ...*string) GeoRestriction

Allow specific countries which you want CloudFront to distribute your content. Experimental.

func GeoRestriction_Denylist

func GeoRestriction_Denylist(locations ...*string) GeoRestriction

Deny specific countries which you don't want CloudFront to distribute your content. Experimental.

type HttpVersion

type HttpVersion string

Maximum HTTP version to support. Experimental.

const (
	HttpVersion_HTTP1_1 HttpVersion = "HTTP1_1"
	HttpVersion_HTTP2   HttpVersion = "HTTP2"
)

type ICachePolicy

type ICachePolicy interface {
	// The ID of the cache policy.
	// Experimental.
	CachePolicyId() *string
}

Represents a Cache Policy. Experimental.

func CachePolicy_CACHING_DISABLED

func CachePolicy_CACHING_DISABLED() ICachePolicy

func CachePolicy_CACHING_OPTIMIZED

func CachePolicy_CACHING_OPTIMIZED() ICachePolicy

func CachePolicy_CACHING_OPTIMIZED_FOR_UNCOMPRESSED_OBJECTS

func CachePolicy_CACHING_OPTIMIZED_FOR_UNCOMPRESSED_OBJECTS() ICachePolicy

func CachePolicy_ELEMENTAL_MEDIA_PACKAGE

func CachePolicy_ELEMENTAL_MEDIA_PACKAGE() ICachePolicy

func CachePolicy_FromCachePolicyId

func CachePolicy_FromCachePolicyId(scope constructs.Construct, id *string, cachePolicyId *string) ICachePolicy

Imports a Cache Policy from its id. Experimental.

type IDistribution

type IDistribution interface {
	awscdk.IResource
	// The domain name of the Distribution, such as d111111abcdef8.cloudfront.net.
	// Experimental.
	DistributionDomainName() *string
	// The distribution ID for this distribution.
	// Experimental.
	DistributionId() *string
}

Interface for CloudFront distributions. Experimental.

func CloudFrontWebDistribution_FromDistributionAttributes

func CloudFrontWebDistribution_FromDistributionAttributes(scope constructs.Construct, id *string, attrs *CloudFrontWebDistributionAttributes) IDistribution

Creates a construct that represents an external (imported) distribution. Experimental.

func Distribution_FromDistributionAttributes

func Distribution_FromDistributionAttributes(scope constructs.Construct, id *string, attrs *DistributionAttributes) IDistribution

Creates a Distribution construct that represents an external (imported) distribution. Experimental.

type IFunction

type IFunction interface {
	awscdk.IResource
	// The ARN of the function.
	// Experimental.
	FunctionArn() *string
	// The name of the function.
	// Experimental.
	FunctionName() *string
}

Represents a CloudFront Function. Experimental.

func Function_FromFunctionAttributes

func Function_FromFunctionAttributes(scope constructs.Construct, id *string, attrs *FunctionAttributes) IFunction

Imports a function by its name and ARN. Experimental.

type IKeyGroup

type IKeyGroup interface {
	awscdk.IResource
	// The ID of the key group.
	// Experimental.
	KeyGroupId() *string
}

Represents a Key Group. Experimental.

func KeyGroup_FromKeyGroupId

func KeyGroup_FromKeyGroupId(scope constructs.Construct, id *string, keyGroupId *string) IKeyGroup

Imports a Key Group from its id. Experimental.

type IOrigin

type IOrigin interface {
	// The method called when a given Origin is added (for the first time) to a Distribution.
	// Experimental.
	Bind(scope constructs.Construct, options *OriginBindOptions) *OriginBindConfig
}

Represents the concept of a CloudFront Origin.

You provide one or more origins when creating a Distribution. Experimental.

type IOriginAccessIdentity

type IOriginAccessIdentity interface {
	awsiam.IGrantable
	awscdk.IResource
	// The Origin Access Identity Name.
	// Experimental.
	OriginAccessIdentityName() *string
}

Interface for CloudFront OriginAccessIdentity. Experimental.

func OriginAccessIdentity_FromOriginAccessIdentityName

func OriginAccessIdentity_FromOriginAccessIdentityName(scope constructs.Construct, id *string, originAccessIdentityName *string) IOriginAccessIdentity

Creates a OriginAccessIdentity by providing the OriginAccessIdentityName. Experimental.

type IOriginRequestPolicy

type IOriginRequestPolicy interface {
	// The ID of the origin request policy.
	// Experimental.
	OriginRequestPolicyId() *string
}

Represents a Origin Request Policy. Experimental.

func OriginRequestPolicy_ALL_VIEWER

func OriginRequestPolicy_ALL_VIEWER() IOriginRequestPolicy

func OriginRequestPolicy_CORS_CUSTOM_ORIGIN

func OriginRequestPolicy_CORS_CUSTOM_ORIGIN() IOriginRequestPolicy

func OriginRequestPolicy_CORS_S3_ORIGIN

func OriginRequestPolicy_CORS_S3_ORIGIN() IOriginRequestPolicy

func OriginRequestPolicy_ELEMENTAL_MEDIA_TAILOR

func OriginRequestPolicy_ELEMENTAL_MEDIA_TAILOR() IOriginRequestPolicy

func OriginRequestPolicy_FromOriginRequestPolicyId

func OriginRequestPolicy_FromOriginRequestPolicyId(scope constructs.Construct, id *string, originRequestPolicyId *string) IOriginRequestPolicy

Imports a Origin Request Policy from its id. Experimental.

func OriginRequestPolicy_USER_AGENT_REFERER_HEADERS

func OriginRequestPolicy_USER_AGENT_REFERER_HEADERS() IOriginRequestPolicy

type IPublicKey

type IPublicKey interface {
	awscdk.IResource
	// The ID of the key group.
	// Experimental.
	PublicKeyId() *string
}

Represents a Public Key. Experimental.

func PublicKey_FromPublicKeyId

func PublicKey_FromPublicKeyId(scope constructs.Construct, id *string, publicKeyId *string) IPublicKey

Imports a Public Key from its id. Experimental.

type KeyGroup

type KeyGroup interface {
	awscdk.Resource
	IKeyGroup
	Env() *awscdk.ResourceEnvironment
	KeyGroupId() *string
	Node() constructs.Node
	PhysicalName() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

A Key Group configuration. Experimental.

func NewKeyGroup

func NewKeyGroup(scope constructs.Construct, id *string, props *KeyGroupProps) KeyGroup

Experimental.

type KeyGroupProps

type KeyGroupProps struct {
	// A list of public keys to add to the key group.
	// Experimental.
	Items *[]IPublicKey `json:"items"`
	// A comment to describe the key group.
	// Experimental.
	Comment *string `json:"comment"`
	// A name to identify the key group.
	// Experimental.
	KeyGroupName *string `json:"keyGroupName"`
}

Properties for creating a Public Key. Experimental.

type LambdaEdgeEventType

type LambdaEdgeEventType string

The type of events that a Lambda@Edge function can be invoked in response to. Experimental.

const (
	LambdaEdgeEventType_ORIGIN_REQUEST  LambdaEdgeEventType = "ORIGIN_REQUEST"
	LambdaEdgeEventType_ORIGIN_RESPONSE LambdaEdgeEventType = "ORIGIN_RESPONSE"
	LambdaEdgeEventType_VIEWER_REQUEST  LambdaEdgeEventType = "VIEWER_REQUEST"
	LambdaEdgeEventType_VIEWER_RESPONSE LambdaEdgeEventType = "VIEWER_RESPONSE"
)

type LambdaFunctionAssociation

type LambdaFunctionAssociation struct {
	// The lambda event type defines at which event the lambda is called during the request lifecycle.
	// Experimental.
	EventType LambdaEdgeEventType `json:"eventType"`
	// A version of the lambda to associate.
	// Experimental.
	LambdaFunction awslambda.IVersion `json:"lambdaFunction"`
	// Allows a Lambda function to have read access to the body content.
	//
	// Only valid for "request" event types (`ORIGIN_REQUEST` or `VIEWER_REQUEST`).
	// See https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-include-body-access.html
	// Experimental.
	IncludeBody *bool `json:"includeBody"`
}

Experimental.

type LoggingConfiguration

type LoggingConfiguration struct {
	// Bucket to log requests to.
	// Experimental.
	Bucket awss3.IBucket `json:"bucket"`
	// Whether to include the cookies in the logs.
	// Experimental.
	IncludeCookies *bool `json:"includeCookies"`
	// Where in the bucket to store logs.
	// Experimental.
	Prefix *string `json:"prefix"`
}

Logging configuration for incoming requests. Experimental.

type OriginAccessIdentity

type OriginAccessIdentity interface {
	awscdk.Resource
	IOriginAccessIdentity
	CloudFrontOriginAccessIdentityS3CanonicalUserId() *string
	Env() *awscdk.ResourceEnvironment
	GrantPrincipal() awsiam.IPrincipal
	Node() constructs.Node
	OriginAccessIdentityName() *string
	PhysicalName() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	Arn() *string
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

An origin access identity is a special CloudFront user that you can associate with Amazon S3 origins, so that you can secure all or just some of your Amazon S3 content. Experimental.

func NewOriginAccessIdentity

func NewOriginAccessIdentity(scope constructs.Construct, id *string, props *OriginAccessIdentityProps) OriginAccessIdentity

Experimental.

type OriginAccessIdentityProps

type OriginAccessIdentityProps struct {
	// Any comments you want to include about the origin access identity.
	// Experimental.
	Comment *string `json:"comment"`
}

Properties of CloudFront OriginAccessIdentity. Experimental.

type OriginBase

type OriginBase interface {
	IOrigin
	Bind(_scope constructs.Construct, options *OriginBindOptions) *OriginBindConfig
	RenderCustomOriginConfig() *CfnDistribution_CustomOriginConfigProperty
	RenderS3OriginConfig() *CfnDistribution_S3OriginConfigProperty
}

Represents a distribution origin, that describes the Amazon S3 bucket, HTTP server (for example, a web server), Amazon MediaStore, or other server from which CloudFront gets your files. Experimental.

type OriginBindConfig

type OriginBindConfig struct {
	// The failover configuration for this Origin.
	// Experimental.
	FailoverConfig *OriginFailoverConfig `json:"failoverConfig"`
	// The CloudFormation OriginProperty configuration for this Origin.
	// Experimental.
	OriginProperty *CfnDistribution_OriginProperty `json:"originProperty"`
}

The struct returned from {@link IOrigin.bind}. Experimental.

type OriginBindOptions

type OriginBindOptions struct {
	// The identifier of this Origin, as assigned by the Distribution this Origin has been used added to.
	// Experimental.
	OriginId *string `json:"originId"`
}

Options passed to Origin.bind(). Experimental.

type OriginFailoverConfig

type OriginFailoverConfig struct {
	// The origin to use as the fallback origin.
	// Experimental.
	FailoverOrigin IOrigin `json:"failoverOrigin"`
	// The HTTP status codes of the response that trigger querying the failover Origin.
	// Experimental.
	StatusCodes *[]*float64 `json:"statusCodes"`
}

The failover configuration used for Origin Groups, returned in {@link OriginBindConfig.failoverConfig}. Experimental.

type OriginProps

type OriginProps struct {
	// The number of times that CloudFront attempts to connect to the origin;
	//
	// valid values are 1, 2, or 3 attempts.
	// Experimental.
	ConnectionAttempts *float64 `json:"connectionAttempts"`
	// The number of seconds that CloudFront waits when trying to establish a connection to the origin.
	//
	// Valid values are 1-10 seconds, inclusive.
	// Experimental.
	ConnectionTimeout awscdk.Duration `json:"connectionTimeout"`
	// A list of HTTP header names and values that CloudFront adds to requests it sends to the origin.
	// Experimental.
	CustomHeaders *map[string]*string `json:"customHeaders"`
	// An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.
	//
	// Must begin, but not end, with '/' (e.g., '/production/images').
	// Experimental.
	OriginPath *string `json:"originPath"`
	// When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance.
	// See: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html
	//
	// Experimental.
	OriginShieldRegion *string `json:"originShieldRegion"`
}

Properties to define an Origin. Experimental.

type OriginProtocolPolicy

type OriginProtocolPolicy string

Defines what protocols CloudFront will use to connect to an origin. Experimental.

const (
	OriginProtocolPolicy_HTTP_ONLY    OriginProtocolPolicy = "HTTP_ONLY"
	OriginProtocolPolicy_MATCH_VIEWER OriginProtocolPolicy = "MATCH_VIEWER"
	OriginProtocolPolicy_HTTPS_ONLY   OriginProtocolPolicy = "HTTPS_ONLY"
)

type OriginRequestCookieBehavior

type OriginRequestCookieBehavior interface {
	Behavior() *string
	Cookies() *[]*string
}

Determines whether any cookies in viewer requests (and if so, which cookies) are included in requests that CloudFront sends to the origin. Experimental.

func OriginRequestCookieBehavior_All

func OriginRequestCookieBehavior_All() OriginRequestCookieBehavior

All cookies in viewer requests are included in requests that CloudFront sends to the origin. Experimental.

func OriginRequestCookieBehavior_AllowList

func OriginRequestCookieBehavior_AllowList(cookies ...*string) OriginRequestCookieBehavior

Only the provided `cookies` are included in requests that CloudFront sends to the origin. Experimental.

func OriginRequestCookieBehavior_None

func OriginRequestCookieBehavior_None() OriginRequestCookieBehavior

Cookies in viewer requests are not included in requests that CloudFront sends to the origin.

Any cookies that are listed in a CachePolicy are still included in origin requests. Experimental.

type OriginRequestHeaderBehavior

type OriginRequestHeaderBehavior interface {
	Behavior() *string
	Headers() *[]*string
}

Determines whether any HTTP headers (and if so, which headers) are included in requests that CloudFront sends to the origin. Experimental.

func OriginRequestHeaderBehavior_All

func OriginRequestHeaderBehavior_All(cloudfrontHeaders ...*string) OriginRequestHeaderBehavior

All HTTP headers in viewer requests are included in requests that CloudFront sends to the origin.

Additionally, any additional CloudFront headers provided are included; the additional headers are added by CloudFront. See: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-cloudfront-headers.html

Experimental.

func OriginRequestHeaderBehavior_AllowList

func OriginRequestHeaderBehavior_AllowList(headers ...*string) OriginRequestHeaderBehavior

Listed headers are included in requests that CloudFront sends to the origin. Experimental.

func OriginRequestHeaderBehavior_None

func OriginRequestHeaderBehavior_None() OriginRequestHeaderBehavior

HTTP headers are not included in requests that CloudFront sends to the origin.

Any headers that are listed in a CachePolicy are still included in origin requests. Experimental.

type OriginRequestPolicy

type OriginRequestPolicy interface {
	awscdk.Resource
	IOriginRequestPolicy
	Env() *awscdk.ResourceEnvironment
	Node() constructs.Node
	OriginRequestPolicyId() *string
	PhysicalName() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

A Origin Request Policy configuration. Experimental.

func NewOriginRequestPolicy

func NewOriginRequestPolicy(scope constructs.Construct, id *string, props *OriginRequestPolicyProps) OriginRequestPolicy

Experimental.

type OriginRequestPolicyProps

type OriginRequestPolicyProps struct {
	// A comment to describe the origin request policy.
	// Experimental.
	Comment *string `json:"comment"`
	// The cookies from viewer requests to include in origin requests.
	// Experimental.
	CookieBehavior OriginRequestCookieBehavior `json:"cookieBehavior"`
	// The HTTP headers to include in origin requests.
	//
	// These can include headers from viewer requests and additional headers added by CloudFront.
	// Experimental.
	HeaderBehavior OriginRequestHeaderBehavior `json:"headerBehavior"`
	// A unique name to identify the origin request policy.
	//
	// The name must only include '-', '_', or alphanumeric characters.
	// Experimental.
	OriginRequestPolicyName *string `json:"originRequestPolicyName"`
	// The URL query strings from viewer requests to include in origin requests.
	// Experimental.
	QueryStringBehavior OriginRequestQueryStringBehavior `json:"queryStringBehavior"`
}

Properties for creating a Origin Request Policy. Experimental.

type OriginRequestQueryStringBehavior

type OriginRequestQueryStringBehavior interface {
	Behavior() *string
	QueryStrings() *[]*string
}

Determines whether any URL query strings in viewer requests (and if so, which query strings) are included in requests that CloudFront sends to the origin. Experimental.

func OriginRequestQueryStringBehavior_All

func OriginRequestQueryStringBehavior_All() OriginRequestQueryStringBehavior

All query strings in viewer requests are included in requests that CloudFront sends to the origin. Experimental.

func OriginRequestQueryStringBehavior_AllowList

func OriginRequestQueryStringBehavior_AllowList(queryStrings ...*string) OriginRequestQueryStringBehavior

Only the provided `queryStrings` are included in requests that CloudFront sends to the origin. Experimental.

func OriginRequestQueryStringBehavior_None

func OriginRequestQueryStringBehavior_None() OriginRequestQueryStringBehavior

Query strings in viewer requests are not included in requests that CloudFront sends to the origin.

Any query strings that are listed in a CachePolicy are still included in origin requests. Experimental.

type OriginSslPolicy

type OriginSslPolicy string

Experimental.

const (
	OriginSslPolicy_SSL_V3   OriginSslPolicy = "SSL_V3"
	OriginSslPolicy_TLS_V1   OriginSslPolicy = "TLS_V1"
	OriginSslPolicy_TLS_V1_1 OriginSslPolicy = "TLS_V1_1"
	OriginSslPolicy_TLS_V1_2 OriginSslPolicy = "TLS_V1_2"
)

type PriceClass

type PriceClass string

The price class determines how many edge locations CloudFront will use for your distribution.

See https://aws.amazon.com/cloudfront/pricing/ for full list of supported regions. Experimental.

const (
	PriceClass_PRICE_CLASS_100 PriceClass = "PRICE_CLASS_100"
	PriceClass_PRICE_CLASS_200 PriceClass = "PRICE_CLASS_200"
	PriceClass_PRICE_CLASS_ALL PriceClass = "PRICE_CLASS_ALL"
)

type PublicKey

type PublicKey interface {
	awscdk.Resource
	IPublicKey
	Env() *awscdk.ResourceEnvironment
	Node() constructs.Node
	PhysicalName() *string
	PublicKeyId() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

A Public Key Configuration. Experimental.

func NewPublicKey

func NewPublicKey(scope constructs.Construct, id *string, props *PublicKeyProps) PublicKey

Experimental.

type PublicKeyProps

type PublicKeyProps struct {
	// The public key that you can use with signed URLs and signed cookies, or with field-level encryption.
	//
	// The `encodedKey` parameter must include `-----BEGIN PUBLIC KEY-----` and `-----END PUBLIC KEY-----` lines.
	// See: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html
	//
	// Experimental.
	EncodedKey *string `json:"encodedKey"`
	// A comment to describe the public key.
	// Experimental.
	Comment *string `json:"comment"`
	// A name to identify the public key.
	// Experimental.
	PublicKeyName *string `json:"publicKeyName"`
}

Properties for creating a Public Key. Experimental.

type S3OriginConfig

type S3OriginConfig struct {
	// The source bucket to serve content from.
	// Experimental.
	S3BucketSource awss3.IBucket `json:"s3BucketSource"`
	// The optional Origin Access Identity of the origin identity cloudfront will use when calling your s3 bucket.
	// Experimental.
	OriginAccessIdentity IOriginAccessIdentity `json:"originAccessIdentity"`
	// Any additional headers to pass to the origin.
	// Experimental.
	OriginHeaders *map[string]*string `json:"originHeaders"`
	// The relative path to the origin root to use for sources.
	// Experimental.
	OriginPath *string `json:"originPath"`
	// When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance.
	// Experimental.
	OriginShieldRegion *string `json:"originShieldRegion"`
}

S3 origin configuration for CloudFront. Experimental.

type SSLMethod

type SSLMethod string

The SSL method CloudFront will use for your distribution.

Server Name Indication (SNI) - is an extension to the TLS computer networking protocol by which a client indicates

which hostname it is attempting to connect to at the start of the handshaking process. This allows a server to present
multiple certificates on the same IP address and TCP port number and hence allows multiple secure (HTTPS) websites

(or any other service over TLS) to be served by the same IP address without requiring all those sites to use the same certificate.

CloudFront can use SNI to host multiple distributions on the same IP - which a large majority of clients will support.

If your clients cannot support SNI however - CloudFront can use dedicated IPs for your distribution - but there is a prorated monthly charge for using this feature. By default, we use SNI - but you can optionally enable dedicated IPs (VIP).

See the CloudFront SSL for more details about pricing : https://aws.amazon.com/cloudfront/custom-ssl-domains/ Experimental.

const (
	SSLMethod_SNI SSLMethod = "SNI"
	SSLMethod_VIP SSLMethod = "VIP"
)

type SecurityPolicyProtocol

type SecurityPolicyProtocol string

The minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections.

CloudFront serves your objects only to browsers or devices that support at least the SSL version that you specify. Experimental.

const (
	SecurityPolicyProtocol_SSL_V3        SecurityPolicyProtocol = "SSL_V3"
	SecurityPolicyProtocol_TLS_V1        SecurityPolicyProtocol = "TLS_V1"
	SecurityPolicyProtocol_TLS_V1_2016   SecurityPolicyProtocol = "TLS_V1_2016"
	SecurityPolicyProtocol_TLS_V1_1_2016 SecurityPolicyProtocol = "TLS_V1_1_2016"
	SecurityPolicyProtocol_TLS_V1_2_2018 SecurityPolicyProtocol = "TLS_V1_2_2018"
	SecurityPolicyProtocol_TLS_V1_2_2019 SecurityPolicyProtocol = "TLS_V1_2_2019"
	SecurityPolicyProtocol_TLS_V1_2_2021 SecurityPolicyProtocol = "TLS_V1_2_2021"
)

type SourceConfiguration

type SourceConfiguration struct {
	// The behaviors associated with this source.
	//
	// At least one (default) behavior must be included.
	// Experimental.
	Behaviors *[]*Behavior `json:"behaviors"`
	// The number of times that CloudFront attempts to connect to the origin.
	//
	// You can specify 1, 2, or 3 as the number of attempts.
	// Experimental.
	ConnectionAttempts *float64 `json:"connectionAttempts"`
	// The number of seconds that CloudFront waits when trying to establish a connection to the origin.
	//
	// You can specify a number of seconds between 1 and 10 (inclusive).
	// Experimental.
	ConnectionTimeout awscdk.Duration `json:"connectionTimeout"`
	// A custom origin source - for all non-s3 sources.
	// Experimental.
	CustomOriginSource *CustomOriginConfig `json:"customOriginSource"`
	// HTTP status code to failover to second origin.
	// Experimental.
	FailoverCriteriaStatusCodes *[]FailoverStatusCode `json:"failoverCriteriaStatusCodes"`
	// A custom origin source for failover in case the s3OriginSource returns invalid status code.
	// Experimental.
	FailoverCustomOriginSource *CustomOriginConfig `json:"failoverCustomOriginSource"`
	// An s3 origin source for failover in case the s3OriginSource returns invalid status code.
	// Experimental.
	FailoverS3OriginSource *S3OriginConfig `json:"failoverS3OriginSource"`
	// When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance.
	// See: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html
	//
	// Experimental.
	OriginShieldRegion *string `json:"originShieldRegion"`
	// An s3 origin source - if you're using s3 for your assets.
	// Experimental.
	S3OriginSource *S3OriginConfig `json:"s3OriginSource"`
}

A source configuration is a wrapper for CloudFront origins and behaviors.

An origin is what CloudFront will "be in front of" - that is, CloudFront will pull it's assets from an origin.

If you're using s3 as a source - pass the `s3Origin` property, otherwise, pass the `customOriginSource` property.

One or the other must be passed, and it is invalid to pass both in the same SourceConfiguration. Experimental.

type ViewerCertificate

type ViewerCertificate interface {
	Aliases() *[]*string
	Props() *CfnDistribution_ViewerCertificateProperty
}

Viewer certificate configuration class. Experimental.

func ViewerCertificate_FromAcmCertificate

func ViewerCertificate_FromAcmCertificate(certificate awscertificatemanager.ICertificate, options *ViewerCertificateOptions) ViewerCertificate

Generate an AWS Certificate Manager (ACM) viewer certificate configuration. Experimental.

func ViewerCertificate_FromCloudFrontDefaultCertificate

func ViewerCertificate_FromCloudFrontDefaultCertificate(aliases ...*string) ViewerCertificate

Generate a viewer certifcate configuration using the CloudFront default certificate (e.g. d111111abcdef8.cloudfront.net) and a {@link SecurityPolicyProtocol.TLS_V1} security policy. Experimental.

func ViewerCertificate_FromIamCertificate

func ViewerCertificate_FromIamCertificate(iamCertificateId *string, options *ViewerCertificateOptions) ViewerCertificate

Generate an IAM viewer certificate configuration. Experimental.

type ViewerCertificateOptions

type ViewerCertificateOptions struct {
	// Domain names on the certificate (both main domain name and Subject Alternative names).
	// Experimental.
	Aliases *[]*string `json:"aliases"`
	// The minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections.
	//
	// CloudFront serves your objects only to browsers or devices that support at
	// least the SSL version that you specify.
	// Experimental.
	SecurityPolicy SecurityPolicyProtocol `json:"securityPolicy"`
	// How CloudFront should serve HTTPS requests.
	//
	// See the notes on SSLMethod if you wish to use other SSL termination types.
	// See: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ViewerCertificate.html
	//
	// Experimental.
	SslMethod SSLMethod `json:"sslMethod"`
}

Experimental.

type ViewerProtocolPolicy

type ViewerProtocolPolicy string

How HTTPs should be handled with your distribution. Experimental.

const (
	ViewerProtocolPolicy_HTTPS_ONLY        ViewerProtocolPolicy = "HTTPS_ONLY"
	ViewerProtocolPolicy_REDIRECT_TO_HTTPS ViewerProtocolPolicy = "REDIRECT_TO_HTTPS"
	ViewerProtocolPolicy_ALLOW_ALL         ViewerProtocolPolicy = "ALLOW_ALL"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL