import { ResourceBase } from '../resource' ; import { Value , List } from '../dataTypes' ; export class LocationCapacity { DesiredEC2Instances ! : Value < number > ; MinSize ! : Value < number > ; MaxSize ! : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class CertificateConfiguration { CertificateType ! : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class LocationConfiguration { Location ! : Value < string > ; LocationCapacity ? : LocationCapacity ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class IpPermission { FromPort ! : Value < number > ; IpRange ! : Value < string > ; Protocol ! : Value < string > ; ToPort ! : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ServerProcess { ConcurrentExecutions ! : Value < number > ; LaunchPath ! : Value < string > ; Parameters ? : Value < string > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class ResourceCreationLimitPolicy { NewGameSessionsPerCreator ? : Value < number > ; PolicyPeriodInMinutes ? : Value < number > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export class RuntimeConfiguration { GameSessionActivationTimeoutSeconds ? : Value < number > ; MaxConcurrentGameSessionActivations ? : Value < number > ; ServerProcesses ? : List < ServerProcess > ; constructor ( properties ) { Object . assign ( this , properties ) ; } } export interface FleetProperties { CertificateConfiguration ? : CertificateConfiguration ; Description ? : Value < string > ; DesiredEC2Instances ? : Value < number > ; EC2InboundPermissions ? : List < IpPermission > ; EC2InstanceType ? : Value < string > ; FleetType ? : Value < string > ; InstanceRoleARN ? : Value < string > ; Locations ? : List < LocationConfiguration > ; MaxSize ? : Value < number > ; MetricGroups ? : List < Value < string > > ; MinSize ? : Value < number > ; Name ? : Value < string > ; NewGameSessionProtectionPolicy ? : Value < string > ; PeerVpcAwsAccountId ? : Value < string > ; PeerVpcId ? : Value < string > ; ResourceCreationLimitPolicy ? : ResourceCreationLimitPolicy ; BuildId ? : Value < string > ; ScriptId ? : Value < string > ; RuntimeConfiguration ? : RuntimeConfiguration ; LogPaths ? : List < Value < string > > ; ServerLaunchParameters ? : Value < string > ; ServerLaunchPath ? : Value < string > ; } export default class Fleet extends ResourceBase < FleetProperties > { static LocationCapacity = LocationCapacity ; static CertificateConfiguration = CertificateConfiguration ; static LocationConfiguration = LocationConfiguration ; static IpPermission = IpPermission ; static ServerProcess = ServerProcess ; static ResourceCreationLimitPolicy = ResourceCreationLimitPolicy ; static RuntimeConfiguration = RuntimeConfiguration ; constructor ( properties ? ) { super ( 'AWS::GameLift::Fleet' , properties || { } ) ; } }