import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class ProvisionedConcurrencyConfiguration { ProvisionedConcurrentExecutions ! : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class AliasRoutingConfiguration { AdditionalVersionWeights ! : List < VersionWeight > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class VersionWeight { FunctionVersion ! : Value < string > ; FunctionWeight ! : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface AliasProperties { Description ? : Value < string > ; FunctionName : Value < string > ; FunctionVersion : Value < string > ; Name : Value < string > ; ProvisionedConcurrencyConfig ? : ProvisionedConcurrencyConfiguration ; RoutingConfig ? : AliasRoutingConfiguration ; } export default class Alias extends ResourceBase < AliasProperties > { static ProvisionedConcurrencyConfiguration = ProvisionedConcurrencyConfiguration ; static AliasRoutingConfiguration = AliasRoutingConfiguration ; static VersionWeight = VersionWeight ; constructor ( properties ) { super ( 'AWS::Lambda::Alias' , properties ) ; } }