Package-level declarations

Types

Link copied to clipboard
data class CachePolicyConfig(val comment: String? = null, val defaultTtl: Double, val maxTtl: Double, val minTtl: Double, val name: String, val parametersInCacheKeyAndForwardedToOrigin: CachePolicyParametersInCacheKeyAndForwardedToOrigin)
Link copied to clipboard
data class CachePolicyCookiesConfig(val cookieBehavior: String, val cookies: List<String>? = null)
Link copied to clipboard
data class CachePolicyHeadersConfig(val headerBehavior: String, val headers: List<String>? = null)
data class CachePolicyParametersInCacheKeyAndForwardedToOrigin(val cookiesConfig: CachePolicyCookiesConfig, val enableAcceptEncodingBrotli: Boolean? = null, val enableAcceptEncodingGzip: Boolean, val headersConfig: CachePolicyHeadersConfig, val queryStringsConfig: CachePolicyQueryStringsConfig)
Link copied to clipboard
data class CachePolicyQueryStringsConfig(val queryStringBehavior: String, val queryStrings: List<String>? = null)
Link copied to clipboard
Link copied to clipboard
data class ContinuousDeploymentPolicyConfig(val enabled: Boolean, val singleHeaderPolicyConfig: ContinuousDeploymentPolicyConfigSingleHeaderPolicyConfigProperties? = null, val singleWeightPolicyConfig: ContinuousDeploymentPolicyConfigSingleWeightPolicyConfigProperties? = null, val stagingDistributionDnsNames: List<String>, val trafficConfig: ContinuousDeploymentPolicyTrafficConfig? = null, val type: ContinuousDeploymentPolicyConfigType? = null)

This configuration determines which HTTP requests are sent to the staging distribution. If the HTTP request contains a header and value that matches what you specify here, the request is sent to the staging distribution. Otherwise the request is sent to the primary distribution.

This configuration determines the percentage of HTTP requests that are sent to the staging distribution.

data class ContinuousDeploymentPolicySessionStickinessConfig(val idleTtl: Int, val maximumTtl: Int)
Link copied to clipboard
data class DistributionCacheBehavior(val allowedMethods: List<String>? = null, val cachePolicyId: String? = null, val cachedMethods: List<String>? = null, val compress: Boolean? = null, val defaultTtl: Double? = null, val fieldLevelEncryptionId: String? = null, val forwardedValues: DistributionForwardedValues? = null, val functionAssociations: List<DistributionFunctionAssociation>? = null, val lambdaFunctionAssociations: List<DistributionLambdaFunctionAssociation>? = null, val maxTtl: Double? = null, val minTtl: Double? = null, val originRequestPolicyId: String? = null, val pathPattern: String, val realtimeLogConfigArn: String? = null, val responseHeadersPolicyId: String? = null, val smoothStreaming: Boolean? = null, val targetOriginId: String, val trustedKeyGroups: List<String>? = null, val trustedSigners: List<String>? = null, val viewerProtocolPolicy: String)

A complex type that describes how CloudFront processes requests. You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to serve objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin is never used. For the current quota (formerly known as limit) on the number of cache behaviors that you can add to a distribution, see Quotas in the Amazon CloudFront Developer Guide. If you don't want to specify any cache behaviors, include only an empty `CacheBehaviors` element. Don't include an empty `CacheBehavior` element because this is invalid. To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty `CacheBehaviors` element. To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution. For more information about cache behaviors, see Cache Behavior Settings in the Amazon CloudFront Developer Guide.

Link copied to clipboard
data class DistributionConfig(val aliases: List<String>? = null, val cacheBehaviors: List<DistributionCacheBehavior>? = null, val cnames: List<String>? = null, val comment: String? = null, val continuousDeploymentPolicyId: String? = null, val customErrorResponses: List<DistributionCustomErrorResponse>? = null, val customOrigin: DistributionLegacyCustomOrigin? = null, val defaultCacheBehavior: DistributionDefaultCacheBehavior, val defaultRootObject: String? = null, val enabled: Boolean, val httpVersion: String? = null, val ipv6Enabled: Boolean? = null, val logging: DistributionLogging? = null, val originGroups: DistributionOriginGroups? = null, val origins: List<DistributionOrigin>? = null, val priceClass: String? = null, val restrictions: DistributionRestrictions? = null, val s3Origin: DistributionLegacyS3Origin? = null, val staging: Boolean? = null, val viewerCertificate: DistributionViewerCertificate? = null, val webAclId: String? = null)

A distribution configuration.

Link copied to clipboard
data class DistributionCookies(val forward: String, val whitelistedNames: List<String>? = null)

