UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1,102 lines 268 kB
import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { AliasReference, BuildReference, ContainerFleetReference, ContainerGroupDefinitionReference, FleetReference, GameServerGroupReference, GameSessionQueueReference, IAliasRef, IBuildRef, IContainerFleetRef, IContainerGroupDefinitionRef, IFleetRef, IGameServerGroupRef, IGameSessionQueueRef, ILocationRef, IMatchmakingConfigurationRef, IMatchmakingRuleSetRef, IScriptRef, LocationReference, MatchmakingConfigurationReference, MatchmakingRuleSetReference, ScriptReference } from "../../interfaces/generated/aws-gamelift-interfaces.generated"; /** * The `AWS::GameLift::Alias` resource creates an alias for an Amazon GameLift (GameLift) fleet destination. * * There are two types of routing strategies for aliases: simple and terminal. A simple alias points to an active fleet. A terminal alias displays a message instead of routing players to an active fleet. For example, a terminal alias might display a URL link that directs players to an upgrade site. You can use aliases to define destinations in a game session queue or when requesting new game sessions. * * @cloudformationResource AWS::GameLift::Alias * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html */ export declare class CfnAlias extends cdk.CfnResource implements cdk.IInspectable, IAliasRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnAlias from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnAlias; /** * Checks whether the given object is a CfnAlias */ static isCfnAlias(x: any): x is CfnAlias; /** * Creates a new IAliasRef from an ARN */ static fromAliasArn(scope: constructs.Construct, id: string, arn: string): IAliasRef; /** * Creates a new IAliasRef from a aliasId */ static fromAliasId(scope: constructs.Construct, id: string, aliasId: string): IAliasRef; static arnForAlias(resource: IAliasRef): string; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * A human-readable description of the alias. */ private _description?; /** * A descriptive label that is associated with an alias. */ private _name; /** * The routing configuration, including routing type and fleet target, for the alias. */ private _routingStrategy; /** * An array of key-value pairs to apply to this resource. */ private _tags?; /** * Create a new `AWS::GameLift::Alias`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnAliasProps); get aliasRef(): AliasReference; /** * A human-readable description of the alias. */ get description(): string | undefined; /** * A human-readable description of the alias. */ set description(value: string | undefined); /** * A descriptive label that is associated with an alias. */ get name(): string; /** * A descriptive label that is associated with an alias. */ set name(value: string); /** * The routing configuration, including routing type and fleet target, for the alias. */ get routingStrategy(): cdk.IResolvable | CfnAlias.RoutingStrategyProperty; /** * The routing configuration, including routing type and fleet target, for the alias. */ set routingStrategy(value: cdk.IResolvable | CfnAlias.RoutingStrategyProperty); /** * An array of key-value pairs to apply to this resource. */ get tags(): Array<cdk.CfnTag> | undefined; /** * An array of key-value pairs to apply to this resource. */ set tags(value: Array<cdk.CfnTag> | undefined); /** * The Amazon Resource Name ( [ARN](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html) ) that is assigned to a Amazon GameLift Servers alias resource and uniquely identifies it. ARNs are unique across all Regions. Format is `arn:aws:gamelift:<region>::alias/alias-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912` . In a GameLift alias ARN, the resource ID matches the alias ID value. * * @cloudformationAttribute AliasArn */ get attrAliasArn(): string; /** * A unique identifier for the alias. For example, `arn:aws:gamelift:us-west-1::alias/alias-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912` * * Alias IDs are unique within a Region. * * @cloudformationAttribute AliasId */ get attrAliasId(): string; protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnAlias { /** * The routing configuration for a fleet alias. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-alias-routingstrategy.html */ interface RoutingStrategyProperty { /** * A unique identifier for a fleet that the alias points to. * * If you specify `SIMPLE` for the `Type` property, you must specify this property. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-alias-routingstrategy.html#cfn-gamelift-alias-routingstrategy-fleetid */ readonly fleetId?: string; /** * The message text to be used with a terminal routing strategy. * * If you specify `TERMINAL` for the `Type` property, you must specify this property. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-alias-routingstrategy.html#cfn-gamelift-alias-routingstrategy-message */ readonly message?: string; /** * A type of routing strategy. * * Possible routing types include the following: * * - *SIMPLE* - The alias resolves to one specific fleet. Use this type when routing to active fleets. * - *TERMINAL* - The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a `TerminalRoutingStrategyException` with the message that you specified in the `Message` property. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-alias-routingstrategy.html#cfn-gamelift-alias-routingstrategy-type */ readonly type: string; } } /** * Properties for defining a `CfnAlias` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html */ export interface CfnAliasProps { /** * A human-readable description of the alias. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html#cfn-gamelift-alias-description */ readonly description?: string; /** * A descriptive label that is associated with an alias. * * Alias names do not need to be unique. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html#cfn-gamelift-alias-name */ readonly name: string; /** * The routing configuration, including routing type and fleet target, for the alias. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html#cfn-gamelift-alias-routingstrategy */ readonly routingStrategy: cdk.IResolvable | CfnAlias.RoutingStrategyProperty; /** * An array of key-value pairs to apply to this resource. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html#cfn-gamelift-alias-tags */ readonly tags?: Array<cdk.CfnTag>; } /** * The `AWS::GameLift::Build` resource creates a game server build that is installed and run on instances in an Amazon GameLift fleet. * * This resource points to an Amazon S3 location that contains a zip file with all of the components of the game server build. * * @cloudformationResource AWS::GameLift::Build * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html */ export declare class CfnBuild extends cdk.CfnResource implements cdk.IInspectable, IBuildRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnBuild from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnBuild; /** * Checks whether the given object is a CfnBuild */ static isCfnBuild(x: any): x is CfnBuild; /** * Creates a new IBuildRef from an ARN */ static fromBuildArn(scope: constructs.Construct, id: string, arn: string): IBuildRef; /** * Creates a new IBuildRef from a buildId */ static fromBuildId(scope: constructs.Construct, id: string, buildId: string): IBuildRef; static arnForBuild(resource: IBuildRef): string; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * A descriptive label that is associated with a build. */ private _name?; /** * The operating system that your game server binaries run on. */ private _operatingSystem?; /** * A server SDK version you used when integrating your game server build with Amazon GameLift Servers. */ private _serverSdkVersion?; /** * Information indicating where your game build files are stored. */ private _storageLocation?; /** * An array of key-value pairs to apply to this resource. */ private _tags?; /** * Version information that is associated with this build. */ private _version?; /** * Create a new `AWS::GameLift::Build`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props?: CfnBuildProps); get buildRef(): BuildReference; /** * A descriptive label that is associated with a build. */ get name(): string | undefined; /** * A descriptive label that is associated with a build. */ set name(value: string | undefined); /** * The operating system that your game server binaries run on. */ get operatingSystem(): string | undefined; /** * The operating system that your game server binaries run on. */ set operatingSystem(value: string | undefined); /** * A server SDK version you used when integrating your game server build with Amazon GameLift Servers. */ get serverSdkVersion(): string | undefined; /** * A server SDK version you used when integrating your game server build with Amazon GameLift Servers. */ set serverSdkVersion(value: string | undefined); /** * Information indicating where your game build files are stored. */ get storageLocation(): cdk.IResolvable | CfnBuild.StorageLocationProperty | undefined; /** * Information indicating where your game build files are stored. */ set storageLocation(value: cdk.IResolvable | CfnBuild.StorageLocationProperty | undefined); /** * An array of key-value pairs to apply to this resource. */ get tags(): Array<cdk.CfnTag> | undefined; /** * An array of key-value pairs to apply to this resource. */ set tags(value: Array<cdk.CfnTag> | undefined); /** * Version information that is associated with this build. */ get version(): string | undefined; /** * Version information that is associated with this build. */ set version(value: string | undefined); /** * The Amazon Resource Name ( [ARN](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html) ) that is assigned to a Amazon GameLift Servers build resource and uniquely identifies it. ARNs are unique across all Regions. Format is `arn:aws:gamelift:<region>::build/build-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912` . In a GameLift build ARN, the resource ID matches the *BuildId* value. * * @cloudformationAttribute BuildArn */ get attrBuildArn(): string; /** * A unique identifier for the build. * * @cloudformationAttribute BuildId */ get attrBuildId(): string; protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnBuild { /** * The location in Amazon S3 where build or script files are stored for access by Amazon GameLift. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-build-storagelocation.html */ interface StorageLocationProperty { /** * An Amazon S3 bucket identifier. The name of the S3 bucket. * * > Amazon GameLift doesn't support uploading from Amazon S3 buckets with names that contain a dot (.). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-build-storagelocation.html#cfn-gamelift-build-storagelocation-bucket */ readonly bucket: string; /** * The name of the zip file that contains the build files or script files. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-build-storagelocation.html#cfn-gamelift-build-storagelocation-key */ readonly key: string; /** * A version of a stored file to retrieve, if the object versioning feature is turned on for the S3 bucket. * * Use this parameter to specify a specific version. If this parameter isn't set, Amazon GameLift Servers retrieves the latest version of the file. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-build-storagelocation.html#cfn-gamelift-build-storagelocation-objectversion */ readonly objectVersion?: string; /** * The ARNfor an IAM role that allows Amazon GameLift to access the S3 bucket. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-build-storagelocation.html#cfn-gamelift-build-storagelocation-rolearn */ readonly roleArn: string; } } /** * Properties for defining a `CfnBuild` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html */ export interface CfnBuildProps { /** * A descriptive label that is associated with a build. * * Build names do not need to be unique. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html#cfn-gamelift-build-name */ readonly name?: string; /** * The operating system that your game server binaries run on. * * This value determines the type of fleet resources that you use for this build. If your game build contains multiple executables, they all must run on the same operating system. You must specify a valid operating system in this request. There is no default value. You can't change a build's operating system later. * * > Amazon Linux 2 (AL2) will reach end of support on 6/30/2025. See more details in the [Amazon Linux 2 FAQs](https://docs.aws.amazon.com/amazon-linux-2/faqs/) . For game servers that are hosted on AL2 and use server SDK version 4.x for Amazon GameLift Servers, first update the game server build to server SDK 5.x, and then deploy to AL2023 instances. See [Migrate to server SDK version 5.](https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-serversdk5-migration.html) * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html#cfn-gamelift-build-operatingsystem */ readonly operatingSystem?: string; /** * A server SDK version you used when integrating your game server build with Amazon GameLift Servers. * * For more information see [Integrate games with custom game servers](https://docs.aws.amazon.com/gamelift/latest/developerguide/integration-custom-intro.html) . By default Amazon GameLift Servers sets this value to `4.0.2` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html#cfn-gamelift-build-serversdkversion */ readonly serverSdkVersion?: string; /** * Information indicating where your game build files are stored. * * Use this parameter only when creating a build with files stored in an Amazon S3 bucket that you own. The storage location must specify an Amazon S3 bucket name and key. The location must also specify a role ARN that you set up to allow Amazon GameLift Servers to access your Amazon S3 bucket. The S3 bucket and your new build must be in the same Region. * * If a `StorageLocation` is specified, the size of your file can be found in your Amazon S3 bucket. Amazon GameLift Servers will report a `SizeOnDisk` of 0. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html#cfn-gamelift-build-storagelocation */ readonly storageLocation?: cdk.IResolvable | CfnBuild.StorageLocationProperty; /** * An array of key-value pairs to apply to this resource. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html#cfn-gamelift-build-tags */ readonly tags?: Array<cdk.CfnTag>; /** * Version information that is associated with this build. * * Version strings do not need to be unique. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html#cfn-gamelift-build-version */ readonly version?: string; } /** * The `AWS::GameLift::Fleet` resource creates an Amazon GameLift (GameLift) fleet to host custom game server or Realtime Servers. * * A fleet is a set of EC2 instances, configured with instructions to run game servers on each instance. * * @cloudformationResource AWS::GameLift::Fleet * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html */ export declare class CfnFleet extends cdk.CfnResource implements cdk.IInspectable, IFleetRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnFleet from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnFleet; /** * Checks whether the given object is a CfnFleet */ static isCfnFleet(x: any): x is CfnFleet; /** * Creates a new IFleetRef from an ARN */ static fromFleetArn(scope: constructs.Construct, id: string, arn: string): IFleetRef; /** * Creates a new IFleetRef from a fleetId */ static fromFleetId(scope: constructs.Construct, id: string, fleetId: string): IFleetRef; static arnForFleet(resource: IFleetRef): string; /** * Amazon GameLift Servers Anywhere configuration options. */ private _anywhereConfiguration?; /** * Current resource capacity settings for managed EC2 fleets and managed container fleets. */ private _applyCapacity?; /** * A unique identifier for a build to be deployed on the new fleet. */ private _buildId?; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * Prompts Amazon GameLift Servers to generate a TLS/SSL certificate for the fleet. */ private _certificateConfiguration?; /** * The type of compute resource used to host your game servers. */ private _computeType?; /** * A description for the fleet. */ private _description?; /** * [DEPRECATED] The number of EC2 instances that you want this fleet to host. * * @deprecated this property has been deprecated */ private _desiredEc2Instances?; /** * The IP address ranges and port settings that allow inbound traffic to access game server processes and other processes on this fleet. */ private _ec2InboundPermissions?; /** * The Amazon GameLift Servers-supported Amazon EC2 instance type to use with managed EC2 fleets. */ private _ec2InstanceType?; /** * Indicates whether to use On-Demand or Spot instances for this fleet. */ private _fleetType?; /** * A unique identifier for an IAM role that manages access to your AWS services. */ private _instanceRoleArn?; /** * Indicates that fleet instances maintain a shared credentials file for the IAM role defined in `InstanceRoleArn` . */ private _instanceRoleCredentialsProvider?; /** * A set of remote locations to deploy additional instances to and manage as a multi-location fleet. */ private _locations?; /** * This parameter is no longer used. * * @deprecated this property has been deprecated */ private _logPaths?; /** * [DEPRECATED] The maximum value that is allowed for the fleet's instance count. * * @deprecated this property has been deprecated */ private _maxSize?; /** * The name of an AWS CloudWatch metric group to add this fleet to. */ private _metricGroups?; /** * [DEPRECATED] The minimum value allowed for the fleet's instance count. * * @deprecated this property has been deprecated */ private _minSize?; /** * A descriptive label that is associated with a fleet. */ private _name; /** * The status of termination protection for active game sessions on the fleet. */ private _newGameSessionProtectionPolicy?; /** * Used when peering your Amazon GameLift Servers fleet with a VPC, the unique identifier for the AWS account that owns the VPC. */ private _peerVpcAwsAccountId?; /** * A unique identifier for a VPC with resources to be accessed by your Amazon GameLift Servers fleet. */ private _peerVpcId?; /** * Configuration for player gateway. */ private _playerGatewayConfiguration?; /** * The player gateway mode for the fleet. */ private _playerGatewayMode?; /** * A policy that limits the number of game sessions that an individual player can create on instances in this fleet within a specified span of time. */ private _resourceCreationLimitPolicy?; /** * Instructions for how to launch and maintain server processes on instances in the fleet. */ private _runtimeConfiguration?; /** * Rule that controls how a fleet is scaled. */ private _scalingPolicies?; /** * The unique identifier for a Realtime configuration script to be deployed on fleet instances. */ private _scriptId?; /** * This parameter is no longer used but is retained for backward compatibility. * * @deprecated this property has been deprecated */ private _serverLaunchParameters?; /** * This parameter is no longer used. * * @deprecated this property has been deprecated */ private _serverLaunchPath?; /** * An array of key-value pairs to apply to this resource. */ private _tags?; /** * Create a new `AWS::GameLift::Fleet`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnFleetProps); get fleetRef(): FleetReference; /** * Amazon GameLift Servers Anywhere configuration options. */ get anywhereConfiguration(): CfnFleet.AnywhereConfigurationProperty | cdk.IResolvable | undefined; /** * Amazon GameLift Servers Anywhere configuration options. */ set anywhereConfiguration(value: CfnFleet.AnywhereConfigurationProperty | cdk.IResolvable | undefined); /** * Current resource capacity settings for managed EC2 fleets and managed container fleets. */ get applyCapacity(): string | undefined; /** * Current resource capacity settings for managed EC2 fleets and managed container fleets. */ set applyCapacity(value: string | undefined); /** * A unique identifier for a build to be deployed on the new fleet. */ get buildId(): string | undefined; /** * A unique identifier for a build to be deployed on the new fleet. */ set buildId(value: string | undefined); /** * Prompts Amazon GameLift Servers to generate a TLS/SSL certificate for the fleet. */ get certificateConfiguration(): CfnFleet.CertificateConfigurationProperty | cdk.IResolvable | undefined; /** * Prompts Amazon GameLift Servers to generate a TLS/SSL certificate for the fleet. */ set certificateConfiguration(value: CfnFleet.CertificateConfigurationProperty | cdk.IResolvable | undefined); /** * The type of compute resource used to host your game servers. */ get computeType(): string | undefined; /** * The type of compute resource used to host your game servers. */ set computeType(value: string | undefined); /** * A description for the fleet. */ get description(): string | undefined; /** * A description for the fleet. */ set description(value: string | undefined); /** * [DEPRECATED] The number of EC2 instances that you want this fleet to host. * * @deprecated this property has been deprecated */ get desiredEc2Instances(): number | undefined; /** * [DEPRECATED] The number of EC2 instances that you want this fleet to host. * * @deprecated this property has been deprecated */ set desiredEc2Instances(value: number | undefined); /** * The IP address ranges and port settings that allow inbound traffic to access game server processes and other processes on this fleet. */ get ec2InboundPermissions(): Array<CfnFleet.IpPermissionProperty | cdk.IResolvable> | cdk.IResolvable | undefined; /** * The IP address ranges and port settings that allow inbound traffic to access game server processes and other processes on this fleet. */ set ec2InboundPermissions(value: Array<CfnFleet.IpPermissionProperty | cdk.IResolvable> | cdk.IResolvable | undefined); /** * The Amazon GameLift Servers-supported Amazon EC2 instance type to use with managed EC2 fleets. */ get ec2InstanceType(): string | undefined; /** * The Amazon GameLift Servers-supported Amazon EC2 instance type to use with managed EC2 fleets. */ set ec2InstanceType(value: string | undefined); /** * Indicates whether to use On-Demand or Spot instances for this fleet. */ get fleetType(): string | undefined; /** * Indicates whether to use On-Demand or Spot instances for this fleet. */ set fleetType(value: string | undefined); /** * A unique identifier for an IAM role that manages access to your AWS services. */ get instanceRoleArn(): string | undefined; /** * A unique identifier for an IAM role that manages access to your AWS services. */ set instanceRoleArn(value: string | undefined); /** * Indicates that fleet instances maintain a shared credentials file for the IAM role defined in `InstanceRoleArn` . */ get instanceRoleCredentialsProvider(): string | undefined; /** * Indicates that fleet instances maintain a shared credentials file for the IAM role defined in `InstanceRoleArn` . */ set instanceRoleCredentialsProvider(value: string | undefined); /** * A set of remote locations to deploy additional instances to and manage as a multi-location fleet. */ get locations(): Array<cdk.IResolvable | CfnFleet.LocationConfigurationProperty> | cdk.IResolvable | undefined; /** * A set of remote locations to deploy additional instances to and manage as a multi-location fleet. */ set locations(value: Array<cdk.IResolvable | CfnFleet.LocationConfigurationProperty> | cdk.IResolvable | undefined); /** * This parameter is no longer used. * * @deprecated this property has been deprecated */ get logPaths(): Array<string> | undefined; /** * This parameter is no longer used. * * @deprecated this property has been deprecated */ set logPaths(value: Array<string> | undefined); /** * [DEPRECATED] The maximum value that is allowed for the fleet's instance count. * * @deprecated this property has been deprecated */ get maxSize(): number | undefined; /** * [DEPRECATED] The maximum value that is allowed for the fleet's instance count. * * @deprecated this property has been deprecated */ set maxSize(value: number | undefined); /** * The name of an AWS CloudWatch metric group to add this fleet to. */ get metricGroups(): Array<string> | undefined; /** * The name of an AWS CloudWatch metric group to add this fleet to. */ set metricGroups(value: Array<string> | undefined); /** * [DEPRECATED] The minimum value allowed for the fleet's instance count. * * @deprecated this property has been deprecated */ get minSize(): number | undefined; /** * [DEPRECATED] The minimum value allowed for the fleet's instance count. * * @deprecated this property has been deprecated */ set minSize(value: number | undefined); /** * A descriptive label that is associated with a fleet. */ get name(): string; /** * A descriptive label that is associated with a fleet. */ set name(value: string); /** * The status of termination protection for active game sessions on the fleet. */ get newGameSessionProtectionPolicy(): string | undefined; /** * The status of termination protection for active game sessions on the fleet. */ set newGameSessionProtectionPolicy(value: string | undefined); /** * Used when peering your Amazon GameLift Servers fleet with a VPC, the unique identifier for the AWS account that owns the VPC. */ get peerVpcAwsAccountId(): string | undefined; /** * Used when peering your Amazon GameLift Servers fleet with a VPC, the unique identifier for the AWS account that owns the VPC. */ set peerVpcAwsAccountId(value: string | undefined); /** * A unique identifier for a VPC with resources to be accessed by your Amazon GameLift Servers fleet. */ get peerVpcId(): string | undefined; /** * A unique identifier for a VPC with resources to be accessed by your Amazon GameLift Servers fleet. */ set peerVpcId(value: string | undefined); /** * Configuration for player gateway. */ get playerGatewayConfiguration(): cdk.IResolvable | CfnFleet.PlayerGatewayConfigurationProperty | undefined; /** * Configuration for player gateway. */ set playerGatewayConfiguration(value: cdk.IResolvable | CfnFleet.PlayerGatewayConfigurationProperty | undefined); /** * The player gateway mode for the fleet. */ get playerGatewayMode(): string | undefined; /** * The player gateway mode for the fleet. */ set playerGatewayMode(value: string | undefined); /** * A policy that limits the number of game sessions that an individual player can create on instances in this fleet within a specified span of time. */ get resourceCreationLimitPolicy(): cdk.IResolvable | CfnFleet.ResourceCreationLimitPolicyProperty | undefined; /** * A policy that limits the number of game sessions that an individual player can create on instances in this fleet within a specified span of time. */ set resourceCreationLimitPolicy(value: cdk.IResolvable | CfnFleet.ResourceCreationLimitPolicyProperty | undefined); /** * Instructions for how to launch and maintain server processes on instances in the fleet. */ get runtimeConfiguration(): cdk.IResolvable | CfnFleet.RuntimeConfigurationProperty | undefined; /** * Instructions for how to launch and maintain server processes on instances in the fleet. */ set runtimeConfiguration(value: cdk.IResolvable | CfnFleet.RuntimeConfigurationProperty | undefined); /** * Rule that controls how a fleet is scaled. */ get scalingPolicies(): Array<cdk.IResolvable | CfnFleet.ScalingPolicyProperty> | cdk.IResolvable | undefined; /** * Rule that controls how a fleet is scaled. */ set scalingPolicies(value: Array<cdk.IResolvable | CfnFleet.ScalingPolicyProperty> | cdk.IResolvable | undefined); /** * The unique identifier for a Realtime configuration script to be deployed on fleet instances. */ get scriptId(): string | undefined; /** * The unique identifier for a Realtime configuration script to be deployed on fleet instances. */ set scriptId(value: string | undefined); /** * This parameter is no longer used but is retained for backward compatibility. * * @deprecated this property has been deprecated */ get serverLaunchParameters(): string | undefined; /** * This parameter is no longer used but is retained for backward compatibility. * * @deprecated this property has been deprecated */ set serverLaunchParameters(value: string | undefined); /** * This parameter is no longer used. * * @deprecated this property has been deprecated */ get serverLaunchPath(): string | undefined; /** * This parameter is no longer used. * * @deprecated this property has been deprecated */ set serverLaunchPath(value: string | undefined); /** * An array of key-value pairs to apply to this resource. */ get tags(): Array<cdk.CfnTag> | undefined; /** * An array of key-value pairs to apply to this resource. */ set tags(value: Array<cdk.CfnTag> | undefined); /** * The Amazon Resource Name ( [ARN](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html) ) that is assigned to a Amazon GameLift Servers fleet resource and uniquely identifies it. ARNs are unique across all Regions. Format is `arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912` . In a GameLift fleet ARN, the resource ID matches the `FleetId` value. * * @cloudformationAttribute FleetArn */ get attrFleetArn(): string; /** * A unique identifier for the fleet. * * @cloudformationAttribute FleetId */ get attrFleetId(): string; protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnFleet { /** * A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an instance in a fleet. * * New game sessions are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. Fleets with custom game builds must have permissions explicitly set. For Realtime Servers fleets, GameLift automatically opens two port ranges, one for TCP messaging and one for UDP. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ippermission.html */ interface IpPermissionProperty { /** * A starting value for a range of allowed port numbers. * * For fleets using Linux builds, only ports `22` and `1026-60000` are valid. * * For fleets using Windows builds, only ports `1026-60000` are valid. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ippermission.html#cfn-gamelift-fleet-ippermission-fromport */ readonly fromPort: number; /** * A range of allowed IP addresses. * * This value must be expressed in CIDR notation. Example: " `000.000.000.000/[subnet mask]` " or optionally the shortened version " `0.0.0.0/[subnet mask]` ". * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ippermission.html#cfn-gamelift-fleet-ippermission-iprange */ readonly ipRange: string; /** * The network communication protocol used by the fleet. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ippermission.html#cfn-gamelift-fleet-ippermission-protocol */ readonly protocol: string; /** * An ending value for a range of allowed port numbers. * * Port numbers are end-inclusive. This value must be equal to or greater than `FromPort` . * * For fleets using Linux builds, only ports `22` and `1026-60000` are valid. * * For fleets using Windows builds, only ports `1026-60000` are valid. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ippermission.html#cfn-gamelift-fleet-ippermission-toport */ readonly toPort: number; } /** * A remote location where a multi-location fleet can deploy game servers for game hosting. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-locationconfiguration.html */ interface LocationConfigurationProperty { /** * An AWS Region code, such as `us-west-2` . * * For a list of supported Regions and Local Zones, see [Amazon GameLift Servers service locations](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-regions.html) for managed hosting. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-locationconfiguration.html#cfn-gamelift-fleet-locationconfiguration-location */ readonly location: string; /** * Current resource capacity settings for managed EC2 fleets and managed container fleets. * * For multi-location fleets, location values might refer to a fleet's remote location or its home Region. * * *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-locationconfiguration.html#cfn-gamelift-fleet-locationconfiguration-locationcapacity */ readonly locationCapacity?: cdk.IResolvable | CfnFleet.LocationCapacityProperty; /** * The player gateway status for the location. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-locationconfiguration.html#cfn-gamelift-fleet-locationconfiguration-playergatewaystatus */ readonly playerGatewayStatus?: string; } /** * Current resource capacity settings for managed EC2 fleets and managed container fleets. * * For multi-location fleets, location values might refer to a fleet's remote location or its home Region. * * *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-locationcapacity.html */ interface LocationCapacityProperty { /** * The number of Amazon EC2 instances you want to maintain in the specified fleet location. * * This value must fall between the minimum and maximum size limits. Changes in desired instance value can take up to 1 minute to be reflected when viewing the fleet's capacity settings. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-locationcapacity.html#cfn-gamelift-fleet-locationcapacity-desiredec2instances */ readonly desiredEc2Instances?: number; /** * Configuration options for Amazon GameLift Servers-managed capacity behavior. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-locationcapacity.html#cfn-gamelift-fleet-locationcapacity-managedcapacityconfiguration */ readonly managedCapacityConfiguration?: cdk.IResolvable | CfnFleet.ManagedCapacityConfigurationProperty; /** * The maximum number of instances that are allowed in the specified fleet location. * * If this parameter is not set, the default is 1. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-locationcapacity.html#cfn-gamelift-fleet-locationcapacity-maxsize */ readonly maxSize: number; /** * The minimum number of instances that are allowed in the specified fleet location. * * If this parameter is not set, the default is 0. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-locationcapacity.html#cfn-gamelift-fleet-locationcapacity-minsize */ readonly minSize?: number; } /** * Configuration options for Amazon GameLift Servers-managed capacity behavior. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-managedcapacityconfiguration.html */ interface ManagedCapacityConfigurationProperty { /** * Length of time, in minutes, that Amazon GameLift Servers will wait before scaling in your MinSize and DesiredInstances to 0 after a period with no game session activity. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-managedcapacityconfiguration.html#cfn-gamelift-fleet-managedcapacityconfiguration-scaleinafterinactivityminutes */ readonly scaleInAfterInactivityMinutes?: number; /** * The strategy Amazon GameLift Servers will use to automatically scale your capacity to and from zero in response to game session activity. * * Game session activity refers to any active running sessions or game session requests. When set to SCALE_TO_AND_FROM_ZERO, MinSize must not be specified and will be managed automatically. When set to MANUAL, MinSize is required. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-managedcapacityconfiguration.html#cfn-gamelift-fleet-managedcapacityconfiguration-zerocapacitystrategy */ readonly zeroCapacityStrategy: string; } /** * A collection of server process configurations that describe the set of processes to run on each instance in a fleet. * * Server processes run either an executable in a custom game build or a Realtime Servers script. GameLift launches the configured processes, manages their life cycle, and replaces them as needed. Each instance checks regularly for an updated runtime configuration. * * A GameLift instance is limited to 50 processes running concurrently. To calculate the total number of processes in a runtime configuration, add the values of the `ConcurrentExecutions` parameter for each ServerProcess. Learn more about [Running Multiple Processes on a Fleet](https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-multiprocess.html) . * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-runtimeconfiguration.html */ interface RuntimeConfigurationProperty { /** * The maximum amount of time (in seconds) allowed to launch a new game session and have it report ready to host players. * * During this time, the game session is in status `ACTIVATING` . If the game session does not become active before the timeout, it is ended and the game session status is changed to `TERMINATED` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-runtimeconfiguration.html#cfn-gamelift-fleet-runtimeconfiguration-gamesessionactivationtimeoutseconds */ readonly gameSessionActivationTimeoutSeconds?: number; /** * The number of game sessions in status `ACTIVATING` to allow on an instance or compute. * * This setting limits the instance resources that can be used for new game activations at any one time. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-runtimeconfiguration.html#cfn-gamelift-fleet-runtimeconfiguration-maxconcurrentgamesessionactivations */ readonly maxConcurrentGameSessionActivations?: number; /** * A collection of server process configurations that identify what server processes to run on fleet computes. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-runtimeconfiguration.html#cfn-gamelift-fleet-runtimeconfiguration-serverprocesses */ readonly serverProcesses?: Array<cdk.IResolvable | CfnFleet.ServerProcessProperty> | cdk.IResolvable; } /** * A set of instructions for launching server processes on each instance in a fleet. * * Server processes run either an executable in a custom game build or a Realtime Servers script. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-serverprocess.html */ interface ServerProcessProperty { /** * The number of server processes using this configuration that run concurrently on each instance or compute. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws