awscloudfront

package
v2.1.0 Latest Latest
Warning

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

Go to latest
Published: Dec 8, 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.

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.

func CfnCachePolicy_IsCfnResource

func CfnCachePolicy_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

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.

func CfnCloudFrontOriginAccessIdentity_IsCfnResource

func CfnCloudFrontOriginAccessIdentity_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

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.

func CfnDistribution_IsCfnResource

func CfnDistribution_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

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.

func CfnFunction_IsCfnResource

func CfnFunction_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

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.

func CfnKeyGroup_IsCfnResource

func CfnKeyGroup_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

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.

func CfnOriginRequestPolicy_IsCfnResource

func CfnOriginRequestPolicy_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

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.

func CfnPublicKey_IsCfnResource

func CfnPublicKey_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

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.

func CfnRealtimeLogConfig_IsCfnResource

func CfnRealtimeLogConfig_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

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 CfnResponseHeadersPolicy_CFN_RESOURCE_TYPE_NAME

func CfnResponseHeadersPolicy_CFN_RESOURCE_TYPE_NAME() *string

func CfnResponseHeadersPolicy_IsCfnElement

func CfnResponseHeadersPolicy_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.

func CfnResponseHeadersPolicy_IsCfnResource

func CfnResponseHeadersPolicy_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnResponseHeadersPolicy_IsConstruct

func CfnResponseHeadersPolicy_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.

func CfnStreamingDistribution_IsCfnResource

func CfnStreamingDistribution_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

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.

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.

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.

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.

func NewCachePolicy_Override

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

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 NewCfnResponseHeadersPolicy_Override

func NewCfnResponseHeadersPolicy_Override(c CfnResponseHeadersPolicy, scope constructs.Construct, id *string, props *CfnResponseHeadersPolicyProps)

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

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)

func NewDistribution_Override

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

func NewFunctionCode_Override

func NewFunctionCode_Override(f FunctionCode)

func NewFunction_Override

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

func NewKeyGroup_Override

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

func NewOriginAccessIdentity_Override

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

func NewOriginBase_Override

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

func NewOriginRequestPolicy_Override

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

func NewPublicKey_Override

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

func NewResponseHeadersPolicy_Override added in v2.1.0

func NewResponseHeadersPolicy_Override(r ResponseHeadersPolicy, scope constructs.Construct, id *string, props *ResponseHeadersPolicyProps)

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.

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.

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.

func ResponseHeadersPolicy_IsConstruct added in v2.1.0

func ResponseHeadersPolicy_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 ResponseHeadersPolicy_IsResource added in v2.1.0

func ResponseHeadersPolicy_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

Types

type AddBehaviorOptions

type AddBehaviorOptions struct {
	// HTTP methods to allow for this behavior.
	AllowedMethods AllowedMethods `json:"allowedMethods"`
	// HTTP methods to cache for this behavior.
	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.
	//
	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.
	Compress *bool `json:"compress"`
	// The Lambda@Edge functions to invoke before serving the contents.
	// See: https://aws.amazon.com/lambda/edge
	//
	EdgeLambdas *[]*EdgeLambda `json:"edgeLambdas"`
	// The CloudFront functions to invoke before serving the contents.
	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.
	OriginRequestPolicy IOriginRequestPolicy `json:"originRequestPolicy"`
	// The response headers policy for this behavior.
	//
	// The response headers policy determines which headers are included in responses
	ResponseHeadersPolicy IResponseHeadersPolicy `json:"responseHeadersPolicy"`
	// Set this to true to indicate you want to distribute media files in the Microsoft Smooth Streaming format using this behavior.
	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
	//
	TrustedKeyGroups *[]IKeyGroup `json:"trustedKeyGroups"`
	// The protocol that viewers can use to access the files controlled by this behavior.
	ViewerProtocolPolicy ViewerProtocolPolicy `json:"viewerProtocolPolicy"`
}

Options for adding a new behavior to a Distribution.

TODO: EXAMPLE

type AllowedMethods

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

The HTTP methods that the Behavior will accept requests on.

TODO: EXAMPLE

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.
	AllowedMethods CloudFrontAllowedMethods `json:"allowedMethods"`
	// Which methods are cached by CloudFront by default.
	CachedMethods CloudFrontAllowedCachedMethods `json:"cachedMethods"`
	// If CloudFront should automatically compress some content types.
	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.
	DefaultTtl awscdk.Duration `json:"defaultTtl"`
	// The values CloudFront will forward to the origin when making a request.
	ForwardedValues *CfnDistribution_ForwardedValuesProperty `json:"forwardedValues"`
	// The CloudFront functions to invoke before serving the contents.
	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.
	IsDefaultBehavior *bool `json:"isDefaultBehavior"`
	// Declares associated lambda@edge functions for this distribution behaviour.
	LambdaFunctionAssociations *[]*LambdaFunctionAssociation `json:"lambdaFunctionAssociations"`
	// The max amount of time you want objects to stay in the cache before CloudFront queries your origin.
	MaxTtl awscdk.Duration `json:"maxTtl"`
	// The minimum amount of time that you want objects to stay in the cache before CloudFront queries your origin.
	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. )
	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
	//
	TrustedKeyGroups *[]IKeyGroup `json:"trustedKeyGroups"`
	// The viewer policy for this behavior.
	ViewerProtocolPolicy ViewerProtocolPolicy `json:"viewerProtocolPolicy"`
}

A CloudFront behavior wrapper.

TODO: EXAMPLE

type BehaviorOptions

type BehaviorOptions struct {
	// HTTP methods to allow for this behavior.
	AllowedMethods AllowedMethods `json:"allowedMethods"`
	// HTTP methods to cache for this behavior.
	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.
	//
	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.
	Compress *bool `json:"compress"`
	// The Lambda@Edge functions to invoke before serving the contents.
	// See: https://aws.amazon.com/lambda/edge
	//
	EdgeLambdas *[]*EdgeLambda `json:"edgeLambdas"`
	// The CloudFront functions to invoke before serving the contents.
	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.
	OriginRequestPolicy IOriginRequestPolicy `json:"originRequestPolicy"`
	// The response headers policy for this behavior.
	//
	// The response headers policy determines which headers are included in responses
	ResponseHeadersPolicy IResponseHeadersPolicy `json:"responseHeadersPolicy"`
	// Set this to true to indicate you want to distribute media files in the Microsoft Smooth Streaming format using this behavior.
	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
	//
	TrustedKeyGroups *[]IKeyGroup `json:"trustedKeyGroups"`
	// The protocol that viewers can use to access the files controlled by this behavior.
	ViewerProtocolPolicy ViewerProtocolPolicy `json:"viewerProtocolPolicy"`
	// The origin that you want CloudFront to route requests to when they match this behavior.
	Origin IOrigin `json:"origin"`
}

