import { ResourceBase , ResourceTag } from '../resource' ; import { Value , List } from '../dataTypes' ; export class Alarm { AlarmName ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class AutoRollbackConfig { Alarms ! : List < Alarm > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class TrafficRoutingConfig { Type ! : Value < string > ; CanarySize ? : CapacitySize ; WaitIntervalInSeconds ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class DeploymentConfig { AutoRollbackConfiguration ? : AutoRollbackConfig ; BlueGreenUpdatePolicy ! : BlueGreenUpdatePolicy ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CapacitySize { Type ! : Value < string > ; Value ! : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VariantProperty { VariantPropertyType ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class BlueGreenUpdatePolicy { MaximumExecutionTimeoutInSeconds ? : Value < number > ; TerminationWaitInSeconds ? : Value < number > ; TrafficRoutingConfiguration ! : TrafficRoutingConfig ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface EndpointProperties { RetainAllVariantProperties ? : Value < boolean > ; EndpointName ? : Value < string > ; ExcludeRetainedVariantProperties ? : List < VariantProperty > ; EndpointConfigName : Value < string > ; DeploymentConfig ? : DeploymentConfig ; Tags ? : List < ResourceTag > ; } export default class Endpoint extends ResourceBase < EndpointProperties > { static Alarm = Alarm ; static AutoRollbackConfig = AutoRollbackConfig ; static TrafficRoutingConfig = TrafficRoutingConfig ; static DeploymentConfig = DeploymentConfig ; static CapacitySize = CapacitySize ; static VariantProperty = VariantProperty ; static BlueGreenUpdatePolicy = BlueGreenUpdatePolicy ; constructor ( properties ) { super ( 'AWS::SageMaker::Endpoint' , properties ) ; } }