typed-aws
Version:
Helps you write AWS CloudFormation in TypeScript
189 lines (188 loc) • 9.09 kB
TypeScript
import { CfnResource, Resolvable } from '../../base';
export declare type GameServerGroup_Type = 'AWS::GameLift::GameServerGroup';
export declare const GameServerGroup_Type = "AWS::GameLift::GameServerGroup";
/**
* The AWS::GameLift::GameServerGroup resource creates an Amazon GameLift
* (GameLift) GameServerGroup. {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html}
*/
export default function GameServerGroup(props: GameServerGroup_Properties): CfnResource<GameServerGroup_Properties>;
/**
* The AWS::GameLift::GameServerGroup resource creates an Amazon GameLift
* (GameLift) GameServerGroup. {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html}
*/
export declare type GameServerGroup_Properties = {
AutoScalingGroupArn?: AutoScalingGroupArn;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-autoscalingpolicy}
*/
AutoScalingPolicy?: AutoScalingPolicy;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-balancingstrategy}
*/
BalancingStrategy?: BalancingStrategy;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-deleteoption}
*/
DeleteOption?: DeleteOption;
GameServerGroupArn?: GameServerGroupArn;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-gameservergroupname}
*/
GameServerGroupName: GameServerGroupName;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-gameserverprotectionpolicy}
*/
GameServerProtectionPolicy?: GameServerProtectionPolicy;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-instancedefinitions}
*/
InstanceDefinitions: InstanceDefinitions;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-launchtemplate}
*/
LaunchTemplate: LaunchTemplate;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-maxsize}
*/
MaxSize?: MaxSize;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-minsize}
*/
MinSize?: MinSize;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-rolearn}
*/
RoleArn: RoleArn;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-tags}
*/
Tags?: Tags;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html#cfn-gamelift-gameservergroup-vpcsubnets}
*/
VpcSubnets?: VpcSubnets;
};
/**
* Configuration settings to define a scaling policy for the Auto Scaling
* group that is optimized for game hosting {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-autoscalingpolicy.html}
*/
export declare type AutoScalingPolicy = {
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-autoscalingpolicy.html#cfn-gamelift-gameservergroup-autoscalingpolicy-estimatedinstancewarmup}
*/
EstimatedInstanceWarmup?: EstimatedInstanceWarmup;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-autoscalingpolicy.html#cfn-gamelift-gameservergroup-autoscalingpolicy-targettrackingconfiguration}
*/
TargetTrackingConfiguration: TargetTrackingConfiguration;
};
export declare type EstimatedInstanceWarmup = Resolvable<number>;
/**
* Settings for a target-based scaling policy applied to Auto Scaling
* group. {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-targettrackingconfiguration.html}
*/
export declare type TargetTrackingConfiguration = {
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-targettrackingconfiguration.html#cfn-gamelift-gameservergroup-targettrackingconfiguration-targetvalue}
*/
TargetValue: TargetValue;
};
export declare type TargetValue = Resolvable<number>;
export declare type BalancingStrategy = Resolvable<'SPOT_ONLY' | 'SPOT_PREFERRED' | 'ON_DEMAND_ONLY'>;
export declare type DeleteOption = Resolvable<'SAFE_DELETE' | 'FORCE_DELETE' | 'RETAIN'>;
export declare type GameServerGroupName = Resolvable<string>;
export declare type GameServerProtectionPolicy = Resolvable<'NO_PROTECTION' | 'FULL_PROTECTION'>;
export declare type GameServerGroupArn = Resolvable<string>;
export declare type InstanceDefinitions = InstanceDefinition[];
/**
* An allowed instance type for your game server group. {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-instancedefinition.html}
*/
export declare type InstanceDefinition = {
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-instancedefinition.html#cfn-gamelift-gameservergroup-instancedefinition-instancetype}
*/
InstanceType: InstanceType;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-instancedefinition.html#cfn-gamelift-gameservergroup-instancedefinition-weightedcapacity}
*/
WeightedCapacity?: WeightedCapacity;
};
export declare type InstanceType = Resolvable<string>;
export declare type WeightedCapacity = Resolvable<string>;
/**
* The EC2 launch template that contains configuration settings and game
* server code to be deployed to all instances in the game server group.
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-launchtemplate.html}
*/
export declare type LaunchTemplate = {
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-launchtemplate.html#cfn-gamelift-gameservergroup-launchtemplate-launchtemplateid}
*/
LaunchTemplateId?: LaunchTemplateId;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-launchtemplate.html#cfn-gamelift-gameservergroup-launchtemplate-launchtemplatename}
*/
LaunchTemplateName?: LaunchTemplateName;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-launchtemplate.html#cfn-gamelift-gameservergroup-launchtemplate-version}
*/
Version?: Version;
};
export declare type LaunchTemplateId = Resolvable<string>;
export declare type LaunchTemplateName = Resolvable<string>;
export declare type Version = Resolvable<string>;
export declare type MaxSize = Resolvable<number>;
export declare type MinSize = Resolvable<number>;
export declare type RoleArn = Resolvable<string>;
export declare type Tags = Tag[];
export declare type Tag = {
Key?: Resolvable<string>;
Value?: Resolvable<string>;
};
export declare type VpcSubnets = Resolvable<string>[];
export declare type GameServerGroup = {
AutoScalingGroupArn?: AutoScalingGroupArn;
BalancingStrategy?: BalancingStrategy;
CreationTime?: CreationTime;
GameServerGroupArn?: GameServerGroupArn;
GameServerGroupName?: GameServerGroupName;
GameServerProtectionPolicy?: GameServerProtectionPolicy;
InstanceDefinitions?: InstanceDefinitions;
LastUpdatedTime?: LastUpdatedTime;
RoleArn?: RoleArn;
Status?: Status;
StatusReason?: StatusReason;
SuspendedActions?: SuspendedActions;
};
export declare type AutoScalingGroupArn = Resolvable<string>;
export declare type CreationTime = Resolvable<string>;
export declare type LastUpdatedTime = Resolvable<string>;
export declare type Status = Resolvable<'NEW' | 'ACTIVATING' | 'ACTIVE' | 'DELETE_SCHEDULED' | 'DELETING' | 'DELETED' | 'ERROR'>;
export declare type StatusReason = Resolvable<string>;
export declare type SuspendedActions = Resolvable<'REPLACE_INSTANCE_TYPES'>[];