Options for creating a new behavior.

TODO: EXAMPLE

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.

TODO: EXAMPLE

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.

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.

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.

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.

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.

TODO: EXAMPLE

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.

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.

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.

TODO: EXAMPLE

func NewCachePolicy

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

type CachePolicyProps

type CachePolicyProps struct {
	// A unique name to identify the cache policy.
	//
	// The name must only include '-', '_', or alphanumeric characters.
	CachePolicyName *string `json:"cachePolicyName"`
	// A comment to describe the cache policy.
	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.
	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.
	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'.
	EnableAcceptEncodingBrotli *bool `json:"enableAcceptEncodingBrotli"`
	// Whether to normalize and include the `Accept-Encoding` header in the cache key when the `Accept-Encoding` header is 'gzip'.
	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.
	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.
	MaxTtl awscdk.Duration `json:"maxTtl"`
	// The minimum amount of time for objects to stay in the CloudFront cache.
	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.
	QueryStringBehavior CacheQueryStringBehavior `json:"queryStringBehavior"`
}

Properties for creating a Cache Policy.

TODO: EXAMPLE

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.

TODO: EXAMPLE

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.

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.

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.

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.

type CachedMethods

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

The HTTP methods that the Behavior will cache requests on.

TODO: EXAMPLE

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`.

TODO: EXAMPLE

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`.

TODO: EXAMPLE

type CfnCachePolicy_CachePolicyConfigProperty

type CfnCachePolicy_CachePolicyConfigProperty struct {
	// `CfnCachePolicy.CachePolicyConfigProperty.Comment`.
	Comment *string `json:"comment"`
	// `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"`
}

TODO: EXAMPLE

type CfnCachePolicy_CookiesConfigProperty

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

TODO: EXAMPLE

type CfnCachePolicy_HeadersConfigProperty

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

TODO: EXAMPLE

type CfnCachePolicy_ParametersInCacheKeyAndForwardedToOriginProperty

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

TODO: EXAMPLE

type CfnCachePolicy_QueryStringsConfigProperty

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

TODO: EXAMPLE

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`.

TODO: EXAMPLE

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`.

TODO: EXAMPLE

type CfnCloudFrontOriginAccessIdentity_CloudFrontOriginAccessIdentityConfigProperty

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

TODO: EXAMPLE

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`.

TODO: EXAMPLE

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`.

TODO: EXAMPLE

type CfnDistribution_CacheBehaviorProperty

type CfnDistribution_CacheBehaviorProperty struct {
	// `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.PathPattern`.
	PathPattern *string `json:"pathPattern"`
	// `CfnDistribution.CacheBehaviorProperty.RealtimeLogConfigArn`.
	RealtimeLogConfigArn *string `json:"realtimeLogConfigArn"`
	// `CfnDistribution.CacheBehaviorProperty.ResponseHeadersPolicyId`.
	ResponseHeadersPolicyId *string `json:"responseHeadersPolicyId"`
	// `CfnDistribution.CacheBehaviorProperty.SmoothStreaming`.
	SmoothStreaming interface{} `json:"smoothStreaming"`
	// `CfnDistribution.CacheBehaviorProperty.TargetOriginId`.
	TargetOriginId *string `json:"targetOriginId"`
	// `CfnDistribution.CacheBehaviorProperty.TrustedKeyGroups`.
	TrustedKeyGroups *[]*string `json:"trustedKeyGroups"`
	// `CfnDistribution.CacheBehaviorProperty.TrustedSigners`.
	TrustedSigners *[]*string `json:"trustedSigners"`
	// `CfnDistribution.CacheBehaviorProperty.ViewerProtocolPolicy`.
	ViewerProtocolPolicy *string `json:"viewerProtocolPolicy"`
}

TODO: EXAMPLE

type CfnDistribution_CookiesProperty

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

TODO: EXAMPLE

type CfnDistribution_CustomErrorResponseProperty

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

TODO: EXAMPLE

type CfnDistribution_CustomOriginConfigProperty

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

TODO: EXAMPLE

type CfnDistribution_DefaultCacheBehaviorProperty

type CfnDistribution_DefaultCacheBehaviorProperty struct {
	// `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.ResponseHeadersPolicyId`.
	ResponseHeadersPolicyId *string `json:"responseHeadersPolicyId"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.SmoothStreaming`.
	SmoothStreaming interface{} `json:"smoothStreaming"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.TargetOriginId`.
	TargetOriginId *string `json:"targetOriginId"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.TrustedKeyGroups`.
	TrustedKeyGroups *[]*string `json:"trustedKeyGroups"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.TrustedSigners`.
	TrustedSigners *[]*string `json:"trustedSigners"`
	// `CfnDistribution.DefaultCacheBehaviorProperty.ViewerProtocolPolicy`.
	ViewerProtocolPolicy *string `json:"viewerProtocolPolicy"`
}

TODO: EXAMPLE

type CfnDistribution_DistributionConfigProperty

type CfnDistribution_DistributionConfigProperty struct {
	// `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.Enabled`.
	Enabled interface{} `json:"enabled"`
	// `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"`
}

TODO: EXAMPLE

type CfnDistribution_ForwardedValuesProperty

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

TODO: EXAMPLE

type CfnDistribution_FunctionAssociationProperty

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

TODO: EXAMPLE

type CfnDistribution_GeoRestrictionProperty

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

TODO: EXAMPLE

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"`
}

TODO: EXAMPLE

type CfnDistribution_LegacyCustomOriginProperty

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

TODO: EXAMPLE

type CfnDistribution_LegacyS3OriginProperty

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

TODO: EXAMPLE

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"`
}

TODO: EXAMPLE

type CfnDistribution_OriginCustomHeaderProperty

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

TODO: EXAMPLE

type CfnDistribution_OriginGroupFailoverCriteriaProperty

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

TODO: EXAMPLE

type CfnDistribution_OriginGroupMemberProperty

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

TODO: EXAMPLE

type CfnDistribution_OriginGroupMembersProperty

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

TODO: EXAMPLE

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"`
}

TODO: EXAMPLE

type CfnDistribution_OriginGroupsProperty

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

TODO: EXAMPLE

type CfnDistribution_OriginProperty

type CfnDistribution_OriginProperty struct {
	// `CfnDistribution.OriginProperty.ConnectionAttempts`.
	ConnectionAttempts *float64 `json:"connectionAttempts"`
	// `CfnDistribution.OriginProperty.ConnectionTimeout`.
	ConnectionTimeout *float64 `json:"connectionTimeout"`
	// `CfnDistribution.OriginProperty.CustomOriginConfig`.
	CustomOriginConfig interface{} `json:"customOriginConfig"`
	// `CfnDistribution.OriginProperty.DomainName`.
	DomainName *string `json:"domainName"`
	// `CfnDistribution.OriginProperty.Id`.
	Id *string `json:"id"`
	// `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"`
}