This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. If you want to include cookies in the cache key, use a cache policy. For more information, see Creating cache policies in the Amazon CloudFront Developer Guide. If you want to send cookies to the origin but not include them in the cache key, use an origin request policy. For more information, see Creating origin request policies in the Amazon CloudFront Developer Guide. A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

Link copied to clipboard
data class DistributionCustomErrorResponse(val errorCachingMinTtl: Double? = null, val errorCode: Int, val responseCode: Int? = null, val responsePagePath: String? = null)

A complex type that controls:

Link copied to clipboard
data class DistributionCustomOriginConfig(val httpPort: Int? = null, val httpsPort: Int? = null, val originKeepaliveTimeout: Int? = null, val originProtocolPolicy: String, val originReadTimeout: Int? = null, val originSslProtocols: List<String>? = null)

A custom origin. A custom origin is any origin that is not an Amazon S3 bucket, with one exception. An Amazon S3 bucket that is configured with static website hosting is a custom origin.

Link copied to clipboard
data class DistributionDefaultCacheBehavior(val allowedMethods: List<String>? = null, val cachePolicyId: String? = null, val cachedMethods: List<String>? = null, val compress: Boolean? = null, val defaultTtl: Double? = null, val fieldLevelEncryptionId: String? = null, val forwardedValues: DistributionForwardedValues? = null, val functionAssociations: List<DistributionFunctionAssociation>? = null, val lambdaFunctionAssociations: List<DistributionLambdaFunctionAssociation>? = null, val maxTtl: Double? = null, val minTtl: Double? = null, val originRequestPolicyId: String? = null, val realtimeLogConfigArn: String? = null, val responseHeadersPolicyId: String? = null, val smoothStreaming: Boolean? = null, val targetOriginId: String, val trustedKeyGroups: List<String>? = null, val trustedSigners: List<String>? = null, val viewerProtocolPolicy: String)

A complex type that describes the default cache behavior if you don't specify a `CacheBehavior` element or if request URLs don't match any of the values of `PathPattern` in `CacheBehavior` elements. You must create exactly one default cache behavior.

Link copied to clipboard
data class DistributionForwardedValues(val cookies: DistributionCookies? = null, val headers: List<String>? = null, val queryString: Boolean, val queryStringCacheKeys: List<String>? = null)

This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. If you want to include values in the cache key, use a cache policy. For more information, see Creating cache policies in the Amazon CloudFront Developer Guide. If you want to send values to the origin but not include them in the cache key, use an origin request policy. For more information, see Creating origin request policies in the Amazon CloudFront Developer Guide. A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.

Link copied to clipboard
data class DistributionFunctionAssociation(val eventType: String? = null, val functionArn: String? = null)

A CloudFront function that is associated with a cache behavior in a CloudFront distribution.

Link copied to clipboard
data class DistributionGeoRestriction(val locations: List<String>? = null, val restrictionType: String)

A complex type that controls the countries in which your content is distributed. CF determines the location of your users using `MaxMind` GeoIP databases. To disable geo restriction, remove the Restrictions property from your stack template.

Link copied to clipboard
data class DistributionLambdaFunctionAssociation(val eventType: String? = null, val includeBody: Boolean? = null, val lambdaFunctionArn: String? = null)

A complex type that contains a Lambda@Edge function association.

Link copied to clipboard
data class DistributionLegacyCustomOrigin(val dnsName: String, val httpPort: Int? = null, val httpsPort: Int? = null, val originProtocolPolicy: String, val originSslProtocols: List<String>)
Link copied to clipboard
data class DistributionLegacyS3Origin(val dnsName: String, val originAccessIdentity: String? = null)
Link copied to clipboard
data class DistributionLogging(val bucket: String, val includeCookies: Boolean? = null, val prefix: String? = null)

A complex type that controls whether access logs are written for the distribution.

Link copied to clipboard
data class DistributionOrigin(val connectionAttempts: Int? = null, val connectionTimeout: Int? = null, val customOriginConfig: DistributionCustomOriginConfig? = null, val domainName: String, val id: String, val originAccessControlId: String? = null, val originCustomHeaders: List<DistributionOriginCustomHeader>? = null, val originPath: String? = null, val originShield: DistributionOriginShield? = null, val s3OriginConfig: DistributionS3OriginConfig? = null)

An origin. An origin is the location where content is stored, and from which CloudFront gets content to serve to viewers. To specify an origin:

Link copied to clipboard
data class DistributionOriginCustomHeader(val headerName: String, val headerValue: String)

A complex type that contains `HeaderName` and `HeaderValue` elements, if any, for this distribution.

Link copied to clipboard

An origin group includes two origins (a primary origin and a second origin to failover to) and a failover criteria that you specify. You create an origin group to support origin failover in CloudFront. When you create or update a distribution, you can specify the origin group instead of a single origin, and CloudFront will failover from the primary origin to the second origin under the failover conditions that you've chosen.

