UNPKG

@cdkx/web-application

Version:

Static web application hosting related constructs

41 lines (40 loc) 1.5 kB
/// <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); }