Source code for troposphere.gamelift

# Copyright (c) 2012-2024, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***


from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean, double, integer


[docs]class RoutingStrategy(AWSProperty): """ `RoutingStrategy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-alias-routingstrategy.html>`__ """ props: PropsDictType = { "FleetId": (str, False), "Message": (str, False), "Type": (str, True), }
[docs]class Alias(AWSObject): """ `Alias <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html>`__ """ resource_type = "AWS::GameLift::Alias" props: PropsDictType = { "Description": (str, False), "Name": (str, True), "RoutingStrategy": (RoutingStrategy, True), }
[docs]class StorageLocation(AWSProperty): """ `StorageLocation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-build-storagelocation.html>`__ """ props: PropsDictType = { "Bucket": (str, True), "Key": (str, True), "ObjectVersion": (str, False), "RoleArn": (str, True), }
[docs]class Build(AWSObject): """ `Build <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html>`__ """ resource_type = "AWS::GameLift::Build" props: PropsDictType = { "Name": (str, False), "OperatingSystem": (str, False), "ServerSdkVersion": (str, False), "StorageLocation": (StorageLocation, False), "Version": (str, False), }
[docs]class ContainerDependency(AWSProperty): """ `ContainerDependency <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerdependency.html>`__ """ props: PropsDictType = { "Condition": (str, True), "ContainerName": (str, True), }
[docs]class ContainerEnvironment(AWSProperty): """ `ContainerEnvironment <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerenvironment.html>`__ """ props: PropsDictType = { "Name": (str, True), "Value": (str, True), }
[docs]class ContainerHealthCheck(AWSProperty): """ `ContainerHealthCheck <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerhealthcheck.html>`__ """ props: PropsDictType = { "Command": ([str], True), "Interval": (integer, False), "Retries": (integer, False), "StartPeriod": (integer, False), "Timeout": (integer, False), }
[docs]class MemoryLimits(AWSProperty): """ `MemoryLimits <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-memorylimits.html>`__ """ props: PropsDictType = { "HardLimit": (integer, False), "SoftLimit": (integer, False), }
[docs]class ContainerPortRange(AWSProperty): """ `ContainerPortRange <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerportrange.html>`__ """ props: PropsDictType = { "FromPort": (integer, True), "Protocol": (str, True), "ToPort": (integer, True), }
[docs]class PortConfiguration(AWSProperty): """ `PortConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-portconfiguration.html>`__ """ props: PropsDictType = { "ContainerPortRanges": ([ContainerPortRange], True), }
[docs]class ContainerDefinition(AWSProperty): """ `ContainerDefinition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerdefinition.html>`__ """ props: PropsDictType = { "Command": ([str], False), "ContainerName": (str, True), "Cpu": (integer, False), "DependsOn": ([ContainerDependency], False), "EntryPoint": ([str], False), "Environment": ([ContainerEnvironment], False), "Essential": (boolean, False), "HealthCheck": (ContainerHealthCheck, False), "ImageUri": (str, True), "MemoryLimits": (MemoryLimits, False), "PortConfiguration": (PortConfiguration, False), "ResolvedImageDigest": (str, False), "WorkingDirectory": (str, False), }
[docs]class ContainerGroupDefinition(AWSObject): """ `ContainerGroupDefinition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containergroupdefinition.html>`__ """ resource_type = "AWS::GameLift::ContainerGroupDefinition" props: PropsDictType = { "ContainerDefinitions": ([ContainerDefinition], True), "Name": (str, True), "OperatingSystem": (str, True), "SchedulingStrategy": (str, False), "Tags": (Tags, False), "TotalCpuLimit": (integer, True), "TotalMemoryLimit": (integer, True), }
[docs]class AnywhereConfiguration(AWSProperty): """ `AnywhereConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-anywhereconfiguration.html>`__ """ props: PropsDictType = { "Cost": (str, True), }
[docs]class CertificateConfiguration(AWSProperty): """ `CertificateConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-certificateconfiguration.html>`__ """ props: PropsDictType = { "CertificateType": (str, True), }
[docs]class ConnectionPortRange(AWSProperty): """ `ConnectionPortRange <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-connectionportrange.html>`__ """ props: PropsDictType = { "FromPort": (integer, True), "ToPort": (integer, True), }
[docs]class ContainerGroupsPerInstance(AWSProperty): """ `ContainerGroupsPerInstance <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-containergroupsperinstance.html>`__ """ props: PropsDictType = { "DesiredReplicaContainerGroupsPerInstance": (integer, False), "MaxReplicaContainerGroupsPerInstance": (integer, False), }
[docs]class ContainerGroupsConfiguration(AWSProperty): """ `ContainerGroupsConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-containergroupsconfiguration.html>`__ """ props: PropsDictType = { "ConnectionPortRange": (ConnectionPortRange, True), "ContainerGroupDefinitionNames": ([str], True), "ContainerGroupsPerInstance": (ContainerGroupsPerInstance, False), }
[docs]class IpPermission(AWSProperty): """ `IpPermission <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ippermission.html>`__ """ props: PropsDictType = { "FromPort": (integer, True), "IpRange": (str, True), "Protocol": (str, True), "ToPort": (integer, True), }
[docs]class LocationCapacity(AWSProperty): """ `LocationCapacity <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-locationcapacity.html>`__ """ props: PropsDictType = { "DesiredEC2Instances": (integer, True), "MaxSize": (integer, True), "MinSize": (integer, True), }
[docs]class LocationConfiguration(AWSProperty): """ `LocationConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-locationconfiguration.html>`__ """ props: PropsDictType = { "Location": (str, True), "LocationCapacity": (LocationCapacity, False), }
[docs]class ResourceCreationLimitPolicy(AWSProperty): """ `ResourceCreationLimitPolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-resourcecreationlimitpolicy.html>`__ """ props: PropsDictType = { "NewGameSessionsPerCreator": (integer, False), "PolicyPeriodInMinutes": (integer, False), }
[docs]class ServerProcess(AWSProperty): """ `ServerProcess <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-serverprocess.html>`__ """ props: PropsDictType = { "ConcurrentExecutions": (integer, True), "LaunchPath": (str, True), "Parameters": (str, False), }
[docs]class RuntimeConfiguration(AWSProperty): """ `RuntimeConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-runtimeconfiguration.html>`__ """ props: PropsDictType = { "GameSessionActivationTimeoutSeconds": (integer, False), "MaxConcurrentGameSessionActivations": (integer, False), "ServerProcesses": ([ServerProcess], False), }
[docs]class TargetConfiguration(AWSProperty): """ `TargetConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-targetconfiguration.html>`__ """ props: PropsDictType = { "TargetValue": (double, True), }
[docs]class ScalingPolicy(AWSProperty): """ `ScalingPolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-scalingpolicy.html>`__ """ props: PropsDictType = { "ComparisonOperator": (str, False), "EvaluationPeriods": (integer, False), "Location": (str, False), "MetricName": (str, True), "Name": (str, True), "PolicyType": (str, False), "ScalingAdjustment": (integer, False), "ScalingAdjustmentType": (str, False), "Status": (str, False), "TargetConfiguration": (TargetConfiguration, False), "Threshold": (double, False), "UpdateStatus": (str, False), }
[docs]class Fleet(AWSObject): """ `Fleet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html>`__ """ resource_type = "AWS::GameLift::Fleet" props: PropsDictType = { "AnywhereConfiguration": (AnywhereConfiguration, False), "ApplyCapacity": (str, False), "BuildId": (str, False), "CertificateConfiguration": (CertificateConfiguration, False), "ComputeType": (str, False), "ContainerGroupsConfiguration": (ContainerGroupsConfiguration, False), "Description": (str, False), "DesiredEC2Instances": (integer, False), "EC2InboundPermissions": ([IpPermission], False), "EC2InstanceType": (str, False), "FleetType": (str, False), "InstanceRoleARN": (str, False), "InstanceRoleCredentialsProvider": (str, False), "Locations": ([LocationConfiguration], False), "MaxSize": (integer, False), "MetricGroups": ([str], False), "MinSize": (integer, False), "Name": (str, True), "NewGameSessionProtectionPolicy": (str, False), "PeerVpcAwsAccountId": (str, False), "PeerVpcId": (str, False), "ResourceCreationLimitPolicy": (ResourceCreationLimitPolicy, False), "RuntimeConfiguration": (RuntimeConfiguration, False), "ScalingPolicies": ([ScalingPolicy], False), "ScriptId": (str, False), }
[docs]class TargetTrackingConfiguration(AWSProperty): """ `TargetTrackingConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-targettrackingconfiguration.html>`__ """ props: PropsDictType = { "TargetValue": (double, True), }
[docs]class AutoScalingPolicy(AWSProperty): """ `AutoScalingPolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-autoscalingpolicy.html>`__ """ props: PropsDictType = { "EstimatedInstanceWarmup": (double, False), "TargetTrackingConfiguration": (TargetTrackingConfiguration, True), }
[docs]class InstanceDefinition(AWSProperty): """ `InstanceDefinition <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-instancedefinition.html>`__ """ props: PropsDictType = { "InstanceType": (str, True), "WeightedCapacity": (str, False), }
[docs]class LaunchTemplate(AWSProperty): """ `LaunchTemplate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gameservergroup-launchtemplate.html>`__ """ props: PropsDictType = { "LaunchTemplateId": (str, False), "LaunchTemplateName": (str, False), "Version": (str, False), }
[docs]class GameServerGroup(AWSObject): """ `GameServerGroup <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html>`__ """ resource_type = "AWS::GameLift::GameServerGroup" props: PropsDictType = { "AutoScalingPolicy": (AutoScalingPolicy, False), "BalancingStrategy": (str, False), "DeleteOption": (str, False), "GameServerGroupName": (str, True), "GameServerProtectionPolicy": (str, False), "InstanceDefinitions": ([InstanceDefinition], True), "LaunchTemplate": (LaunchTemplate, False), "MaxSize": (double, False), "MinSize": (double, False), "RoleArn": (str, True), "Tags": (Tags, False), "VpcSubnets": ([str], False), }
[docs]class FilterConfiguration(AWSProperty): """ `FilterConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-filterconfiguration.html>`__ """ props: PropsDictType = { "AllowedLocations": ([str], False), }
[docs]class GameSessionQueueDestination(AWSProperty): """ `GameSessionQueueDestination <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-gamesessionqueuedestination.html>`__ """ props: PropsDictType = { "DestinationArn": (str, False), }
[docs]class PlayerLatencyPolicy(AWSProperty): """ `PlayerLatencyPolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-playerlatencypolicy.html>`__ """ props: PropsDictType = { "MaximumIndividualPlayerLatencyMilliseconds": (integer, False), "PolicyDurationSeconds": (integer, False), }
[docs]class PriorityConfiguration(AWSProperty): """ `PriorityConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-priorityconfiguration.html>`__ """ props: PropsDictType = { "LocationOrder": ([str], False), "PriorityOrder": ([str], False), }
[docs]class GameSessionQueue(AWSObject): """ `GameSessionQueue <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html>`__ """ resource_type = "AWS::GameLift::GameSessionQueue" props: PropsDictType = { "CustomEventData": (str, False), "Destinations": ([GameSessionQueueDestination], False), "FilterConfiguration": (FilterConfiguration, False), "Name": (str, True), "NotificationTarget": (str, False), "PlayerLatencyPolicies": ([PlayerLatencyPolicy], False), "PriorityConfiguration": (PriorityConfiguration, False), "Tags": (Tags, False), "TimeoutInSeconds": (integer, False), }
[docs]class Location(AWSObject): """ `Location <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-location.html>`__ """ resource_type = "AWS::GameLift::Location" props: PropsDictType = { "LocationName": (str, True), "Tags": (Tags, False), }
[docs]class GameProperty(AWSProperty): """ `GameProperty <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-matchmakingconfiguration-gameproperty.html>`__ """ props: PropsDictType = { "Key": (str, True), "Value": (str, True), }
[docs]class MatchmakingConfiguration(AWSObject): """ `MatchmakingConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html>`__ """ resource_type = "AWS::GameLift::MatchmakingConfiguration" props: PropsDictType = { "AcceptanceRequired": (boolean, True), "AcceptanceTimeoutSeconds": (integer, False), "AdditionalPlayerCount": (integer, False), "BackfillMode": (str, False), "CreationTime": (str, False), "CustomEventData": (str, False), "Description": (str, False), "FlexMatchMode": (str, False), "GameProperties": ([GameProperty], False), "GameSessionData": (str, False), "GameSessionQueueArns": ([str], False), "Name": (str, True), "NotificationTarget": (str, False), "RequestTimeoutSeconds": (integer, True), "RuleSetArn": (str, False), "RuleSetName": (str, True), "Tags": (Tags, False), }
[docs]class MatchmakingRuleSet(AWSObject): """ `MatchmakingRuleSet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingruleset.html>`__ """ resource_type = "AWS::GameLift::MatchmakingRuleSet" props: PropsDictType = { "Name": (str, True), "RuleSetBody": (str, True), "Tags": (Tags, False), }
[docs]class S3Location(AWSProperty): """ `S3Location <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-script-s3location.html>`__ """ props: PropsDictType = { "Bucket": (str, True), "Key": (str, True), "ObjectVersion": (str, False), "RoleArn": (str, True), }
[docs]class Script(AWSObject): """ `Script <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html>`__ """ resource_type = "AWS::GameLift::Script" props: PropsDictType = { "Name": (str, False), "StorageLocation": (S3Location, True), "Tags": (Tags, False), "Version": (str, False), }