Link copied to clipboard

A complex data type that includes information about the failover criteria for an origin group, including the status codes for which CloudFront will failover from the primary origin to the second origin.

Link copied to clipboard
data class DistributionOriginGroupMember(val originId: String)

An origin in an origin group.

Link copied to clipboard

A complex data type for the origins included in an origin group.

Link copied to clipboard
data class DistributionOriginGroups(val items: List<DistributionOriginGroup>? = null, val quantity: Int)

A complex data type for the origin groups specified for a distribution.

Link copied to clipboard
data class DistributionOriginShield(val enabled: Boolean? = null, val originShieldRegion: String? = null)

CloudFront Origin Shield. Using Origin Shield can help reduce the load on your origin. For more information, see Using Origin Shield in the Amazon CloudFront Developer Guide.

Link copied to clipboard

A complex type that identifies ways in which you want to restrict distribution of your content.

Link copied to clipboard
data class DistributionS3OriginConfig(val originAccessIdentity: String? = null)

A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin or an S3 bucket that is configured as a website endpoint, use the `CustomOriginConfig` element instead.

Link copied to clipboard
data class DistributionStatusCodes(val items: List<Int>, val quantity: Int)

A complex data type for the status codes that you specify that, when returned by a primary origin, trigger CloudFront to failover to a second origin.

Link copied to clipboard
data class DistributionViewerCertificate(val acmCertificateArn: String? = null, val cloudFrontDefaultCertificate: Boolean? = null, val iamCertificateId: String? = null, val minimumProtocolVersion: String? = null, val sslSupportMethod: String? = null)

A complex type that determines the distribution's SSL/TLS configuration for communicating with viewers. If the distribution doesn't use `Aliases` (also known as alternate domain names or CNAMEs)—that is, if the distribution uses the CloudFront domain name such as `d111111abcdef8.cloudfront.net`—set `CloudFrontDefaultCertificate` to `true` and leave all other fields empty. If the distribution uses `Aliases` (alternate domain names or CNAMEs), use the fields in this type to specify the following settings:

Link copied to clipboard
data class FunctionConfig(val comment: String, val keyValueStoreAssociations: List<FunctionKeyValueStoreAssociation>? = null, val runtime: String)
Link copied to clipboard
data class FunctionKeyValueStoreAssociation(val keyValueStoreArn: String)
Link copied to clipboard
data class FunctionMetadata(val functionArn: String? = null)
Link copied to clipboard
data class GetCachePolicyResult(val cachePolicyConfig: CachePolicyConfig? = null, val id: String? = null, val lastModifiedTime: String? = null)
Link copied to clipboard
data class GetCloudFrontOriginAccessIdentityResult(val cloudFrontOriginAccessIdentityConfig: CloudFrontOriginAccessIdentityConfig? = null, val id: String? = null, val s3CanonicalUserId: String? = null)
Link copied to clipboard
data class GetContinuousDeploymentPolicyResult(val continuousDeploymentPolicyConfig: ContinuousDeploymentPolicyConfig? = null, val id: String? = null, val lastModifiedTime: String? = null)
Link copied to clipboard
data class GetDistributionResult(val distributionConfig: DistributionConfig? = null, val domainName: String? = null, val id: String? = null, val tags: List<Tag>? = null)
Link copied to clipboard
data class GetFunctionResult(val functionArn: String? = null, val functionCode: String? = null, val functionConfig: FunctionConfig? = null, val functionMetadata: FunctionMetadata? = null, val name: String? = null, val stage: String? = null)
Link copied to clipboard
data class GetKeyGroupResult(val id: String? = null, val keyGroupConfig: KeyGroupConfig? = null, val lastModifiedTime: String? = null)
Link copied to clipboard
data class GetKeyValueStoreResult(val arn: String? = null, val comment: String? = null, val id: String? = null, val status: String? = null)
Link copied to clipboard
data class GetMonitoringSubscriptionResult(val monitoringSubscription: MonitoringSubscription? = null)
Link copied to clipboard
data class GetOriginAccessControlResult(val id: String? = null, val originAccessControlConfig: OriginAccessControlConfig? = null)
Link copied to clipboard
data class GetOriginRequestPolicyResult(val id: String? = null, val lastModifiedTime: String? = null, val originRequestPolicyConfig: OriginRequestPolicyConfig? = null)
Link copied to clipboard
data class GetPublicKeyResult(val createdTime: String? = null, val id: String? = null, val publicKeyConfig: PublicKeyConfig? = null)
Link copied to clipboard
data class GetRealtimeLogConfigResult(val arn: String? = null, val endPoints: List<RealtimeLogConfigEndPoint>? = null, val fields: List<String>? = null, val samplingRate: Double? = null)
Link copied to clipboard
data class GetResponseHeadersPolicyResult(val id: String? = null, val lastModifiedTime: String? = null, val responseHeadersPolicyConfig: ResponseHeadersPolicyConfig? = null)
Link copied to clipboard
data class KeyGroupConfig(val comment: String? = null, val items: List<String>, val name: String)
Link copied to clipboard
data class KeyValueStoreImportSource(val sourceArn: String, val sourceType: String)
Link copied to clipboard
data class MonitoringSubscription(val realtimeMetricsSubscriptionConfig: MonitoringSubscriptionRealtimeMetricsSubscriptionConfig? = null)
Link copied to clipboard
data class OriginAccessControlConfig(val description: String? = null, val name: String, val originAccessControlOriginType: String, val signingBehavior: String, val signingProtocol: String)
Link copied to clipboard
data class OriginRequestPolicyConfig(val comment: String? = null, val cookiesConfig: OriginRequestPolicyCookiesConfig, val headersConfig: OriginRequestPolicyHeadersConfig, val name: String, val queryStringsConfig: OriginRequestPolicyQueryStringsConfig)
Link copied to clipboard
data class OriginRequestPolicyCookiesConfig(val cookieBehavior: String, val cookies: List<String>? = null)
Link copied to clipboard
data class OriginRequestPolicyHeadersConfig(val headerBehavior: String, val headers: List<String>? = null)
Link copied to clipboard
data class OriginRequestPolicyQueryStringsConfig(val queryStringBehavior: String, val queryStrings: List<String>? = null)
Link copied to clipboard
data class PublicKeyConfig(val callerReference: String, val comment: String? = null, val encodedKey: String, val name: String)
Link copied to clipboard
data class RealtimeLogConfigEndPoint(val kinesisStreamConfig: RealtimeLogConfigKinesisStreamConfig, val streamType: String)
Link copied to clipboard
data class RealtimeLogConfigKinesisStreamConfig(val roleArn: String, val streamArn: String)
Link copied to clipboard
data class ResponseHeadersPolicyConfig(val comment: String? = null, val corsConfig: ResponseHeadersPolicyCorsConfig? = null, val customHeadersConfig: ResponseHeadersPolicyCustomHeadersConfig? = null, val name: String, val removeHeadersConfig: ResponseHeadersPolicyRemoveHeadersConfig? = null, val securityHeadersConfig: ResponseHeadersPolicySecurityHeadersConfig? = null, val serverTimingHeadersConfig: ResponseHeadersPolicyServerTimingHeadersConfig? = null)
data class ResponseHeadersPolicyContentSecurityPolicy(val contentSecurityPolicy: String, val override: Boolean)
Link copied to clipboard
data class ResponseHeadersPolicyCorsConfig(val accessControlAllowCredentials: Boolean, val accessControlAllowHeaders: ResponseHeadersPolicyAccessControlAllowHeaders, val accessControlAllowMethods: ResponseHeadersPolicyAccessControlAllowMethods, val accessControlAllowOrigins: ResponseHeadersPolicyAccessControlAllowOrigins, val accessControlExposeHeaders: ResponseHeadersPolicyAccessControlExposeHeaders? = null, val accessControlMaxAgeSec: Int? = null, val originOverride: Boolean)
Link copied to clipboard
data class ResponseHeadersPolicyCustomHeader(val header: String, val override: Boolean, val value: String)
Link copied to clipboard
data class ResponseHeadersPolicyFrameOptions(val frameOption: String, val override: Boolean)
Link copied to clipboard
data class ResponseHeadersPolicyReferrerPolicy(val override: Boolean, val referrerPolicy: String)
Link copied to clipboard
data class ResponseHeadersPolicySecurityHeadersConfig(val contentSecurityPolicy: ResponseHeadersPolicyContentSecurityPolicy? = null, val contentTypeOptions: ResponseHeadersPolicyContentTypeOptions? = null, val frameOptions: ResponseHeadersPolicyFrameOptions? = null, val referrerPolicy: ResponseHeadersPolicyReferrerPolicy? = null, val strictTransportSecurity: ResponseHeadersPolicyStrictTransportSecurity? = null, val xssProtection: ResponseHeadersPolicyXssProtection? = null)
data class ResponseHeadersPolicyServerTimingHeadersConfig(val enabled: Boolean, val samplingRate: Double? = null)
data class ResponseHeadersPolicyStrictTransportSecurity(val accessControlMaxAgeSec: Int, val includeSubdomains: Boolean? = null, val override: Boolean, val preload: Boolean? = null)
Link copied to clipboard
data class ResponseHeadersPolicyXssProtection(val modeBlock: Boolean? = null, val override: Boolean, val protection: Boolean, val reportUri: String? = null)