TODO: EXAMPLE

type CfnDistribution_OriginShieldProperty

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

TODO: EXAMPLE

type CfnDistribution_RestrictionsProperty

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

TODO: EXAMPLE

type CfnDistribution_S3OriginConfigProperty

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

TODO: EXAMPLE

type CfnDistribution_StatusCodesProperty

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

TODO: EXAMPLE

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"`
}

TODO: EXAMPLE

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{})
	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`.

TODO: EXAMPLE

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.AutoPublish`.
	AutoPublish interface{} `json:"autoPublish"`
	// `AWS::CloudFront::Function.FunctionCode`.
	FunctionCode *string `json:"functionCode"`
	// `AWS::CloudFront::Function.FunctionConfig`.
	FunctionConfig interface{} `json:"functionConfig"`
	// `AWS::CloudFront::Function.Name`.
	Name *string `json:"name"`
}

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

TODO: EXAMPLE

type CfnFunction_FunctionConfigProperty

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

TODO: EXAMPLE

type CfnFunction_FunctionMetadataProperty

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

TODO: EXAMPLE

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`.

TODO: EXAMPLE

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`.

TODO: EXAMPLE

type CfnKeyGroup_KeyGroupConfigProperty

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

TODO: EXAMPLE

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`.

TODO: EXAMPLE

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`.

TODO: EXAMPLE

type CfnOriginRequestPolicy_CookiesConfigProperty

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

TODO: EXAMPLE

type CfnOriginRequestPolicy_HeadersConfigProperty

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

TODO: EXAMPLE

type CfnOriginRequestPolicy_OriginRequestPolicyConfigProperty

type CfnOriginRequestPolicy_OriginRequestPolicyConfigProperty struct {
	// `CfnOriginRequestPolicy.OriginRequestPolicyConfigProperty.Comment`.
	Comment *string `json:"comment"`
	// `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"`
}

TODO: EXAMPLE

type CfnOriginRequestPolicy_QueryStringsConfigProperty

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

TODO: EXAMPLE

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`.

TODO: EXAMPLE

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`.

TODO: EXAMPLE

type CfnPublicKey_PublicKeyConfigProperty

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

TODO: EXAMPLE

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`.

TODO: EXAMPLE

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`.

TODO: EXAMPLE

type CfnRealtimeLogConfig_EndPointProperty

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

TODO: EXAMPLE

type CfnRealtimeLogConfig_KinesisStreamConfigProperty

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

TODO: EXAMPLE

type CfnResponseHeadersPolicy

