import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class ContactTargetInfo { ContactId ! : Value < string > ; IsEssential ! : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Targets { ContactTargetInfo ? : ContactTargetInfo ; ChannelTargetInfo ? : ChannelTargetInfo ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ChannelTargetInfo { ChannelId ! : Value < string > ; RetryIntervalInMinutes ! : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Stage { DurationInMinutes ! : Value < number > ; Targets ? : List < Targets > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface ContactProperties { Alias : Value < string > ; DisplayName : Value < string > ; Type : Value < string > ; Plan : List < Stage > ; } export default class Contact extends ResourceBase < ContactProperties > { static ContactTargetInfo = ContactTargetInfo ; static Targets = Targets ; static ChannelTargetInfo = ChannelTargetInfo ; static Stage = Stage ; constructor ( properties ) { super ( 'AWS::SSMContacts::Contact' , properties ) ; } }