import { FunctionAssociation } from "aws-cdk-lib/aws-cloudfront"; import { IGroup, IUser } from "aws-cdk-lib/aws-iam"; /** * The settings provided for the web application service */ export interface StaticWebServiceSettings { /** * Define an application name */ name: string; /** * Define the environment (prod, staging) */ env: string; /** * Define a region */ region: string; /** * Is the domain hosted on route 53. If not hosted here, the dns and cert will be skipped and must be manually supplied */ route53: boolean | null; /** * The hosted zone name */ domainName: string; /** * The third level domain being pointed. If undefined or null the root domain will be pointed */ subDomainName?: string | null; /** * The ARN of a cert in the account. If this is left null or undefined, one will be generated from the domain name */ certificateARN?: string | null; /** * Deploy directory */ deployDirectory?: string | null; /** * Deploy directory */ deployUser?: IUser | null; /** * Deploy directory */ deployGroup?: IGroup | null; /** * PRovide SAN names for the cert if required */ subjectAlternativeNames?: string[] | null; /** * Provide an array of functional associations to * the cf default behavior */ functionAssociations?: FunctionAssociation[]; } export default StaticWebServiceSettings;