import * as core from "@terrascript/core"; export interface HeadersArgs extends core.SchemaArgs { items?: core.Array | core.ArrayOut; } export declare class Headers extends core.Schema { items?: core.Array | core.ArrayOut; } export interface HeadersConfigArgs extends core.SchemaArgs { headerBehavior?: string | core.StringOut; headers?: Headers; } export declare class HeadersConfig extends core.Schema { headerBehavior?: string | core.StringOut; headers?: Headers; } export interface QueryStringsArgs extends core.SchemaArgs { items?: core.Array | core.ArrayOut; } export declare class QueryStrings extends core.Schema { items?: core.Array | core.ArrayOut; } export interface QueryStringsConfigArgs extends core.SchemaArgs { queryStringBehavior: string | core.StringOut; queryStrings?: QueryStrings; } export declare class QueryStringsConfig extends core.Schema { queryStringBehavior: string | core.StringOut; queryStrings?: QueryStrings; } export interface CookiesArgs extends core.SchemaArgs { items?: core.Array | core.ArrayOut; } export declare class Cookies extends core.Schema { items?: core.Array | core.ArrayOut; } export interface CookiesConfigArgs extends core.SchemaArgs { cookieBehavior: string | core.StringOut; cookies?: Cookies; } export declare class CookiesConfig extends core.Schema { cookieBehavior: string | core.StringOut; cookies?: Cookies; } export interface ParametersInCacheKeyAndForwardedToOriginArgs extends core.SchemaArgs { cookiesConfig: CookiesConfig; enableAcceptEncodingBrotli?: boolean | core.BooleanOut; enableAcceptEncodingGzip?: boolean | core.BooleanOut; headersConfig: HeadersConfig; queryStringsConfig: QueryStringsConfig; } export declare class ParametersInCacheKeyAndForwardedToOrigin extends core.Schema { cookiesConfig: CookiesConfig; enableAcceptEncodingBrotli?: boolean | core.BooleanOut; enableAcceptEncodingGzip?: boolean | core.BooleanOut; headersConfig: HeadersConfig; queryStringsConfig: QueryStringsConfig; } export interface CachePolicyArgs extends core.ResourceArgs { /** * (Optional) A comment to describe the cache policy. */ comment?: string | core.StringOut; /** * (Optional) The default amount of time, in seconds, that you want objects to stay in the CloudFront c * ache before CloudFront sends another request to the origin to see if the object has been updated. */ defaultTtl?: number | core.NumberOut; /** * (Optional) The maximum amount of time, in seconds, that objects stay in the CloudFront cache before * CloudFront sends another request to the origin to see if the object has been updated. */ maxTtl?: number | core.NumberOut; /** * (Required) The minimum amount of time, in seconds, that you want objects to stay in the CloudFront c * ache before CloudFront sends another request to the origin to see if the object has been updated. */ minTtl?: number | core.NumberOut; /** * (Required) A unique name to identify the cache policy. */ name: string | core.StringOut; /** * (Required) The HTTP headers, cookies, and URL query strings to include in the cache key. See [Parame * ters In Cache Key And Forwarded To Origin](#parameters-in-cache-key-and-forwarded-to-origin) for mor * e information. */ parametersInCacheKeyAndForwardedToOrigin: ParametersInCacheKeyAndForwardedToOrigin; } export declare class CachePolicy extends core.Resource { /** * (Optional) A comment to describe the cache policy. */ comment?: string | core.StringOut; /** * (Optional) The default amount of time, in seconds, that you want objects to stay in the CloudFront c * ache before CloudFront sends another request to the origin to see if the object has been updated. */ defaultTtl?: number | core.NumberOut; /** * The current version of the cache policy. */ etag: string | core.StringOut; /** * The identifier for the cache policy. */ id: string | core.StringOut; /** * (Optional) The maximum amount of time, in seconds, that objects stay in the CloudFront cache before * CloudFront sends another request to the origin to see if the object has been updated. */ maxTtl?: number | core.NumberOut; /** * (Required) The minimum amount of time, in seconds, that you want objects to stay in the CloudFront c * ache before CloudFront sends another request to the origin to see if the object has been updated. */ minTtl?: number | core.NumberOut; /** * (Required) A unique name to identify the cache policy. */ name: string | core.StringOut; /** * (Required) The HTTP headers, cookies, and URL query strings to include in the cache key. See [Parame * ters In Cache Key And Forwarded To Origin](#parameters-in-cache-key-and-forwarded-to-origin) for mor * e information. */ parametersInCacheKeyAndForwardedToOrigin: ParametersInCacheKeyAndForwardedToOrigin; constructor(name: string, args?: CachePolicyArgs); getNamespace(): string; } //# sourceMappingURL=cache_policy.d.ts.map