UNPKG

@aws-cdk/aws-ecs

Version:

The CDK Construct Library for AWS::ECS

45 lines (44 loc) 1.54 kB
import * as autoscaling from '@aws-cdk/aws-autoscaling'; import * as kms from '@aws-cdk/aws-kms'; import * as cdk from '@aws-cdk/core'; import { Construct } from 'constructs'; import { ICluster } from '../cluster'; import { Construct as CoreConstruct } from '@aws-cdk/core'; /** * Properties for instance draining hook */ export interface InstanceDrainHookProps { /** * The AutoScalingGroup to install the instance draining hook for */ autoScalingGroup: autoscaling.IAutoScalingGroup; /** * The cluster on which tasks have been scheduled */ cluster: ICluster; /** * How many seconds to give tasks to drain before the instance is terminated anyway * * Must be between 0 and 15 minutes. * * @default Duration.minutes(15) */ drainTime?: cdk.Duration; /** * The InstanceDrainHook creates an SNS topic for the lifecycle hook of the ASG. If provided, then this * key will be used to encrypt the contents of that SNS Topic. * See [SNS Data Encryption](https://docs.aws.amazon.com/sns/latest/dg/sns-data-encryption.html) for more information. * * @default The SNS Topic will not be encrypted. */ topicEncryptionKey?: kms.IKey; } /** * A hook to drain instances from ECS traffic before they're terminated */ export declare class InstanceDrainHook extends CoreConstruct { /** * Constructs a new instance of the InstanceDrainHook class. */ constructor(scope: Construct, id: string, props: InstanceDrainHookProps); }