/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * Resource Type definition for AWS::CloudFront::Distribution */ export interface AwsCloudfrontDistribution { DistributionConfig: DistributionConfig; DomainName?: string; Id?: string; Tags?: Tag[]; } export interface DistributionConfig { Aliases?: string[]; CNAMEs?: string[]; CacheBehaviors?: CacheBehavior[]; Comment?: string; ContinuousDeploymentPolicyId?: string; CustomErrorResponses?: CustomErrorResponse[]; CustomOrigin?: LegacyCustomOrigin; DefaultCacheBehavior: DefaultCacheBehavior; DefaultRootObject?: string; Enabled: boolean; HttpVersion?: string; IPV6Enabled?: boolean; Logging?: Logging; OriginGroups?: OriginGroups; Origins?: Origin[]; PriceClass?: string; Restrictions?: Restrictions; S3Origin?: LegacyS3Origin; Staging?: boolean; ViewerCertificate?: ViewerCertificate; WebACLId?: string; } export interface CacheBehavior { AllowedMethods?: string[]; CachePolicyId?: string; CachedMethods?: string[]; Compress?: boolean; DefaultTTL?: number; FieldLevelEncryptionId?: string; ForwardedValues?: ForwardedValues; FunctionAssociations?: FunctionAssociation[]; LambdaFunctionAssociations?: LambdaFunctionAssociation[]; MaxTTL?: number; MinTTL?: number; OriginRequestPolicyId?: string; PathPattern: string; RealtimeLogConfigArn?: string; ResponseHeadersPolicyId?: string; SmoothStreaming?: boolean; TargetOriginId: string; TrustedKeyGroups?: string[]; TrustedSigners?: string[]; ViewerProtocolPolicy: string; } export interface ForwardedValues { Cookies?: Cookies; Headers?: string[]; QueryString: boolean; QueryStringCacheKeys?: string[]; } export interface Cookies { Forward: string; WhitelistedNames?: string[]; } export interface FunctionAssociation { EventType?: string; FunctionARN?: string; } export interface LambdaFunctionAssociation { EventType?: string; IncludeBody?: boolean; LambdaFunctionARN?: string; } export interface CustomErrorResponse { ErrorCachingMinTTL?: number; ErrorCode: number; ResponseCode?: number; ResponsePagePath?: string; } export interface LegacyCustomOrigin { DNSName: string; HTTPPort?: number; HTTPSPort?: number; OriginProtocolPolicy: string; OriginSSLProtocols: string[]; } export interface DefaultCacheBehavior { AllowedMethods?: string[]; CachePolicyId?: string; CachedMethods?: string[]; Compress?: boolean; DefaultTTL?: number; FieldLevelEncryptionId?: string; ForwardedValues?: ForwardedValues; FunctionAssociations?: FunctionAssociation[]; LambdaFunctionAssociations?: LambdaFunctionAssociation[]; MaxTTL?: number; MinTTL?: number; OriginRequestPolicyId?: string; RealtimeLogConfigArn?: string; ResponseHeadersPolicyId?: string; SmoothStreaming?: boolean; TargetOriginId: string; TrustedKeyGroups?: string[]; TrustedSigners?: string[]; ViewerProtocolPolicy: string; } export interface Logging { Bucket: string; IncludeCookies?: boolean; Prefix?: string; } export interface OriginGroups { Items?: OriginGroup[]; Quantity: number; } export interface OriginGroup { FailoverCriteria: OriginGroupFailoverCriteria; Id: string; Members: OriginGroupMembers; } export interface OriginGroupFailoverCriteria { StatusCodes: StatusCodes; } export interface StatusCodes { Items: number[]; Quantity: number; } export interface OriginGroupMembers { Items: OriginGroupMember[]; Quantity: number; } export interface OriginGroupMember { OriginId: string; } export interface Origin { ConnectionAttempts?: number; ConnectionTimeout?: number; CustomOriginConfig?: CustomOriginConfig; DomainName: string; Id: string; OriginAccessControlId?: string; OriginCustomHeaders?: OriginCustomHeader[]; OriginPath?: string; OriginShield?: OriginShield; S3OriginConfig?: S3OriginConfig; } export interface CustomOriginConfig { HTTPPort?: number; HTTPSPort?: number; OriginKeepaliveTimeout?: number; OriginProtocolPolicy: string; OriginReadTimeout?: number; OriginSSLProtocols?: string[]; } export interface OriginCustomHeader { HeaderName: string; HeaderValue: string; } export interface OriginShield { Enabled?: boolean; OriginShieldRegion?: string; } export interface S3OriginConfig { OriginAccessIdentity?: string; } export interface Restrictions { GeoRestriction: GeoRestriction; } export interface GeoRestriction { Locations?: string[]; RestrictionType: string; } export interface LegacyS3Origin { DNSName: string; OriginAccessIdentity?: string; } export interface ViewerCertificate { AcmCertificateArn?: string; CloudFrontDefaultCertificate?: boolean; IamCertificateId?: string; MinimumProtocolVersion?: string; SslSupportMethod?: string; } export interface Tag { Key: string; Value: string; }