type CfnResponseHeadersPolicy 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
	Ref() *string
	ResponseHeadersPolicyConfig() interface{}
	SetResponseHeadersPolicyConfig(val interface{})
	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::ResponseHeadersPolicy`.

TODO: EXAMPLE

func NewCfnResponseHeadersPolicy

func NewCfnResponseHeadersPolicy(scope constructs.Construct, id *string, props *CfnResponseHeadersPolicyProps) CfnResponseHeadersPolicy

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

type CfnResponseHeadersPolicyProps

type CfnResponseHeadersPolicyProps struct {
	// `AWS::CloudFront::ResponseHeadersPolicy.ResponseHeadersPolicyConfig`.
	ResponseHeadersPolicyConfig interface{} `json:"responseHeadersPolicyConfig"`
}

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

TODO: EXAMPLE

type CfnResponseHeadersPolicy_AccessControlAllowHeadersProperty

type CfnResponseHeadersPolicy_AccessControlAllowHeadersProperty struct {
	// `CfnResponseHeadersPolicy.AccessControlAllowHeadersProperty.Items`.
	Items *[]*string `json:"items"`
}

TODO: EXAMPLE

type CfnResponseHeadersPolicy_AccessControlAllowMethodsProperty

type CfnResponseHeadersPolicy_AccessControlAllowMethodsProperty struct {
	// `CfnResponseHeadersPolicy.AccessControlAllowMethodsProperty.Items`.
	Items *[]*string `json:"items"`
}

TODO: EXAMPLE

type CfnResponseHeadersPolicy_AccessControlAllowOriginsProperty

type CfnResponseHeadersPolicy_AccessControlAllowOriginsProperty struct {
	// `CfnResponseHeadersPolicy.AccessControlAllowOriginsProperty.Items`.
	Items *[]*string `json:"items"`
}

TODO: EXAMPLE

type CfnResponseHeadersPolicy_AccessControlExposeHeadersProperty

type CfnResponseHeadersPolicy_AccessControlExposeHeadersProperty struct {
	// `CfnResponseHeadersPolicy.AccessControlExposeHeadersProperty.Items`.
	Items *[]*string `json:"items"`
}

TODO: EXAMPLE

type CfnResponseHeadersPolicy_ContentSecurityPolicyProperty

type CfnResponseHeadersPolicy_ContentSecurityPolicyProperty struct {
	// `CfnResponseHeadersPolicy.ContentSecurityPolicyProperty.ContentSecurityPolicy`.
	ContentSecurityPolicy *string `json:"contentSecurityPolicy"`
	// `CfnResponseHeadersPolicy.ContentSecurityPolicyProperty.Override`.
	Override interface{} `json:"override"`
}

TODO: EXAMPLE

type CfnResponseHeadersPolicy_ContentTypeOptionsProperty

type CfnResponseHeadersPolicy_ContentTypeOptionsProperty struct {
	// `CfnResponseHeadersPolicy.ContentTypeOptionsProperty.Override`.
	Override interface{} `json:"override"`
}

TODO: EXAMPLE

type CfnResponseHeadersPolicy_CorsConfigProperty

type CfnResponseHeadersPolicy_CorsConfigProperty struct {
	// `CfnResponseHeadersPolicy.CorsConfigProperty.AccessControlAllowCredentials`.
	AccessControlAllowCredentials interface{} `json:"accessControlAllowCredentials"`
	// `CfnResponseHeadersPolicy.CorsConfigProperty.AccessControlAllowHeaders`.
	AccessControlAllowHeaders interface{} `json:"accessControlAllowHeaders"`
	// `CfnResponseHeadersPolicy.CorsConfigProperty.AccessControlAllowMethods`.
	AccessControlAllowMethods interface{} `json:"accessControlAllowMethods"`
	// `CfnResponseHeadersPolicy.CorsConfigProperty.AccessControlAllowOrigins`.
	AccessControlAllowOrigins interface{} `json:"accessControlAllowOrigins"`
	// `CfnResponseHeadersPolicy.CorsConfigProperty.AccessControlExposeHeaders`.
	AccessControlExposeHeaders interface{} `json:"accessControlExposeHeaders"`
	// `CfnResponseHeadersPolicy.CorsConfigProperty.AccessControlMaxAgeSec`.
	AccessControlMaxAgeSec *float64 `json:"accessControlMaxAgeSec"`
	// `CfnResponseHeadersPolicy.CorsConfigProperty.OriginOverride`.
	OriginOverride interface{} `json:"originOverride"`
}

TODO: EXAMPLE

type CfnResponseHeadersPolicy_CustomHeaderProperty

type CfnResponseHeadersPolicy_CustomHeaderProperty struct {
	// `CfnResponseHeadersPolicy.CustomHeaderProperty.Header`.
	Header *string `json:"header"`
	// `CfnResponseHeadersPolicy.CustomHeaderProperty.Override`.
	Override interface{} `json:"override"`
	// `CfnResponseHeadersPolicy.CustomHeaderProperty.Value`.
	Value *string `json:"value"`
}

TODO: EXAMPLE

type CfnResponseHeadersPolicy_CustomHeadersConfigProperty

type CfnResponseHeadersPolicy_CustomHeadersConfigProperty struct {
	// `CfnResponseHeadersPolicy.CustomHeadersConfigProperty.Items`.
	Items interface{} `json:"items"`
}

TODO: EXAMPLE

type CfnResponseHeadersPolicy_FrameOptionsProperty

type CfnResponseHeadersPolicy_FrameOptionsProperty struct {
	// `CfnResponseHeadersPolicy.FrameOptionsProperty.FrameOption`.
	FrameOption *string `json:"frameOption"`
	// `CfnResponseHeadersPolicy.FrameOptionsProperty.Override`.
	Override interface{} `json:"override"`
}

TODO: EXAMPLE

type CfnResponseHeadersPolicy_ReferrerPolicyProperty

type CfnResponseHeadersPolicy_ReferrerPolicyProperty struct {
	// `CfnResponseHeadersPolicy.ReferrerPolicyProperty.Override`.
	Override interface{} `json:"override"`
	// `CfnResponseHeadersPolicy.ReferrerPolicyProperty.ReferrerPolicy`.
	ReferrerPolicy *string `json:"referrerPolicy"`
}

TODO: EXAMPLE

type CfnResponseHeadersPolicy_ResponseHeadersPolicyConfigProperty

type CfnResponseHeadersPolicy_ResponseHeadersPolicyConfigProperty struct {
	// `CfnResponseHeadersPolicy.ResponseHeadersPolicyConfigProperty.Comment`.
	Comment *string `json:"comment"`
	// `CfnResponseHeadersPolicy.ResponseHeadersPolicyConfigProperty.CorsConfig`.
	CorsConfig interface{} `json:"corsConfig"`
	// `CfnResponseHeadersPolicy.ResponseHeadersPolicyConfigProperty.CustomHeadersConfig`.
	CustomHeadersConfig interface{} `json:"customHeadersConfig"`
	// `CfnResponseHeadersPolicy.ResponseHeadersPolicyConfigProperty.Name`.
	Name *string `json:"name"`
	// `CfnResponseHeadersPolicy.ResponseHeadersPolicyConfigProperty.SecurityHeadersConfig`.
	SecurityHeadersConfig interface{} `json:"securityHeadersConfig"`
}

TODO: EXAMPLE

type CfnResponseHeadersPolicy_SecurityHeadersConfigProperty

type CfnResponseHeadersPolicy_SecurityHeadersConfigProperty struct {
	// `CfnResponseHeadersPolicy.SecurityHeadersConfigProperty.ContentSecurityPolicy`.
	ContentSecurityPolicy interface{} `json:"contentSecurityPolicy"`
	// `CfnResponseHeadersPolicy.SecurityHeadersConfigProperty.ContentTypeOptions`.
	ContentTypeOptions interface{} `json:"contentTypeOptions"`
	// `CfnResponseHeadersPolicy.SecurityHeadersConfigProperty.FrameOptions`.
	FrameOptions interface{} `json:"frameOptions"`
	// `CfnResponseHeadersPolicy.SecurityHeadersConfigProperty.ReferrerPolicy`.
	ReferrerPolicy interface{} `json:"referrerPolicy"`
	// `CfnResponseHeadersPolicy.SecurityHeadersConfigProperty.StrictTransportSecurity`.
	StrictTransportSecurity interface{} `json:"strictTransportSecurity"`
	// `CfnResponseHeadersPolicy.SecurityHeadersConfigProperty.XSSProtection`.
	XssProtection interface{} `json:"xssProtection"`
}

TODO: EXAMPLE

type CfnResponseHeadersPolicy_StrictTransportSecurityProperty

type CfnResponseHeadersPolicy_StrictTransportSecurityProperty struct {
	// `CfnResponseHeadersPolicy.StrictTransportSecurityProperty.AccessControlMaxAgeSec`.
	AccessControlMaxAgeSec *float64 `json:"accessControlMaxAgeSec"`
	// `CfnResponseHeadersPolicy.StrictTransportSecurityProperty.IncludeSubdomains`.
	IncludeSubdomains interface{} `json:"includeSubdomains"`
	// `CfnResponseHeadersPolicy.StrictTransportSecurityProperty.Override`.
	Override interface{} `json:"override"`
	// `CfnResponseHeadersPolicy.StrictTransportSecurityProperty.Preload`.
	Preload interface{} `json:"preload"`
}

TODO: EXAMPLE

type CfnResponseHeadersPolicy_XSSProtectionProperty

type CfnResponseHeadersPolicy_XSSProtectionProperty struct {
	// `CfnResponseHeadersPolicy.XSSProtectionProperty.ModeBlock`.
	ModeBlock interface{} `json:"modeBlock"`
	// `CfnResponseHeadersPolicy.XSSProtectionProperty.Override`.
	Override interface{} `json:"override"`
	// `CfnResponseHeadersPolicy.XSSProtectionProperty.Protection`.
	Protection interface{} `json:"protection"`
	// `CfnResponseHeadersPolicy.XSSProtectionProperty.ReportUri`.
	ReportUri *string `json:"reportUri"`
}

TODO: EXAMPLE

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`.

TODO: EXAMPLE

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`.

TODO: EXAMPLE

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"`
}

TODO: EXAMPLE

type CfnStreamingDistribution_S3OriginProperty

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

TODO: EXAMPLE

type CfnStreamingDistribution_StreamingDistributionConfigProperty

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

TODO: EXAMPLE

type CfnStreamingDistribution_TrustedSignersProperty

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

TODO: EXAMPLE

type CloudFrontAllowedCachedMethods

