import * as core from "@terrascript/core"; export interface GeoRestrictionArgs extends core.SchemaArgs { locations?: core.Array | core.ArrayOut; restrictionType: string | core.StringOut; } export declare class GeoRestriction extends core.Schema { locations?: core.Array | core.ArrayOut; restrictionType: string | core.StringOut; } export interface RestrictionsArgs extends core.SchemaArgs { geoRestriction: GeoRestriction; } export declare class Restrictions extends core.Schema { geoRestriction: GeoRestriction; } export interface MemberArgs extends core.SchemaArgs { originId: string | core.StringOut; } export declare class Member extends core.Schema { originId: string | core.StringOut; } export interface FailoverCriteriaArgs extends core.SchemaArgs { statusCodes: core.Array | core.ArrayOut; } export declare class FailoverCriteria extends core.Schema { statusCodes: core.Array | core.ArrayOut; } export interface OriginGroupArgs extends core.SchemaArgs { failoverCriteria: FailoverCriteria; member: core.Array | core.ArrayOut; originId: string | core.StringOut; } export declare class OriginGroup extends core.Schema { failoverCriteria: FailoverCriteria; member: core.Array | core.ArrayOut; originId: string | core.StringOut; } export interface CustomErrorResponseArgs extends core.SchemaArgs { errorCachingMinTtl?: number | core.NumberOut; errorCode: number | core.NumberOut; responseCode?: number | core.NumberOut; responsePagePath?: string | core.StringOut; } export declare class CustomErrorResponse extends core.Schema { errorCachingMinTtl?: number | core.NumberOut; errorCode: number | core.NumberOut; responseCode?: number | core.NumberOut; responsePagePath?: string | core.StringOut; } export interface CustomOriginConfigArgs extends core.SchemaArgs { httpPort: number | core.NumberOut; httpsPort: number | core.NumberOut; originKeepaliveTimeout?: number | core.NumberOut; originProtocolPolicy: string | core.StringOut; originReadTimeout?: number | core.NumberOut; originSslProtocols: core.Array | core.ArrayOut; } export declare class CustomOriginConfig extends core.Schema { httpPort: number | core.NumberOut; httpsPort: number | core.NumberOut; originKeepaliveTimeout?: number | core.NumberOut; originProtocolPolicy: string | core.StringOut; originReadTimeout?: number | core.NumberOut; originSslProtocols: core.Array | core.ArrayOut; } export interface OriginShieldArgs extends core.SchemaArgs { enabled: boolean | core.BooleanOut; originShieldRegion: string | core.StringOut; } export declare class OriginShield extends core.Schema { enabled: boolean | core.BooleanOut; originShieldRegion: string | core.StringOut; } export interface S3OriginConfigArgs extends core.SchemaArgs { originAccessIdentity: string | core.StringOut; } export declare class S3OriginConfig extends core.Schema { originAccessIdentity: string | core.StringOut; } export interface CustomHeaderArgs extends core.SchemaArgs { name: string | core.StringOut; value: string | core.StringOut; } export declare class CustomHeader extends core.Schema { name: string | core.StringOut; value: string | core.StringOut; } export interface OriginArgs extends core.SchemaArgs { connectionAttempts?: number | core.NumberOut; connectionTimeout?: number | core.NumberOut; customHeader?: core.Array | core.ArrayOut; customOriginConfig?: CustomOriginConfig; domainName: string | core.StringOut; originId: string | core.StringOut; originPath?: string | core.StringOut; originShield?: OriginShield; s3OriginConfig?: S3OriginConfig; } export declare class Origin extends core.Schema { connectionAttempts?: number | core.NumberOut; connectionTimeout?: number | core.NumberOut; customHeader?: core.Array | core.ArrayOut; customOriginConfig?: CustomOriginConfig; domainName: string | core.StringOut; originId: string | core.StringOut; originPath?: string | core.StringOut; originShield?: OriginShield; s3OriginConfig?: S3OriginConfig; } export interface LambdaFunctionAssociationArgs extends core.SchemaArgs { eventType: string | core.StringOut; includeBody?: boolean | core.BooleanOut; lambdaArn: string | core.StringOut; } export declare class LambdaFunctionAssociation extends core.Schema { eventType: string | core.StringOut; includeBody?: boolean | core.BooleanOut; lambdaArn: string | core.StringOut; } export interface FunctionAssociationArgs extends core.SchemaArgs { eventType: string | core.StringOut; functionArn: string | core.StringOut; } export declare class FunctionAssociation extends core.Schema { eventType: string | core.StringOut; functionArn: string | core.StringOut; } export interface OrderedCacheBehaviorForwardedValuesCookiesArgs extends core.SchemaArgs { forward: string | core.StringOut; whitelistedNames?: core.Array | core.ArrayOut; } export declare class OrderedCacheBehaviorForwardedValuesCookies extends core.Schema { forward: string | core.StringOut; whitelistedNames?: core.Array | core.ArrayOut; } export interface OrderedCacheBehaviorForwardedValuesArgs extends core.SchemaArgs { cookies: OrderedCacheBehaviorForwardedValuesCookies; headers?: core.Array | core.ArrayOut; queryString: boolean | core.BooleanOut; queryStringCacheKeys?: core.Array | core.ArrayOut; } export declare class OrderedCacheBehaviorForwardedValues extends core.Schema { cookies: OrderedCacheBehaviorForwardedValuesCookies; headers?: core.Array | core.ArrayOut; queryString: boolean | core.BooleanOut; queryStringCacheKeys?: core.Array | core.ArrayOut; } export interface OrderedCacheBehaviorArgs extends core.SchemaArgs { allowedMethods: core.Array | core.ArrayOut; cachePolicyId?: string | core.StringOut; cachedMethods: core.Array | core.ArrayOut; compress?: boolean | core.BooleanOut; defaultTtl?: number | core.NumberOut; fieldLevelEncryptionId?: string | core.StringOut; forwardedValues?: OrderedCacheBehaviorForwardedValues; functionAssociation?: core.Array | core.ArrayOut; lambdaFunctionAssociation?: core.Array | core.ArrayOut; maxTtl?: number | core.NumberOut; minTtl?: number | core.NumberOut; originRequestPolicyId?: string | core.StringOut; pathPattern: string | core.StringOut; realtimeLogConfigArn?: string | core.StringOut; responseHeadersPolicyId?: string | core.StringOut; smoothStreaming?: boolean | core.BooleanOut; targetOriginId: string | core.StringOut; trustedKeyGroups?: core.Array | core.ArrayOut; trustedSigners?: core.Array | core.ArrayOut; viewerProtocolPolicy: string | core.StringOut; } export declare class OrderedCacheBehavior extends core.Schema { allowedMethods: core.Array | core.ArrayOut; cachePolicyId?: string | core.StringOut; cachedMethods: core.Array | core.ArrayOut; compress?: boolean | core.BooleanOut; defaultTtl?: number | core.NumberOut; fieldLevelEncryptionId?: string | core.StringOut; forwardedValues?: OrderedCacheBehaviorForwardedValues; functionAssociation?: core.Array | core.ArrayOut; lambdaFunctionAssociation?: core.Array | core.ArrayOut; maxTtl?: number | core.NumberOut; minTtl?: number | core.NumberOut; originRequestPolicyId?: string | core.StringOut; pathPattern: string | core.StringOut; realtimeLogConfigArn?: string | core.StringOut; responseHeadersPolicyId?: string | core.StringOut; smoothStreaming?: boolean | core.BooleanOut; targetOriginId: string | core.StringOut; trustedKeyGroups?: core.Array | core.ArrayOut; trustedSigners?: core.Array | core.ArrayOut; viewerProtocolPolicy: string | core.StringOut; } export interface DefaultCacheBehaviorForwardedValuesCookiesArgs extends core.SchemaArgs { forward: string | core.StringOut; whitelistedNames?: core.Array | core.ArrayOut; } export declare class DefaultCacheBehaviorForwardedValuesCookies extends core.Schema { forward: string | core.StringOut; whitelistedNames?: core.Array | core.ArrayOut; } export interface DefaultCacheBehaviorForwardedValuesArgs extends core.SchemaArgs { cookies: DefaultCacheBehaviorForwardedValuesCookies; headers?: core.Array | core.ArrayOut; queryString: boolean | core.BooleanOut; queryStringCacheKeys?: core.Array | core.ArrayOut; } export declare class DefaultCacheBehaviorForwardedValues extends core.Schema { cookies: DefaultCacheBehaviorForwardedValuesCookies; headers?: core.Array | core.ArrayOut; queryString: boolean | core.BooleanOut; queryStringCacheKeys?: core.Array | core.ArrayOut; } export interface DefaultCacheBehaviorArgs extends core.SchemaArgs { allowedMethods: core.Array | core.ArrayOut; cachePolicyId?: string | core.StringOut; cachedMethods: core.Array | core.ArrayOut; compress?: boolean | core.BooleanOut; defaultTtl?: number | core.NumberOut; fieldLevelEncryptionId?: string | core.StringOut; forwardedValues?: DefaultCacheBehaviorForwardedValues; functionAssociation?: core.Array | core.ArrayOut; lambdaFunctionAssociation?: core.Array | core.ArrayOut; maxTtl?: number | core.NumberOut; minTtl?: number | core.NumberOut; originRequestPolicyId?: string | core.StringOut; realtimeLogConfigArn?: string | core.StringOut; responseHeadersPolicyId?: string | core.StringOut; smoothStreaming?: boolean | core.BooleanOut; targetOriginId: string | core.StringOut; trustedKeyGroups?: core.Array | core.ArrayOut; trustedSigners?: core.Array | core.ArrayOut; viewerProtocolPolicy: string | core.StringOut; } export declare class DefaultCacheBehavior extends core.Schema { allowedMethods: core.Array | core.ArrayOut; cachePolicyId?: string | core.StringOut; cachedMethods: core.Array | core.ArrayOut; compress?: boolean | core.BooleanOut; defaultTtl?: number | core.NumberOut; fieldLevelEncryptionId?: string | core.StringOut; forwardedValues?: DefaultCacheBehaviorForwardedValues; functionAssociation?: core.Array | core.ArrayOut; lambdaFunctionAssociation?: core.Array | core.ArrayOut; maxTtl?: number | core.NumberOut; minTtl?: number | core.NumberOut; originRequestPolicyId?: string | core.StringOut; realtimeLogConfigArn?: string | core.StringOut; responseHeadersPolicyId?: string | core.StringOut; smoothStreaming?: boolean | core.BooleanOut; targetOriginId: string | core.StringOut; trustedKeyGroups?: core.Array | core.ArrayOut; trustedSigners?: core.Array | core.ArrayOut; viewerProtocolPolicy: string | core.StringOut; } export interface TrustedSignersItemsArgs extends core.SchemaArgs { awsAccountNumber: string | core.StringOut; keyPairIds: core.Array | core.ArrayOut; } export declare class TrustedSignersItems extends core.Schema { awsAccountNumber: string | core.StringOut; keyPairIds: core.Array | core.ArrayOut; } export interface TrustedSignersArgs extends core.SchemaArgs { enabled: boolean | core.BooleanOut; items: core.Array | core.ArrayOut; } export declare class TrustedSigners extends core.Schema { enabled: boolean | core.BooleanOut; items: core.Array | core.ArrayOut; } export interface ViewerCertificateArgs extends core.SchemaArgs { acmCertificateArn?: string | core.StringOut; cloudfrontDefaultCertificate?: boolean | core.BooleanOut; iamCertificateId?: string | core.StringOut; minimumProtocolVersion?: string | core.StringOut; sslSupportMethod?: string | core.StringOut; } export declare class ViewerCertificate extends core.Schema { acmCertificateArn?: string | core.StringOut; cloudfrontDefaultCertificate?: boolean | core.BooleanOut; iamCertificateId?: string | core.StringOut; minimumProtocolVersion?: string | core.StringOut; sslSupportMethod?: string | core.StringOut; } export interface LoggingConfigArgs extends core.SchemaArgs { bucket: string | core.StringOut; includeCookies?: boolean | core.BooleanOut; prefix?: string | core.StringOut; } export declare class LoggingConfig extends core.Schema { bucket: string | core.StringOut; includeCookies?: boolean | core.BooleanOut; prefix?: string | core.StringOut; } export interface TrustedKeyGroupsItemsArgs extends core.SchemaArgs { keyGroupId: string | core.StringOut; keyPairIds: core.Array | core.ArrayOut; } export declare class TrustedKeyGroupsItems extends core.Schema { keyGroupId: string | core.StringOut; keyPairIds: core.Array | core.ArrayOut; } export interface TrustedKeyGroupsArgs extends core.SchemaArgs { enabled: boolean | core.BooleanOut; items: core.Array | core.ArrayOut; } export declare class TrustedKeyGroups extends core.Schema { enabled: boolean | core.BooleanOut; items: core.Array | core.ArrayOut; } export interface DistributionArgs extends core.ResourceArgs { aliases?: core.Array | core.ArrayOut; comment?: string | core.StringOut; customErrorResponse?: core.Array | core.ArrayOut; defaultCacheBehavior: DefaultCacheBehavior; defaultRootObject?: string | core.StringOut; /** * true` if any of the key groups have public keys that CloudFront can use to verify the signature * s of signed URLs and signed cookies */ enabled: boolean | core.BooleanOut; httpVersion?: string | core.StringOut; isIpv6Enabled?: boolean | core.BooleanOut; loggingConfig?: LoggingConfig; orderedCacheBehavior?: core.Array | core.ArrayOut; origin: core.Array | core.ArrayOut; originGroup?: core.Array | core.ArrayOut; priceClass?: string | core.StringOut; restrictions: Restrictions; retainOnDelete?: boolean | core.BooleanOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; viewerCertificate: ViewerCertificate; waitForDeployment?: boolean | core.BooleanOut; webAclId?: string | core.StringOut; } export declare class Distribution extends core.Resource { aliases?: core.Array | core.ArrayOut; /** * The ARN (Amazon Resource Name) for the distribution. For example: `arn:aws:cloudfront::123456789012: * distribution/EDFDVBD632BHDS5`, where `123456789012` is your AWS account ID. */ arn: string | core.StringOut; /** * Internal value used by CloudFront to allow future */ callerReference: string | core.StringOut; comment?: string | core.StringOut; customErrorResponse?: core.Array | core.ArrayOut; defaultCacheBehavior: DefaultCacheBehavior; defaultRootObject?: string | core.StringOut; /** * The domain name corresponding to the distribution. For */ domainName: string | core.StringOut; /** * true` if any of the key groups have public keys that CloudFront can use to verify the signature * s of signed URLs and signed cookies */ enabled: boolean | core.BooleanOut; /** * The current version of the distribution's information. For example: */ etag: string | core.StringOut; /** * The CloudFront Route 53 zone ID that can be used to */ hostedZoneId: string | core.StringOut; httpVersion?: string | core.StringOut; /** * The identifier for the distribution. For example: `EDFDVBD632BHDS5`. */ id: string | core.StringOut; /** * The number of invalidation batches */ inProgressValidationBatches: number | core.NumberOut; isIpv6Enabled?: boolean | core.BooleanOut; /** * The date and time the distribution was last modified. */ lastModifiedTime: string | core.StringOut; loggingConfig?: LoggingConfig; orderedCacheBehavior?: core.Array | core.ArrayOut; origin: core.Array | core.ArrayOut; originGroup?: core.Array | core.ArrayOut; priceClass?: string | core.StringOut; restrictions: Restrictions; retainOnDelete?: boolean | core.BooleanOut; /** * The current status of the distribution. `Deployed` if the */ status: string | core.StringOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * List of nested attributes for active trusted key groups, if the distribution is set up to serve priv * ate content with signed URLs */ trustedKeyGroups: core.Array | core.ArrayOut; /** * List of nested attributes for active trusted signers, if the distribution is set up to serve private * content with signed URLs */ trustedSigners: core.Array | core.ArrayOut; viewerCertificate: ViewerCertificate; waitForDeployment?: boolean | core.BooleanOut; webAclId?: string | core.StringOut; constructor(name: string, args?: DistributionArgs); getNamespace(): string; } //# sourceMappingURL=distribution.d.ts.map