import { IAMRolePolicy, ECSClusterDescription, EC2SecurityGroupDescription, EC2SecurityGroupIngressDescription, ElasticLoadBalancingV2LoadBalancerDescription, IAMRoleDescription, ECSTaskDefinitionDescription, ElasticLoadBalancingV2TargetGroupDescription, ECSServiceDescription, ElasticLoadBalancingV2ListenerDescription, Route53RecordSetDescription, LogsLogGroupDescription } from '@sjmeverett/cloudformation-types'; export interface FargateDeploymentOptions { /** * A name for the deployed service */ ServiceName: string; /** * The Docker image */ ImageUrl: string; /** * The port the container will listen on. */ ContainerPort: number; /** * How much CPU to give the container, where 1024 is 1 CPU (default 256) */ ContainerCpu?: number; /** * How much memory in megabytes to give the container (default 512) */ ContainerMemory?: number; /** * How many copies of the service task to run (default 2) */ DesiredCount?: number; /** * The ID of the VPC to use */ VpcId: string; /** * IDs of the private subnets */ PrivateSubnets: string[]; /** * IDs of the public subnets */ PublicSubnets: string[]; /** * The domain name to point at the load balancer */ DomainName: string; /** * The domain zone name */ ZoneName: string; /** * The stage, e.g. prod, dev */ Stage: string; /** * The ACM certificate to use for HTTPS */ CertificateArn: string; /** * The policies to attach to the role the container will run under. */ Policies?: IAMRolePolicy[]; /** * Optional environment variables. */ Environment?: Record; /** * The URL to poll for container health. */ HealthCheckUrl?: string; /** * Whether or not to enable Container Insights */ EnableContainerInsights?: boolean; } export interface FargateDeploymentResources { cluster: ECSClusterDescription; containerSecurityGroup: EC2SecurityGroupDescription; loadBalancerSecurityGroup: EC2SecurityGroupDescription; albIngress: EC2SecurityGroupIngressDescription; selfIngress: EC2SecurityGroupIngressDescription; loadBalancer: ElasticLoadBalancingV2LoadBalancerDescription; executionRole: IAMRoleDescription; taskRole: IAMRoleDescription; task: ECSTaskDefinitionDescription; targetGroup: ElasticLoadBalancingV2TargetGroupDescription; service: ECSServiceDescription; listener: ElasticLoadBalancingV2ListenerDescription; logGroup: LogsLogGroupDescription; recordset: Route53RecordSetDescription; } export declare function createFargateDeployment(name: string, options: FargateDeploymentOptions): FargateDeploymentResources; //# sourceMappingURL=createFargateDeployment.d.ts.map