type CloudFrontAllowedCachedMethods string

Enums for the methods CloudFront can cache.

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.

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

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 const sourceBucket = new s3.Bucket(this, 'Bucket');

const distribution = new cloudfront.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.

TODO: EXAMPLE

func NewCloudFrontWebDistribution

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

type CloudFrontWebDistributionAttributes

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

Attributes used to import a Distribution.

TODO: EXAMPLE

type CloudFrontWebDistributionProps

type CloudFrontWebDistributionProps struct {
	// The origin configurations for this distribution.
	//
	// Behaviors are a part of the origin.
	OriginConfigs *[]*SourceConfiguration `json:"originConfigs"`
	// A comment for this distribution in the CloudFront console.
	Comment *string `json:"comment"`
	// The default object to serve.
	DefaultRootObject *string `json:"defaultRootObject"`
	// Enable or disable the distribution.
	Enabled *bool `json:"enabled"`
	// If your distribution should have IPv6 enabled.
	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.
	ErrorConfigurations *[]*CfnDistribution_CustomErrorResponseProperty `json:"errorConfigurations"`
	// Controls the countries in which your content is distributed.
	GeoRestriction GeoRestriction `json:"geoRestriction"`
	// The max supported HTTP Versions.
	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.
	LoggingConfig *LoggingConfiguration `json:"loggingConfig"`
	// The price class for the distribution (this impacts how many locations CloudFront uses for your distribution, and billing).
	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/
	//
	ViewerCertificate ViewerCertificate `json:"viewerCertificate"`
	// The default viewer policy for incoming clients.
	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.
	//
	WebACLId *string `json:"webACLId"`
}

TODO: EXAMPLE

type CustomOriginConfig

type CustomOriginConfig struct {
	// The SSL versions to use when interacting with the origin.
	AllowedOriginSSLVersions *[]OriginSslPolicy `json:"allowedOriginSSLVersions"`
	// The domain name of the custom origin.
	//
	// Should not include the path - that should be in the parent SourceConfiguration
	DomainName *string `json:"domainName"`
	// The origin HTTP port.
	HttpPort *float64 `json:"httpPort"`
	// The origin HTTPS port.
	HttpsPort *float64 `json:"httpsPort"`
	// Any additional headers to pass to the origin.
	OriginHeaders *map[string]*string `json:"originHeaders"`
	// The keep alive timeout when making calls in seconds.
	OriginKeepaliveTimeout awscdk.Duration `json:"originKeepaliveTimeout"`
	// The relative path to the origin root to use for sources.
	OriginPath *string `json:"originPath"`
	// The protocol (http or https) policy to use when interacting with the origin.
	OriginProtocolPolicy OriginProtocolPolicy `json:"originProtocolPolicy"`
	// The read timeout when calling the origin in seconds.
	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.
	OriginShieldRegion *string `json:"originShieldRegion"`
}

A custom origin configuration.

TODO: EXAMPLE

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).

TODO: EXAMPLE

func NewDistribution

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

type DistributionAttributes

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

Attributes used to import a Distribution.

TODO: EXAMPLE

type DistributionProps

type DistributionProps struct {
	// The default behavior for the distribution.
	DefaultBehavior *BehaviorOptions `json:"defaultBehavior"`
	// Additional behaviors for the distribution, mapped by the pathPattern that specifies which requests to apply the behavior to.
	AdditionalBehaviors *map[string]*BehaviorOptions `json:"additionalBehaviors"`
	// A certificate to associate with the distribution.
	//
	// The certificate must be located in N. Virginia (us-east-1).
	Certificate awscertificatemanager.ICertificate `json:"certificate"`
	// Any comments you want to include about the distribution.
	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/).
	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.
	DomainNames *[]*string `json:"domainNames"`
	// Enable or disable the distribution.
	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.
	EnableIpv6 *bool `json:"enableIpv6"`
	// Enable access logging for the distribution.
	EnableLogging *bool `json:"enableLogging"`
	// How CloudFront should handle requests that are not successful (e.g., PageNotFound).
	ErrorResponses *[]*ErrorResponse `json:"errorResponses"`
	// Controls the countries in which your content is distributed.
	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).
	HttpVersion HttpVersion `json:"httpVersion"`
	// The Amazon S3 bucket to store the access logs in.
	LogBucket awss3.IBucket `json:"logBucket"`
	// An optional string that you want CloudFront to prefix to the access log filenames for this distribution.
	LogFilePrefix *string `json:"logFilePrefix"`
	// Specifies whether you want CloudFront to include cookies in access logs.
	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.
	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.
	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.
	//
	WebAclId *string `json:"webAclId"`
}

Properties for a Distribution.

TODO: EXAMPLE

type EdgeLambda

type EdgeLambda struct {
	// The type of event in response to which should the function be invoked.
	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!
	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
	IncludeBody *bool `json:"includeBody"`
}

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

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

TODO: EXAMPLE

type ErrorResponse

