@cdkx/web-application
Version:
Static web application hosting related constructs
41 lines (40 loc) • 1.5 kB
TypeScript
/// <amd-module name="@cdkx/web-application/constructs/assets-server.construct" />
import { IResource } from '@aws-cdk/aws-apigateway';
import { Certificate, ICertificate } from '@aws-cdk/aws-certificatemanager';
import { Distribution } from '@aws-cdk/aws-cloudfront';
import { IHostedZone } from '@aws-cdk/aws-route53';
import { Bucket, CorsRule, IBucket } from '@aws-cdk/aws-s3';
import { Construct, RemovalPolicy } from '@aws-cdk/core';
import { DOMAIN_NAME_REGISTRAR } from '../constants';
export interface IAssetsServerProps {
bucketConfig?: {
/**
* @default - New bucket is created and used as a storage for assets
*/
useExisting?: Bucket | IBucket;
/**
* @default none - No cors rules are applied
*/
corsRules?: CorsRule[];
};
/**
* @default none No aliases are registered
*/
aliases?: string[];
domainNameRegistrar: DOMAIN_NAME_REGISTRAR;
hostedZone: IHostedZone;
restApiResource: IResource;
/**
* @default cloudfront Default cloudfront certificate '*.cloudfront.net'
*/
certificate?: ICertificate | Certificate;
/**
* @default orphaned - resources will be orphaned, choose destroy to auto remove on destroy
*/
removalPolicy?: RemovalPolicy;
}
export declare class AssetsServer extends Construct {
readonly bucket: Bucket | IBucket;
readonly distribution: Distribution;
constructor(scope: Construct, id: string, props: IAssetsServerProps);
}