import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class SsmParameter { Key ! : Value < string > ; Values ! : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class SsmAutomation { RoleArn ! : Value < string > ; DocumentName ! : Value < string > ; DocumentVersion ? : Value < string > ; TargetAccount ? : Value < string > ; Parameters ? : List < SsmParameter > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class Action { SsmAutomation ? : SsmAutomation ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class NotificationTargetItem { SnsTopicArn ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ChatChannel { ChatbotSns ? : List < Value < string > > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class IncidentTemplate { DedupeString ? : Value < string > ; Impact ! : Value < number > ; NotificationTargets ? : List < NotificationTargetItem > ; Summary ? : Value < string > ; Title ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface ResponsePlanProperties { Name : Value < string > ; DisplayName ? : Value < string > ; ChatChannel ? : ChatChannel ; Engagements ? : List < Value < string > > ; Actions ? : List < Action > ; Tags ? : List < ResourceTag > ; IncidentTemplate : IncidentTemplate ; } export default class ResponsePlan extends ResourceBase < ResponsePlanProperties > { static SsmParameter = SsmParameter ; static SsmAutomation = SsmAutomation ; static Action = Action ; static NotificationTargetItem = NotificationTargetItem ; static ChatChannel = ChatChannel ; static IncidentTemplate = IncidentTemplate ; constructor ( properties ) { super ( 'AWS::SSMIncidents::ResponsePlan' , properties ) ; } }