type ErrorResponse struct {
	// The HTTP status code for which you want to specify a custom error page and/or a caching duration.
	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`.
	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.
	ResponsePagePath *string `json:"responsePagePath"`
	// The minimum amount of time, in seconds, that you want CloudFront to cache the HTTP status code specified in ErrorCode.
	Ttl awscdk.Duration `json:"ttl"`
}

Options for configuring custom error responses.

TODO: EXAMPLE

type FailoverStatusCode

type FailoverStatusCode string

HTTP status code to failover to second origin.

TODO: EXAMPLE

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

type FileCodeOptions

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

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

TODO: EXAMPLE

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.

TODO: EXAMPLE

func NewFunction

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

type FunctionAssociation

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

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

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

TODO: EXAMPLE

type FunctionAttributes

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

Attributes of an existing CloudFront Function to import it.

TODO: EXAMPLE

type FunctionCode

type FunctionCode interface {
	Render() *string
}

Represents the function's source code.

TODO: EXAMPLE

func FunctionCode_FromFile

func FunctionCode_FromFile(options *FileCodeOptions) FunctionCode

Code from external file for function.

Returns: code object with contents from file.

func FunctionCode_FromInline

func FunctionCode_FromInline(code *string) FunctionCode

Inline code for function.

Returns: code object with inline code.

type FunctionEventType

type FunctionEventType string

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

TODO: EXAMPLE

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

type FunctionProps

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

Properties for creating a CloudFront Function.

TODO: EXAMPLE

type GeoRestriction

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

Controls the countries in which content is distributed.

TODO: EXAMPLE

func GeoRestriction_Allowlist

func GeoRestriction_Allowlist(locations ...*string) GeoRestriction

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

func GeoRestriction_Denylist

func GeoRestriction_Denylist(locations ...*string) GeoRestriction

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

type HeadersFrameOption added in v2.1.0

type HeadersFrameOption string

Enum representing possible values of the X-Frame-Options HTTP response header.

TODO: EXAMPLE

const (
	HeadersFrameOption_DENY       HeadersFrameOption = "DENY"
	HeadersFrameOption_SAMEORIGIN HeadersFrameOption = "SAMEORIGIN"
)

type HeadersReferrerPolicy added in v2.1.0

type HeadersReferrerPolicy string

Enum representing possible values of the Referrer-Policy HTTP response header.

TODO: EXAMPLE

const (
	HeadersReferrerPolicy_NO_REFERRER                     HeadersReferrerPolicy = "NO_REFERRER"
	HeadersReferrerPolicy_NO_REFERRER_WHEN_DOWNGRADE      HeadersReferrerPolicy = "NO_REFERRER_WHEN_DOWNGRADE"
	HeadersReferrerPolicy_ORIGIN                          HeadersReferrerPolicy = "ORIGIN"
	HeadersReferrerPolicy_ORIGIN_WHEN_CROSS_ORIGIN        HeadersReferrerPolicy = "ORIGIN_WHEN_CROSS_ORIGIN"
	HeadersReferrerPolicy_SAME_ORIGIN                     HeadersReferrerPolicy = "SAME_ORIGIN"
	HeadersReferrerPolicy_STRICT_ORIGIN                   HeadersReferrerPolicy = "STRICT_ORIGIN"
	HeadersReferrerPolicy_STRICT_ORIGIN_WHEN_CROSS_ORIGIN HeadersReferrerPolicy = "STRICT_ORIGIN_WHEN_CROSS_ORIGIN"
	HeadersReferrerPolicy_UNSAFE_URL                      HeadersReferrerPolicy = "UNSAFE_URL"
)

type HttpVersion

type HttpVersion string

Maximum HTTP version to support.

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

type ICachePolicy

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

Represents a Cache Policy.

func CachePolicy_AMPLIFY

func CachePolicy_AMPLIFY() ICachePolicy

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.

type IDistribution

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

Interface for CloudFront distributions.

func CloudFrontWebDistribution_FromDistributionAttributes

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

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

func Distribution_FromDistributionAttributes

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

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

type IFunction

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

Represents a CloudFront Function.

func Function_FromFunctionAttributes

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

Imports a function by its name and ARN.

type IKeyGroup

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

Represents a Key Group.

func KeyGroup_FromKeyGroupId

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

Imports a Key Group from its id.

type IOrigin

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

Represents the concept of a CloudFront Origin.

You provide one or more origins when creating a Distribution.

type IOriginAccessIdentity

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

Interface for CloudFront OriginAccessIdentity.

func OriginAccessIdentity_FromOriginAccessIdentityName

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

Creates a OriginAccessIdentity by providing the OriginAccessIdentityName.

type IOriginRequestPolicy

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

Represents a Origin Request Policy.

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.

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.
	PublicKeyId() *string
}

Represents a Public Key.

func PublicKey_FromPublicKeyId

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

Imports a Public Key from its id.

type IResponseHeadersPolicy added in v2.1.0

type IResponseHeadersPolicy interface {
	// The ID of the response headers policy.
	ResponseHeadersPolicyId() *string
}

Represents a response headers policy.

func ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS added in v2.1.0

func ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS() IResponseHeadersPolicy

func ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS_AND_SECURITY_HEADERS added in v2.1.0

func ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS_AND_SECURITY_HEADERS() IResponseHeadersPolicy

func ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT added in v2.1.0

func ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT() IResponseHeadersPolicy

func ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT_AND_SECURITY_HEADERS added in v2.1.0

func ResponseHeadersPolicy_CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT_AND_SECURITY_HEADERS() IResponseHeadersPolicy

func ResponseHeadersPolicy_FromResponseHeadersPolicyId added in v2.1.0

func ResponseHeadersPolicy_FromResponseHeadersPolicyId(scope constructs.Construct, id *string, responseHeadersPolicyId *string) IResponseHeadersPolicy

Import an existing Response Headers Policy from its ID.

func ResponseHeadersPolicy_SECURITY_HEADERS added in v2.1.0

func ResponseHeadersPolicy_SECURITY_HEADERS() IResponseHeadersPolicy

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.

TODO: EXAMPLE

func NewKeyGroup

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

type KeyGroupProps

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

Properties for creating a Public Key.

TODO: EXAMPLE

type LambdaEdgeEventType

type LambdaEdgeEventType string

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

TODO: EXAMPLE

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.
	EventType LambdaEdgeEventType `json:"eventType"`
	// 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
	IncludeBody *bool `json:"includeBody"`
	// A version of the lambda to associate.
	LambdaFunction awslambda.IVersion `json:"lambdaFunction"`
}

TODO: EXAMPLE

type LoggingConfiguration

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

Logging configuration for incoming requests.

TODO: EXAMPLE

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.

TODO: EXAMPLE

func NewOriginAccessIdentity

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

type OriginAccessIdentityProps

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

Properties of CloudFront OriginAccessIdentity.

TODO: EXAMPLE

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.

type OriginBindConfig

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

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

TODO: EXAMPLE

type OriginBindOptions

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

Options passed to Origin.bind().

TODO: EXAMPLE

type OriginFailoverConfig

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

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

TODO: EXAMPLE

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.
	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.
	ConnectionTimeout awscdk.Duration `json:"connectionTimeout"`
	// A list of HTTP header names and values that CloudFront adds to requests it sends to the origin.
	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').
	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
	//
	OriginShieldRegion *string `json:"originShieldRegion"`
}

Properties to define an Origin.

TODO: EXAMPLE

type OriginProtocolPolicy

type OriginProtocolPolicy string

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

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

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.

TODO: EXAMPLE

func OriginRequestCookieBehavior_All

func OriginRequestCookieBehavior_All() OriginRequestCookieBehavior

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

func OriginRequestCookieBehavior_AllowList

func OriginRequestCookieBehavior_AllowList(cookies ...*string) OriginRequestCookieBehavior

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

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.

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.

TODO: EXAMPLE

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

func OriginRequestHeaderBehavior_AllowList

func OriginRequestHeaderBehavior_AllowList(headers ...*string) OriginRequestHeaderBehavior

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

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.

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.

TODO: EXAMPLE

func NewOriginRequestPolicy

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

type OriginRequestPolicyProps

type OriginRequestPolicyProps struct {
	// A comment to describe the origin request policy.
	Comment *string `json:"comment"`
	// The cookies from viewer requests to include in origin requests.
	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.
	HeaderBehavior OriginRequestHeaderBehavior `json:"headerBehavior"`
	// A unique name to identify the origin request policy.
	//
	// The name must only include '-', '_', or alphanumeric characters.
	OriginRequestPolicyName *string `json:"originRequestPolicyName"`
	// The URL query strings from viewer requests to include in origin requests.
	QueryStringBehavior OriginRequestQueryStringBehavior `json:"queryStringBehavior"`
}

Properties for creating a Origin Request Policy.

TODO: EXAMPLE

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.

TODO: EXAMPLE

func OriginRequestQueryStringBehavior_All

func OriginRequestQueryStringBehavior_All() OriginRequestQueryStringBehavior

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

func OriginRequestQueryStringBehavior_AllowList

func OriginRequestQueryStringBehavior_AllowList(queryStrings ...*string) OriginRequestQueryStringBehavior

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

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.

type OriginSslPolicy

type OriginSslPolicy string
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.

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.

TODO: EXAMPLE

func NewPublicKey

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

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
	//
	EncodedKey *string `json:"encodedKey"`
	// A comment to describe the public key.
	Comment *string `json:"comment"`
	// A name to identify the public key.
	PublicKeyName *string `json:"publicKeyName"`
}

Properties for creating a Public Key.

TODO: EXAMPLE

type ResponseCustomHeader added in v2.1.0

type ResponseCustomHeader struct {
	// The HTTP response header name.
	Header *string `json:"header"`
	// A Boolean that determines whether CloudFront overrides a response header with the same name received from the origin with the header specified here.
	Override *bool `json:"override"`
	// The value for the HTTP response header.
	Value *string `json:"value"`
}

An HTTP response header name and its value.

CloudFront includes this header in HTTP responses that it sends for requests that match a cache behavior that’s associated with this response headers policy.

TODO: EXAMPLE

type ResponseCustomHeadersBehavior added in v2.1.0

type ResponseCustomHeadersBehavior struct {
	// The list of HTTP response headers and their values.
	CustomHeaders *[]*ResponseCustomHeader `json:"customHeaders"`
}

Configuration for a set of HTTP response headers that are sent for requests that match a cache behavior that’s associated with this response headers policy.

TODO: EXAMPLE

type ResponseHeadersContentSecurityPolicy added in v2.1.0

type ResponseHeadersContentSecurityPolicy struct {
	// The policy directives and their values that CloudFront includes as values for the Content-Security-Policy HTTP response header.
	ContentSecurityPolicy *string `json:"contentSecurityPolicy"`
	// A Boolean that determines whether CloudFront overrides the Content-Security-Policy HTTP response header received from the origin with the one specified in this response headers policy.
	Override *bool `json:"override"`
}

The policy directives and their values that CloudFront includes as values for the Content-Security-Policy HTTP response header.

TODO: EXAMPLE

type ResponseHeadersContentTypeOptions added in v2.1.0

type ResponseHeadersContentTypeOptions struct {
	// A Boolean that determines whether CloudFront overrides the X-Content-Type-Options HTTP response header received from the origin with the one specified in this response headers policy.
	Override *bool `json:"override"`
}

Determines whether CloudFront includes the X-Content-Type-Options HTTP response header with its value set to nosniff.

TODO: EXAMPLE

type ResponseHeadersCorsBehavior added in v2.1.0

type ResponseHeadersCorsBehavior struct {
	// A Boolean that CloudFront uses as the value for the Access-Control-Allow-Credentials HTTP response header.
	AccessControlAllowCredentials *bool `json:"accessControlAllowCredentials"`
	// A list of HTTP header names that CloudFront includes as values for the Access-Control-Allow-Headers HTTP response header.
	//
	// You can specify `['*']` to allow all headers.
	AccessControlAllowHeaders *[]*string `json:"accessControlAllowHeaders"`
	// A list of HTTP methods that CloudFront includes as values for the Access-Control-Allow-Methods HTTP response header.
	AccessControlAllowMethods *[]*string `json:"accessControlAllowMethods"`
	// A list of origins (domain names) that CloudFront can use as the value for the Access-Control-Allow-Origin HTTP response header.
	//
	// You can specify `['*']` to allow all origins.
	AccessControlAllowOrigins *[]*string `json:"accessControlAllowOrigins"`
	// A Boolean that determines whether CloudFront overrides HTTP response headers received from the origin with the ones specified in this response headers policy.
	OriginOverride *bool `json:"originOverride"`
	// A list of HTTP headers that CloudFront includes as values for the Access-Control-Expose-Headers HTTP response header.
	//
	// You can specify `['*']` to expose all headers.
	AccessControlExposeHeaders *[]*string `json:"accessControlExposeHeaders"`
	// A number that CloudFront uses as the value for the Access-Control-Max-Age HTTP response header.
	AccessControlMaxAge awscdk.Duration `json:"accessControlMaxAge"`
}

Configuration for a set of HTTP response headers that are used for cross-origin resource sharing (CORS).

CloudFront adds these headers to HTTP responses that it sends for CORS requests that match a cache behavior associated with this response headers policy.

TODO: EXAMPLE

type ResponseHeadersFrameOptions added in v2.1.0

type ResponseHeadersFrameOptions struct {
	// The value of the X-Frame-Options HTTP response header.
	FrameOption HeadersFrameOption `json:"frameOption"`
	// A Boolean that determines whether CloudFront overrides the X-Frame-Options HTTP response header received from the origin with the one specified in this response headers policy.
	Override *bool `json:"override"`
}

Determines whether CloudFront includes the X-Frame-Options HTTP response header and the header’s value.

TODO: EXAMPLE

type ResponseHeadersPolicy added in v2.1.0

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

A Response Headers Policy configuration.

TODO: EXAMPLE

func NewResponseHeadersPolicy added in v2.1.0

func NewResponseHeadersPolicy(scope constructs.Construct, id *string, props *ResponseHeadersPolicyProps) ResponseHeadersPolicy

type ResponseHeadersPolicyProps added in v2.1.0

type ResponseHeadersPolicyProps struct {
	// A comment to describe the response headers policy.
	Comment *string `json:"comment"`
	// A configuration for a set of HTTP response headers that are used for cross-origin resource sharing (CORS).
	CorsBehavior *ResponseHeadersCorsBehavior `json:"corsBehavior"`
	// A configuration for a set of custom HTTP response headers.
	CustomHeadersBehavior *ResponseCustomHeadersBehavior `json:"customHeadersBehavior"`
	// A unique name to identify the response headers policy.
	ResponseHeadersPolicyName *string `json:"responseHeadersPolicyName"`
	// A configuration for a set of security-related HTTP response headers.
	SecurityHeadersBehavior *ResponseSecurityHeadersBehavior `json:"securityHeadersBehavior"`
}

Properties for creating a Response Headers Policy.

TODO: EXAMPLE

type ResponseHeadersReferrerPolicy added in v2.1.0

type ResponseHeadersReferrerPolicy struct {
	// A Boolean that determines whether CloudFront overrides the Referrer-Policy HTTP response header received from the origin with the one specified in this response headers policy.
	Override *bool `json:"override"`
	// The value of the Referrer-Policy HTTP response header.
	ReferrerPolicy HeadersReferrerPolicy `json:"referrerPolicy"`
}

Determines whether CloudFront includes the Referrer-Policy HTTP response header and the header’s value.

TODO: EXAMPLE

type ResponseHeadersStrictTransportSecurity added in v2.1.0

type ResponseHeadersStrictTransportSecurity struct {
	// A number that CloudFront uses as the value for the max-age directive in the Strict-Transport-Security HTTP response header.
	AccessControlMaxAge awscdk.Duration `json:"accessControlMaxAge"`
	// A Boolean that determines whether CloudFront overrides the Strict-Transport-Security HTTP response header received from the origin with the one specified in this response headers policy.
	Override *bool `json:"override"`
	// A Boolean that determines whether CloudFront includes the includeSubDomains directive in the Strict-Transport-Security HTTP response header.
	IncludeSubdomains *bool `json:"includeSubdomains"`
	// A Boolean that determines whether CloudFront includes the preload directive in the Strict-Transport-Security HTTP response header.
	Preload *bool `json:"preload"`
}

Determines whether CloudFront includes the Strict-Transport-Security HTTP response header and the header’s value.

TODO: EXAMPLE

type ResponseHeadersXSSProtection added in v2.1.0

type ResponseHeadersXSSProtection struct {
	// A Boolean that determines whether CloudFront overrides the X-XSS-Protection HTTP response header received from the origin with the one specified in this response headers policy.
	Override *bool `json:"override"`
	// A Boolean that determines the value of the X-XSS-Protection HTTP response header.
	//
	// When this setting is true, the value of the X-XSS-Protection header is 1.
	// When this setting is false, the value of the X-XSS-Protection header is 0.
	Protection *bool `json:"protection"`
	// A Boolean that determines whether CloudFront includes the mode=block directive in the X-XSS-Protection header.
	ModeBlock *bool `json:"modeBlock"`
	// A reporting URI, which CloudFront uses as the value of the report directive in the X-XSS-Protection header.
	//
	// You cannot specify a ReportUri when ModeBlock is true.
	ReportUri *string `json:"reportUri"`
}

Determines whether CloudFront includes the X-XSS-Protection HTTP response header and the header’s value.

TODO: EXAMPLE

type ResponseSecurityHeadersBehavior added in v2.1.0

type ResponseSecurityHeadersBehavior struct {
	// The policy directives and their values that CloudFront includes as values for the Content-Security-Policy HTTP response header.
	ContentSecurityPolicy *ResponseHeadersContentSecurityPolicy `json:"contentSecurityPolicy"`
	// Determines whether CloudFront includes the X-Content-Type-Options HTTP response header with its value set to nosniff.
	ContentTypeOptions *ResponseHeadersContentTypeOptions `json:"contentTypeOptions"`
	// Determines whether CloudFront includes the X-Frame-Options HTTP response header and the header’s value.
	FrameOptions *ResponseHeadersFrameOptions `json:"frameOptions"`
	// Determines whether CloudFront includes the Referrer-Policy HTTP response header and the header’s value.
	ReferrerPolicy *ResponseHeadersReferrerPolicy `json:"referrerPolicy"`
	// Determines whether CloudFront includes the Strict-Transport-Security HTTP response header and the header’s value.
	StrictTransportSecurity *ResponseHeadersStrictTransportSecurity `json:"strictTransportSecurity"`
	// Determines whether CloudFront includes the X-XSS-Protection HTTP response header and the header’s value.
	XssProtection *ResponseHeadersXSSProtection `json:"xssProtection"`
}

Configuration for a set of security-related HTTP response headers.

CloudFront adds these headers to HTTP responses that it sends for requests that match a cache behavior associated with this response headers policy.

TODO: EXAMPLE

type S3OriginConfig

type S3OriginConfig struct {
	// The optional Origin Access Identity of the origin identity cloudfront will use when calling your s3 bucket.
	OriginAccessIdentity IOriginAccessIdentity `json:"originAccessIdentity"`
	// Any additional headers to pass to the origin.
	OriginHeaders *map[string]*string `json:"originHeaders"`
	// The relative path to the origin root to use for sources.
	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.
	OriginShieldRegion *string `json:"originShieldRegion"`
	// The source bucket to serve content from.
	S3BucketSource awss3.IBucket `json:"s3BucketSource"`
}

S3 origin configuration for CloudFront.

TODO: EXAMPLE

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/

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.

TODO: EXAMPLE

const (
	SecurityPolicyProtocol_SSL_V3        SecurityPolicyProtocol = "SSL_V3"
	SecurityPolicyProtocol_TLS_V1        SecurityPolicyProtocol = "TLS_V1"
	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"
	SecurityPolicyProtocol_TLS_V1_2016   SecurityPolicyProtocol = "TLS_V1_2016"
)

type SourceConfiguration

type SourceConfiguration struct {
	// The behaviors associated with this source.
	//
	// At least one (default) behavior must be included.
	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.
	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).
	ConnectionTimeout awscdk.Duration `json:"connectionTimeout"`
	// A custom origin source - for all non-s3 sources.
	CustomOriginSource *CustomOriginConfig `json:"customOriginSource"`
	// HTTP status code to failover to second origin.
	FailoverCriteriaStatusCodes *[]FailoverStatusCode `json:"failoverCriteriaStatusCodes"`
	// A custom origin source for failover in case the s3OriginSource returns invalid status code.
	FailoverCustomOriginSource *CustomOriginConfig `json:"failoverCustomOriginSource"`
	// An s3 origin source for failover in case the s3OriginSource returns invalid status code.
	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
	//
	OriginShieldRegion *string `json:"originShieldRegion"`
	// An s3 origin source - if you're using s3 for your assets.
	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.

TODO: EXAMPLE

type ViewerCertificate

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

Viewer certificate configuration class.

TODO: EXAMPLE

func ViewerCertificate_FromAcmCertificate

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

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

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.

func ViewerCertificate_FromIamCertificate

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

Generate an IAM viewer certificate configuration.

type ViewerCertificateOptions

type ViewerCertificateOptions struct {
	// Domain names on the certificate (both main domain name and Subject Alternative names).
	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.
	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
	//
	SslMethod SSLMethod `json:"sslMethod"`
}

TODO: EXAMPLE

type ViewerProtocolPolicy

type ViewerProtocolPolicy string

How HTTPs should be handled with your distribution.

TODO: EXAMPLE

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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