@studion/infra-code-blocks
Version:
Studion common infra components
48 lines • 1.73 kB
TypeScript
import * as pulumi from '@pulumi/pulumi';
import * as aws from '@pulumi/aws';
import { CacheRuleTtl } from './cache-rule-ttl';
import { S3Assets } from './s3-assets';
import { CloudFront } from '../cloudfront';
export declare namespace StaticSite {
type CacheRule = {
pathPattern: string;
/**
* The TTL to for the path pattern.
* Available predefined options are:
* - `default` (fallback to defaults for CloudFront S3 behavior)
* - `off` (0 second)
* - `minute` (60 seconds)
* - `hour` (3600 seconds)
* - `day` (86400 seconds)
* - `week` (604800 seconds)
* - `month` (2592000 seconds)
*/
ttl: CacheRuleTtl;
};
type Args = {
domain?: pulumi.Input<string>;
certificate?: pulumi.Input<aws.acm.Certificate>;
hostedZoneId: pulumi.Input<string>;
bucketPrefix?: pulumi.Input<string>;
indexDocument?: pulumi.Input<string>;
errorDocument?: pulumi.Input<string>;
/**
* Caching to enforce for S3 assets. Combined with S3 bucket translates
* into CloudFront behaviors.
* The default cache rule, i.e. path pattern `*` or `/*`, must always be last.
* @see CloudFront.Args.behaviors
*/
cacheRules?: CacheRule[];
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
};
}
export declare class StaticSite extends pulumi.ComponentResource {
name: string;
s3Assets: S3Assets;
cf: CloudFront;
constructor(name: string, args: StaticSite.Args, opts?: pulumi.ComponentResourceOptions);
private getCloudFrontBehaviors;
}
//# sourceMappingURL=index.d.ts.map