import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class DimensionConfiguration { DimensionValueSource ! : Value < string > ; DefaultDimensionValue ! : Value < string > ; DimensionName ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CloudWatchDestination { DimensionConfigurations ? : List < DimensionConfiguration > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SnsDestination { TopicArn ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class PinpointDestination { ApplicationArn ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class KinesisFirehoseDestination { DeliveryStreamArn ! : Value < string > ; IamRoleArn ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class EventDestination { SnsDestination ? : SnsDestination ; CloudWatchDestination ? : CloudWatchDestination ; Enabled ? : Value < boolean > ; MatchingEventTypes ! : List < Value < string > > ; PinpointDestination ? : PinpointDestination ; KinesisFirehoseDestination ? : KinesisFirehoseDestination ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface ConfigurationSetEventDestinationProperties { EventDestinationName : Value < string > ; ConfigurationSetName : Value < string > ; EventDestination ? : EventDestination ; } export default class ConfigurationSetEventDestination extends ResourceBase < ConfigurationSetEventDestinationProperties > { static DimensionConfiguration = DimensionConfiguration ; static CloudWatchDestination = CloudWatchDestination ; static SnsDestination = SnsDestination ; static PinpointDestination = PinpointDestination ; static KinesisFirehoseDestination = KinesisFirehoseDestination ; static EventDestination = EventDestination ; constructor ( properties ) { super ( 'AWS::PinpointEmail::ConfigurationSetEventDestination' , properties ) ; } }