import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class SuspendedState { DynamicScalingInSuspended ? : Value < boolean > ; DynamicScalingOutSuspended ? : Value < boolean > ; ScheduledScalingSuspended ? : Value < boolean > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ScheduledAction { EndTime ? : Value < string > ; ScalableTargetAction ? : ScalableTargetAction ; Schedule ! : Value < string > ; ScheduledActionName ! : Value < string > ; StartTime ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ScalableTargetAction { MaxCapacity ? : Value < number > ; MinCapacity ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface ScalableTargetProperties { MaxCapacity : Value < number > ; MinCapacity : Value < number > ; ResourceId : Value < string > ; RoleARN : Value < string > ; ScalableDimension : Value < string > ; ScheduledActions ? : List < ScheduledAction > ; ServiceNamespace : Value < string > ; SuspendedState ? : SuspendedState ; } export default class ScalableTarget extends ResourceBase < ScalableTargetProperties > { static SuspendedState = SuspendedState ; static ScheduledAction = ScheduledAction ; static ScalableTargetAction = ScalableTargetAction ; constructor ( properties ) { super ( 'AWS::ApplicationAutoScaling::ScalableTarget' , properties ) ; } }