import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class DefaultPushNotificationTemplate { Action ? : Value < string > ; Title ? : Value < string > ; Sound ? : Value < string > ; Body ? : Value < string > ; Url ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class AndroidPushNotificationTemplate { Action ? : Value < string > ; ImageUrl ? : Value < string > ; SmallImageIconUrl ? : Value < string > ; Title ? : Value < string > ; ImageIconUrl ? : Value < string > ; Sound ? : Value < string > ; Body ? : Value < string > ; Url ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class APNSPushNotificationTemplate { Action ? : Value < string > ; MediaUrl ? : Value < string > ; Title ? : Value < string > ; Sound ? : Value < string > ; Body ? : Value < string > ; Url ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface PushTemplateProperties { GCM ? : AndroidPushNotificationTemplate ; Baidu ? : AndroidPushNotificationTemplate ; TemplateName : Value < string > ; ADM ? : AndroidPushNotificationTemplate ; APNS ? : APNSPushNotificationTemplate ; TemplateDescription ? : Value < string > ; DefaultSubstitutions ? : Value < string > ; Default ? : DefaultPushNotificationTemplate ; Tags ? : { [ key ] : any ; } ; } export default class PushTemplate extends ResourceBase < PushTemplateProperties > { static DefaultPushNotificationTemplate = DefaultPushNotificationTemplate ; static AndroidPushNotificationTemplate = AndroidPushNotificationTemplate ; static APNSPushNotificationTemplate = APNSPushNotificationTemplate ; constructor ( properties ) { super ( 'AWS::Pinpoint::PushTemplate' , properties ) ; } }