aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
2 lines • 185 kB
JavaScript
"use strict";var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k,_l;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnContainerGroupDefinition=exports.CfnContainerFleet=exports.CfnScript=exports.CfnMatchmakingRuleSet=exports.CfnMatchmakingConfiguration=exports.CfnLocation=exports.CfnGameSessionQueue=exports.CfnGameServerGroup=exports.CfnFleet=exports.CfnBuild=exports.CfnAlias=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var cdk=()=>{var tmp=require("../../core");return cdk=()=>tmp,tmp},cfn_parse=()=>{var tmp=require("../../core/lib/helpers-internal");return cfn_parse=()=>tmp,tmp},cdk_errors=()=>{var tmp=require("../../core/lib/errors");return cdk_errors=()=>tmp,tmp};class CfnAlias extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAliasPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnAlias(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}constructor(scope,id,props){super(scope,id,{type:CfnAlias.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_gamelift_CfnAliasProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAlias),error}cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"routingStrategy",this),this.attrAliasId=cdk().Token.asString(this.getAtt("AliasId",cdk().ResolutionTypeHint.STRING)),this.description=props.description,this.name=props.name,this.routingStrategy=props.routingStrategy}get cfnProperties(){return{description:this.description,name:this.name,routingStrategy:this.routingStrategy}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnAlias.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAliasPropsToCloudFormation(props)}}exports.CfnAlias=CfnAlias,_a=JSII_RTTI_SYMBOL_1,CfnAlias[_a]={fqn:"aws-cdk-lib.aws_gamelift.CfnAlias",version:"2.185.0"},CfnAlias.CFN_RESOURCE_TYPE_NAME="AWS::GameLift::Alias";function CfnAliasRoutingStrategyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fleetId",cdk().validateString)(properties.fleetId)),errors.collect(cdk().propertyValidator("message",cdk().validateString)(properties.message)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "RoutingStrategyProperty"')}function convertCfnAliasRoutingStrategyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAliasRoutingStrategyPropertyValidator(properties).assertSuccess(),{FleetId:cdk().stringToCloudFormation(properties.fleetId),Message:cdk().stringToCloudFormation(properties.message),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnAliasRoutingStrategyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fleetId","FleetId",properties.FleetId!=null?cfn_parse().FromCloudFormation.getString(properties.FleetId):void 0),ret.addPropertyResult("message","Message",properties.Message!=null?cfn_parse().FromCloudFormation.getString(properties.Message):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAliasPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("routingStrategy",cdk().requiredValidator)(properties.routingStrategy)),errors.collect(cdk().propertyValidator("routingStrategy",CfnAliasRoutingStrategyPropertyValidator)(properties.routingStrategy)),errors.wrap('supplied properties not correct for "CfnAliasProps"')}function convertCfnAliasPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAliasPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),RoutingStrategy:convertCfnAliasRoutingStrategyPropertyToCloudFormation(properties.routingStrategy)}):properties}function CfnAliasPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("routingStrategy","RoutingStrategy",properties.RoutingStrategy!=null?CfnAliasRoutingStrategyPropertyFromCloudFormation(properties.RoutingStrategy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnBuild extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnBuildPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnBuild(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}constructor(scope,id,props={}){super(scope,id,{type:CfnBuild.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_gamelift_CfnBuildProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnBuild),error}this.attrBuildId=cdk().Token.asString(this.getAtt("BuildId",cdk().ResolutionTypeHint.STRING)),this.name=props.name,this.operatingSystem=props.operatingSystem,this.serverSdkVersion=props.serverSdkVersion,this.storageLocation=props.storageLocation,this.version=props.version}get cfnProperties(){return{name:this.name,operatingSystem:this.operatingSystem,serverSdkVersion:this.serverSdkVersion,storageLocation:this.storageLocation,version:this.version}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnBuild.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnBuildPropsToCloudFormation(props)}}exports.CfnBuild=CfnBuild,_b=JSII_RTTI_SYMBOL_1,CfnBuild[_b]={fqn:"aws-cdk-lib.aws_gamelift.CfnBuild",version:"2.185.0"},CfnBuild.CFN_RESOURCE_TYPE_NAME="AWS::GameLift::Build";function CfnBuildStorageLocationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bucket",cdk().requiredValidator)(properties.bucket)),errors.collect(cdk().propertyValidator("bucket",cdk().validateString)(properties.bucket)),errors.collect(cdk().propertyValidator("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("objectVersion",cdk().validateString)(properties.objectVersion)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "StorageLocationProperty"')}function convertCfnBuildStorageLocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBuildStorageLocationPropertyValidator(properties).assertSuccess(),{Bucket:cdk().stringToCloudFormation(properties.bucket),Key:cdk().stringToCloudFormation(properties.key),ObjectVersion:cdk().stringToCloudFormation(properties.objectVersion),RoleArn:cdk().stringToCloudFormation(properties.roleArn)}):properties}function CfnBuildStorageLocationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bucket","Bucket",properties.Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.Bucket):void 0),ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("objectVersion","ObjectVersion",properties.ObjectVersion!=null?cfn_parse().FromCloudFormation.getString(properties.ObjectVersion):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBuildPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("operatingSystem",cdk().validateString)(properties.operatingSystem)),errors.collect(cdk().propertyValidator("serverSdkVersion",cdk().validateString)(properties.serverSdkVersion)),errors.collect(cdk().propertyValidator("storageLocation",CfnBuildStorageLocationPropertyValidator)(properties.storageLocation)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "CfnBuildProps"')}function convertCfnBuildPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBuildPropsValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),OperatingSystem:cdk().stringToCloudFormation(properties.operatingSystem),ServerSdkVersion:cdk().stringToCloudFormation(properties.serverSdkVersion),StorageLocation:convertCfnBuildStorageLocationPropertyToCloudFormation(properties.storageLocation),Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnBuildPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("operatingSystem","OperatingSystem",properties.OperatingSystem!=null?cfn_parse().FromCloudFormation.getString(properties.OperatingSystem):void 0),ret.addPropertyResult("serverSdkVersion","ServerSdkVersion",properties.ServerSdkVersion!=null?cfn_parse().FromCloudFormation.getString(properties.ServerSdkVersion):void 0),ret.addPropertyResult("storageLocation","StorageLocation",properties.StorageLocation!=null?CfnBuildStorageLocationPropertyFromCloudFormation(properties.StorageLocation):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnFleet extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFleetPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnFleet(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}constructor(scope,id,props){super(scope,id,{type:CfnFleet.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_gamelift_CfnFleetProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFleet),error}cdk().requireProperty(props,"name",this),this.attrFleetId=cdk().Token.asString(this.getAtt("FleetId",cdk().ResolutionTypeHint.STRING)),this.anywhereConfiguration=props.anywhereConfiguration,this.applyCapacity=props.applyCapacity,this.buildId=props.buildId,this.certificateConfiguration=props.certificateConfiguration,this.computeType=props.computeType,this.description=props.description,this.desiredEc2Instances=props.desiredEc2Instances,this.ec2InboundPermissions=props.ec2InboundPermissions,this.ec2InstanceType=props.ec2InstanceType,this.fleetType=props.fleetType,this.instanceRoleArn=props.instanceRoleArn,this.instanceRoleCredentialsProvider=props.instanceRoleCredentialsProvider,this.locations=props.locations,this.logPaths=props.logPaths,this.maxSize=props.maxSize,this.metricGroups=props.metricGroups,this.minSize=props.minSize,this.name=props.name,this.newGameSessionProtectionPolicy=props.newGameSessionProtectionPolicy,this.peerVpcAwsAccountId=props.peerVpcAwsAccountId,this.peerVpcId=props.peerVpcId,this.resourceCreationLimitPolicy=props.resourceCreationLimitPolicy,this.runtimeConfiguration=props.runtimeConfiguration,this.scalingPolicies=props.scalingPolicies,this.scriptId=props.scriptId,this.serverLaunchParameters=props.serverLaunchParameters,this.serverLaunchPath=props.serverLaunchPath}get cfnProperties(){return{anywhereConfiguration:this.anywhereConfiguration,applyCapacity:this.applyCapacity,buildId:this.buildId,certificateConfiguration:this.certificateConfiguration,computeType:this.computeType,description:this.description,desiredEc2Instances:this.desiredEc2Instances,ec2InboundPermissions:this.ec2InboundPermissions,ec2InstanceType:this.ec2InstanceType,fleetType:this.fleetType,instanceRoleArn:this.instanceRoleArn,instanceRoleCredentialsProvider:this.instanceRoleCredentialsProvider,locations:this.locations,logPaths:this.logPaths,maxSize:this.maxSize,metricGroups:this.metricGroups,minSize:this.minSize,name:this.name,newGameSessionProtectionPolicy:this.newGameSessionProtectionPolicy,peerVpcAwsAccountId:this.peerVpcAwsAccountId,peerVpcId:this.peerVpcId,resourceCreationLimitPolicy:this.resourceCreationLimitPolicy,runtimeConfiguration:this.runtimeConfiguration,scalingPolicies:this.scalingPolicies,scriptId:this.scriptId,serverLaunchParameters:this.serverLaunchParameters,serverLaunchPath:this.serverLaunchPath}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnFleet.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFleetPropsToCloudFormation(props)}}exports.CfnFleet=CfnFleet,_c=JSII_RTTI_SYMBOL_1,CfnFleet[_c]={fqn:"aws-cdk-lib.aws_gamelift.CfnFleet",version:"2.185.0"},CfnFleet.CFN_RESOURCE_TYPE_NAME="AWS::GameLift::Fleet";function CfnFleetIpPermissionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fromPort",cdk().requiredValidator)(properties.fromPort)),errors.collect(cdk().propertyValidator("fromPort",cdk().validateNumber)(properties.fromPort)),errors.collect(cdk().propertyValidator("ipRange",cdk().requiredValidator)(properties.ipRange)),errors.collect(cdk().propertyValidator("ipRange",cdk().validateString)(properties.ipRange)),errors.collect(cdk().propertyValidator("protocol",cdk().requiredValidator)(properties.protocol)),errors.collect(cdk().propertyValidator("protocol",cdk().validateString)(properties.protocol)),errors.collect(cdk().propertyValidator("toPort",cdk().requiredValidator)(properties.toPort)),errors.collect(cdk().propertyValidator("toPort",cdk().validateNumber)(properties.toPort)),errors.wrap('supplied properties not correct for "IpPermissionProperty"')}function convertCfnFleetIpPermissionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFleetIpPermissionPropertyValidator(properties).assertSuccess(),{FromPort:cdk().numberToCloudFormation(properties.fromPort),IpRange:cdk().stringToCloudFormation(properties.ipRange),Protocol:cdk().stringToCloudFormation(properties.protocol),ToPort:cdk().numberToCloudFormation(properties.toPort)}):properties}function CfnFleetIpPermissionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fromPort","FromPort",properties.FromPort!=null?cfn_parse().FromCloudFormation.getNumber(properties.FromPort):void 0),ret.addPropertyResult("ipRange","IpRange",properties.IpRange!=null?cfn_parse().FromCloudFormation.getString(properties.IpRange):void 0),ret.addPropertyResult("protocol","Protocol",properties.Protocol!=null?cfn_parse().FromCloudFormation.getString(properties.Protocol):void 0),ret.addPropertyResult("toPort","ToPort",properties.ToPort!=null?cfn_parse().FromCloudFormation.getNumber(properties.ToPort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFleetLocationCapacityPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("desiredEc2Instances",cdk().requiredValidator)(properties.desiredEc2Instances)),errors.collect(cdk().propertyValidator("desiredEc2Instances",cdk().validateNumber)(properties.desiredEc2Instances)),errors.collect(cdk().propertyValidator("maxSize",cdk().requiredValidator)(properties.maxSize)),errors.collect(cdk().propertyValidator("maxSize",cdk().validateNumber)(properties.maxSize)),errors.collect(cdk().propertyValidator("minSize",cdk().requiredValidator)(properties.minSize)),errors.collect(cdk().propertyValidator("minSize",cdk().validateNumber)(properties.minSize)),errors.wrap('supplied properties not correct for "LocationCapacityProperty"')}function convertCfnFleetLocationCapacityPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFleetLocationCapacityPropertyValidator(properties).assertSuccess(),{DesiredEC2Instances:cdk().numberToCloudFormation(properties.desiredEc2Instances),MaxSize:cdk().numberToCloudFormation(properties.maxSize),MinSize:cdk().numberToCloudFormation(properties.minSize)}):properties}function CfnFleetLocationCapacityPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("desiredEc2Instances","DesiredEC2Instances",properties.DesiredEC2Instances!=null?cfn_parse().FromCloudFormation.getNumber(properties.DesiredEC2Instances):void 0),ret.addPropertyResult("maxSize","MaxSize",properties.MaxSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxSize):void 0),ret.addPropertyResult("minSize","MinSize",properties.MinSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinSize):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFleetLocationConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("location",cdk().requiredValidator)(properties.location)),errors.collect(cdk().propertyValidator("location",cdk().validateString)(properties.location)),errors.collect(cdk().propertyValidator("locationCapacity",CfnFleetLocationCapacityPropertyValidator)(properties.locationCapacity)),errors.wrap('supplied properties not correct for "LocationConfigurationProperty"')}function convertCfnFleetLocationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFleetLocationConfigurationPropertyValidator(properties).assertSuccess(),{Location:cdk().stringToCloudFormation(properties.location),LocationCapacity:convertCfnFleetLocationCapacityPropertyToCloudFormation(properties.locationCapacity)}):properties}function CfnFleetLocationConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("location","Location",properties.Location!=null?cfn_parse().FromCloudFormation.getString(properties.Location):void 0),ret.addPropertyResult("locationCapacity","LocationCapacity",properties.LocationCapacity!=null?CfnFleetLocationCapacityPropertyFromCloudFormation(properties.LocationCapacity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFleetServerProcessPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("concurrentExecutions",cdk().requiredValidator)(properties.concurrentExecutions)),errors.collect(cdk().propertyValidator("concurrentExecutions",cdk().validateNumber)(properties.concurrentExecutions)),errors.collect(cdk().propertyValidator("launchPath",cdk().requiredValidator)(properties.launchPath)),errors.collect(cdk().propertyValidator("launchPath",cdk().validateString)(properties.launchPath)),errors.collect(cdk().propertyValidator("parameters",cdk().validateString)(properties.parameters)),errors.wrap('supplied properties not correct for "ServerProcessProperty"')}function convertCfnFleetServerProcessPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFleetServerProcessPropertyValidator(properties).assertSuccess(),{ConcurrentExecutions:cdk().numberToCloudFormation(properties.concurrentExecutions),LaunchPath:cdk().stringToCloudFormation(properties.launchPath),Parameters:cdk().stringToCloudFormation(properties.parameters)}):properties}function CfnFleetServerProcessPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("concurrentExecutions","ConcurrentExecutions",properties.ConcurrentExecutions!=null?cfn_parse().FromCloudFormation.getNumber(properties.ConcurrentExecutions):void 0),ret.addPropertyResult("launchPath","LaunchPath",properties.LaunchPath!=null?cfn_parse().FromCloudFormation.getString(properties.LaunchPath):void 0),ret.addPropertyResult("parameters","Parameters",properties.Parameters!=null?cfn_parse().FromCloudFormation.getString(properties.Parameters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFleetRuntimeConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("gameSessionActivationTimeoutSeconds",cdk().validateNumber)(properties.gameSessionActivationTimeoutSeconds)),errors.collect(cdk().propertyValidator("maxConcurrentGameSessionActivations",cdk().validateNumber)(properties.maxConcurrentGameSessionActivations)),errors.collect(cdk().propertyValidator("serverProcesses",cdk().listValidator(CfnFleetServerProcessPropertyValidator))(properties.serverProcesses)),errors.wrap('supplied properties not correct for "RuntimeConfigurationProperty"')}function convertCfnFleetRuntimeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFleetRuntimeConfigurationPropertyValidator(properties).assertSuccess(),{GameSessionActivationTimeoutSeconds:cdk().numberToCloudFormation(properties.gameSessionActivationTimeoutSeconds),MaxConcurrentGameSessionActivations:cdk().numberToCloudFormation(properties.maxConcurrentGameSessionActivations),ServerProcesses:cdk().listMapper(convertCfnFleetServerProcessPropertyToCloudFormation)(properties.serverProcesses)}):properties}function CfnFleetRuntimeConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("gameSessionActivationTimeoutSeconds","GameSessionActivationTimeoutSeconds",properties.GameSessionActivationTimeoutSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.GameSessionActivationTimeoutSeconds):void 0),ret.addPropertyResult("maxConcurrentGameSessionActivations","MaxConcurrentGameSessionActivations",properties.MaxConcurrentGameSessionActivations!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxConcurrentGameSessionActivations):void 0),ret.addPropertyResult("serverProcesses","ServerProcesses",properties.ServerProcesses!=null?cfn_parse().FromCloudFormation.getArray(CfnFleetServerProcessPropertyFromCloudFormation)(properties.ServerProcesses):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFleetAnywhereConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("cost",cdk().requiredValidator)(properties.cost)),errors.collect(cdk().propertyValidator("cost",cdk().validateString)(properties.cost)),errors.wrap('supplied properties not correct for "AnywhereConfigurationProperty"')}function convertCfnFleetAnywhereConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFleetAnywhereConfigurationPropertyValidator(properties).assertSuccess(),{Cost:cdk().stringToCloudFormation(properties.cost)}):properties}function CfnFleetAnywhereConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cost","Cost",properties.Cost!=null?cfn_parse().FromCloudFormation.getString(properties.Cost):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFleetResourceCreationLimitPolicyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("newGameSessionsPerCreator",cdk().validateNumber)(properties.newGameSessionsPerCreator)),errors.collect(cdk().propertyValidator("policyPeriodInMinutes",cdk().validateNumber)(properties.policyPeriodInMinutes)),errors.wrap('supplied properties not correct for "ResourceCreationLimitPolicyProperty"')}function convertCfnFleetResourceCreationLimitPolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFleetResourceCreationLimitPolicyPropertyValidator(properties).assertSuccess(),{NewGameSessionsPerCreator:cdk().numberToCloudFormation(properties.newGameSessionsPerCreator),PolicyPeriodInMinutes:cdk().numberToCloudFormation(properties.policyPeriodInMinutes)}):properties}function CfnFleetResourceCreationLimitPolicyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("newGameSessionsPerCreator","NewGameSessionsPerCreator",properties.NewGameSessionsPerCreator!=null?cfn_parse().FromCloudFormation.getNumber(properties.NewGameSessionsPerCreator):void 0),ret.addPropertyResult("policyPeriodInMinutes","PolicyPeriodInMinutes",properties.PolicyPeriodInMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.PolicyPeriodInMinutes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFleetCertificateConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("certificateType",cdk().requiredValidator)(properties.certificateType)),errors.collect(cdk().propertyValidator("certificateType",cdk().validateString)(properties.certificateType)),errors.wrap('supplied properties not correct for "CertificateConfigurationProperty"')}function convertCfnFleetCertificateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFleetCertificateConfigurationPropertyValidator(properties).assertSuccess(),{CertificateType:cdk().stringToCloudFormation(properties.certificateType)}):properties}function CfnFleetCertificateConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("certificateType","CertificateType",properties.CertificateType!=null?cfn_parse().FromCloudFormation.getString(properties.CertificateType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFleetTargetConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("targetValue",cdk().requiredValidator)(properties.targetValue)),errors.collect(cdk().propertyValidator("targetValue",cdk().validateNumber)(properties.targetValue)),errors.wrap('supplied properties not correct for "TargetConfigurationProperty"')}function convertCfnFleetTargetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFleetTargetConfigurationPropertyValidator(properties).assertSuccess(),{TargetValue:cdk().numberToCloudFormation(properties.targetValue)}):properties}function CfnFleetTargetConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("targetValue","TargetValue",properties.TargetValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.TargetValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFleetScalingPolicyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("comparisonOperator",cdk().validateString)(properties.comparisonOperator)),errors.collect(cdk().propertyValidator("evaluationPeriods",cdk().validateNumber)(properties.evaluationPeriods)),errors.collect(cdk().propertyValidator("location",cdk().validateString)(properties.location)),errors.collect(cdk().propertyValidator("metricName",cdk().requiredValidator)(properties.metricName)),errors.collect(cdk().propertyValidator("metricName",cdk().validateString)(properties.metricName)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("policyType",cdk().validateString)(properties.policyType)),errors.collect(cdk().propertyValidator("scalingAdjustment",cdk().validateNumber)(properties.scalingAdjustment)),errors.collect(cdk().propertyValidator("scalingAdjustmentType",cdk().validateString)(properties.scalingAdjustmentType)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("targetConfiguration",CfnFleetTargetConfigurationPropertyValidator)(properties.targetConfiguration)),errors.collect(cdk().propertyValidator("threshold",cdk().validateNumber)(properties.threshold)),errors.collect(cdk().propertyValidator("updateStatus",cdk().validateString)(properties.updateStatus)),errors.wrap('supplied properties not correct for "ScalingPolicyProperty"')}function convertCfnFleetScalingPolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFleetScalingPolicyPropertyValidator(properties).assertSuccess(),{ComparisonOperator:cdk().stringToCloudFormation(properties.comparisonOperator),EvaluationPeriods:cdk().numberToCloudFormation(properties.evaluationPeriods),Location:cdk().stringToCloudFormation(properties.location),MetricName:cdk().stringToCloudFormation(properties.metricName),Name:cdk().stringToCloudFormation(properties.name),PolicyType:cdk().stringToCloudFormation(properties.policyType),ScalingAdjustment:cdk().numberToCloudFormation(properties.scalingAdjustment),ScalingAdjustmentType:cdk().stringToCloudFormation(properties.scalingAdjustmentType),Status:cdk().stringToCloudFormation(properties.status),TargetConfiguration:convertCfnFleetTargetConfigurationPropertyToCloudFormation(properties.targetConfiguration),Threshold:cdk().numberToCloudFormation(properties.threshold),UpdateStatus:cdk().stringToCloudFormation(properties.updateStatus)}):properties}function CfnFleetScalingPolicyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("comparisonOperator","ComparisonOperator",properties.ComparisonOperator!=null?cfn_parse().FromCloudFormation.getString(properties.ComparisonOperator):void 0),ret.addPropertyResult("evaluationPeriods","EvaluationPeriods",properties.EvaluationPeriods!=null?cfn_parse().FromCloudFormation.getNumber(properties.EvaluationPeriods):void 0),ret.addPropertyResult("location","Location",properties.Location!=null?cfn_parse().FromCloudFormation.getString(properties.Location):void 0),ret.addPropertyResult("metricName","MetricName",properties.MetricName!=null?cfn_parse().FromCloudFormation.getString(properties.MetricName):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("policyType","PolicyType",properties.PolicyType!=null?cfn_parse().FromCloudFormation.getString(properties.PolicyType):void 0),ret.addPropertyResult("scalingAdjustment","ScalingAdjustment",properties.ScalingAdjustment!=null?cfn_parse().FromCloudFormation.getNumber(properties.ScalingAdjustment):void 0),ret.addPropertyResult("scalingAdjustmentType","ScalingAdjustmentType",properties.ScalingAdjustmentType!=null?cfn_parse().FromCloudFormation.getString(properties.ScalingAdjustmentType):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("targetConfiguration","TargetConfiguration",properties.TargetConfiguration!=null?CfnFleetTargetConfigurationPropertyFromCloudFormation(properties.TargetConfiguration):void 0),ret.addPropertyResult("threshold","Threshold",properties.Threshold!=null?cfn_parse().FromCloudFormation.getNumber(properties.Threshold):void 0),ret.addPropertyResult("updateStatus","UpdateStatus",properties.UpdateStatus!=null?cfn_parse().FromCloudFormation.getString(properties.UpdateStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFleetPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("anywhereConfiguration",CfnFleetAnywhereConfigurationPropertyValidator)(properties.anywhereConfiguration)),errors.collect(cdk().propertyValidator("applyCapacity",cdk().validateString)(properties.applyCapacity)),errors.collect(cdk().propertyValidator("buildId",cdk().validateString)(properties.buildId)),errors.collect(cdk().propertyValidator("certificateConfiguration",CfnFleetCertificateConfigurationPropertyValidator)(properties.certificateConfiguration)),errors.collect(cdk().propertyValidator("computeType",cdk().validateString)(properties.computeType)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("desiredEc2Instances",cdk().validateNumber)(properties.desiredEc2Instances)),errors.collect(cdk().propertyValidator("ec2InboundPermissions",cdk().listValidator(CfnFleetIpPermissionPropertyValidator))(properties.ec2InboundPermissions)),errors.collect(cdk().propertyValidator("ec2InstanceType",cdk().validateString)(properties.ec2InstanceType)),errors.collect(cdk().propertyValidator("fleetType",cdk().validateString)(properties.fleetType)),errors.collect(cdk().propertyValidator("instanceRoleArn",cdk().validateString)(properties.instanceRoleArn)),errors.collect(cdk().propertyValidator("instanceRoleCredentialsProvider",cdk().validateString)(properties.instanceRoleCredentialsProvider)),errors.collect(cdk().propertyValidator("locations",cdk().listValidator(CfnFleetLocationConfigurationPropertyValidator))(properties.locations)),errors.collect(cdk().propertyValidator("logPaths",cdk().listValidator(cdk().validateString))(properties.logPaths)),errors.collect(cdk().propertyValidator("maxSize",cdk().validateNumber)(properties.maxSize)),errors.collect(cdk().propertyValidator("metricGroups",cdk().listValidator(cdk().validateString))(properties.metricGroups)),errors.collect(cdk().propertyValidator("minSize",cdk().validateNumber)(properties.minSize)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("newGameSessionProtectionPolicy",cdk().validateString)(properties.newGameSessionProtectionPolicy)),errors.collect(cdk().propertyValidator("peerVpcAwsAccountId",cdk().validateString)(properties.peerVpcAwsAccountId)),errors.collect(cdk().propertyValidator("peerVpcId",cdk().validateString)(properties.peerVpcId)),errors.collect(cdk().propertyValidator("resourceCreationLimitPolicy",CfnFleetResourceCreationLimitPolicyPropertyValidator)(properties.resourceCreationLimitPolicy)),errors.collect(cdk().propertyValidator("runtimeConfiguration",CfnFleetRuntimeConfigurationPropertyValidator)(properties.runtimeConfiguration)),errors.collect(cdk().propertyValidator("scalingPolicies",cdk().listValidator(CfnFleetScalingPolicyPropertyValidator))(properties.scalingPolicies)),errors.collect(cdk().propertyValidator("scriptId",cdk().validateString)(properties.scriptId)),errors.collect(cdk().propertyValidator("serverLaunchParameters",cdk().validateString)(properties.serverLaunchParameters)),errors.collect(cdk().propertyValidator("serverLaunchPath",cdk().validateString)(properties.serverLaunchPath)),errors.wrap('supplied properties not correct for "CfnFleetProps"')}function convertCfnFleetPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFleetPropsValidator(properties).assertSuccess(),{AnywhereConfiguration:convertCfnFleetAnywhereConfigurationPropertyToCloudFormation(properties.anywhereConfiguration),ApplyCapacity:cdk().stringToCloudFormation(properties.applyCapacity),BuildId:cdk().stringToCloudFormation(properties.buildId),CertificateConfiguration:convertCfnFleetCertificateConfigurationPropertyToCloudFormation(properties.certificateConfiguration),ComputeType:cdk().stringToCloudFormation(properties.computeType),Description:cdk().stringToCloudFormation(properties.description),DesiredEC2Instances:cdk().numberToCloudFormation(properties.desiredEc2Instances),EC2InboundPermissions:cdk().listMapper(convertCfnFleetIpPermissionPropertyToCloudFormation)(properties.ec2InboundPermissions),EC2InstanceType:cdk().stringToCloudFormation(properties.ec2InstanceType),FleetType:cdk().stringToCloudFormation(properties.fleetType),InstanceRoleARN:cdk().stringToCloudFormation(properties.instanceRoleArn),InstanceRoleCredentialsProvider:cdk().stringToCloudFormation(properties.instanceRoleCredentialsProvider),Locations:cdk().listMapper(convertCfnFleetLocationConfigurationPropertyToCloudFormation)(properties.locations),LogPaths:cdk().listMapper(cdk().stringToCloudFormation)(properties.logPaths),MaxSize:cdk().numberToCloudFormation(properties.maxSize),MetricGroups:cdk().listMapper(cdk().stringToCloudFormation)(properties.metricGroups),MinSize:cdk().numberToCloudFormation(properties.minSize),Name:cdk().stringToCloudFormation(properties.name),NewGameSessionProtectionPolicy:cdk().stringToCloudFormation(properties.newGameSessionProtectionPolicy),PeerVpcAwsAccountId:cdk().stringToCloudFormation(properties.peerVpcAwsAccountId),PeerVpcId:cdk().stringToCloudFormation(properties.peerVpcId),ResourceCreationLimitPolicy:convertCfnFleetResourceCreationLimitPolicyPropertyToCloudFormation(properties.resourceCreationLimitPolicy),RuntimeConfiguration:convertCfnFleetRuntimeConfigurationPropertyToCloudFormation(properties.runtimeConfiguration),ScalingPolicies:cdk().listMapper(convertCfnFleetScalingPolicyPropertyToCloudFormation)(properties.scalingPolicies),ScriptId:cdk().stringToCloudFormation(properties.scriptId),ServerLaunchParameters:cdk().stringToCloudFormation(properties.serverLaunchParameters),ServerLaunchPath:cdk().stringToCloudFormation(properties.serverLaunchPath)}):properties}function CfnFleetPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("anywhereConfiguration","AnywhereConfiguration",properties.AnywhereConfiguration!=null?CfnFleetAnywhereConfigurationPropertyFromCloudFormation(properties.AnywhereConfiguration):void 0),ret.addPropertyResult("applyCapacity","ApplyCapacity",properties.ApplyCapacity!=null?cfn_parse().FromCloudFormation.getString(properties.ApplyCapacity):void 0),ret.addPropertyResult("buildId","BuildId",properties.BuildId!=null?cfn_parse().FromCloudFormation.getString(properties.BuildId):void 0),ret.addPropertyResult("certificateConfiguration","CertificateConfiguration",properties.CertificateConfiguration!=null?CfnFleetCertificateConfigurationPropertyFromCloudFormation(properties.CertificateConfiguration):void 0),ret.addPropertyResult("computeType","ComputeType",properties.ComputeType!=null?cfn_parse().FromCloudFormation.getString(properties.ComputeType):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("desiredEc2Instances","DesiredEC2Instances",properties.DesiredEC2Instances!=null?cfn_parse().FromCloudFormation.getNumber(properties.DesiredEC2Instances):void 0),ret.addPropertyResult("ec2InboundPermissions","EC2InboundPermissions",properties.EC2InboundPermissions!=null?cfn_parse().FromCloudFormation.getArray(CfnFleetIpPermissionPropertyFromCloudFormation)(properties.EC2InboundPermissions):void 0),ret.addPropertyResult("ec2InstanceType","EC2InstanceType",properties.EC2InstanceType!=null?cfn_parse().FromCloudFormation.getString(properties.EC2InstanceType):void 0),ret.addPropertyResult("fleetType","FleetType",properties.FleetType!=null?cfn_parse().FromCloudFormation.getString(properties.FleetType):void 0),ret.addPropertyResult("instanceRoleArn","InstanceRoleARN",properties.InstanceRoleARN!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceRoleARN):void 0),ret.addPropertyResult("instanceRoleCredentialsProvider","InstanceRoleCredentialsProvider",properties.InstanceRoleCredentialsProvider!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceRoleCredentialsProvider):void 0),ret.addPropertyResult("locations","Locations",properties.Locations!=null?cfn_parse().FromCloudFormation.getArray(CfnFleetLocationConfigurationPropertyFromCloudFormation)(properties.Locations):void 0),ret.addPropertyResult("logPaths","LogPaths",properties.LogPaths!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.LogPaths):void 0),ret.addPropertyResult("maxSize","MaxSize",properties.MaxSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxSize):void 0),ret.addPropertyResult("metricGroups","MetricGroups",properties.MetricGroups!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.MetricGroups):void 0),ret.addPropertyResult("minSize","MinSize",properties.MinSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinSize):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("newGameSessionProtectionPolicy","NewGameSessionProtectionPolicy",properties.NewGameSessionProtectionPolicy!=null?cfn_parse().FromCloudFormation.getString(properties.NewGameSessionProtectionPolicy):void 0),ret.addPropertyResult("peerVpcAwsAccountId","PeerVpcAwsAccountId",properties.PeerVpcAwsAccountId!=null?cfn_parse().FromCloudFormation.getString(properties.PeerVpcAwsAccountId):void 0),ret.addPropertyResult("peerVpcId","PeerVpcId",properties.PeerVpcId!=null?cfn_parse().FromCloudFormation.getString(properties.PeerVpcId):void 0),ret.addPropertyResult("resourceCreationLimitPolicy","ResourceCreationLimitPolicy",properties.ResourceCreationLimitPolicy!=null?CfnFleetResourceCreationLimitPolicyPropertyFromCloudFormation(properties.ResourceCreationLimitPolicy):void 0),ret.addPropertyResult("runtimeConfiguration","RuntimeConfiguration",properties.RuntimeConfiguration!=null?CfnFleetRuntimeConfigurationPropertyFromCloudFormation(properties.RuntimeConfiguration):void 0),ret.addPropertyResult("scalingPolicies","ScalingPolicies",properties.ScalingPolicies!=null?cfn_parse().FromCloudFormation.getArray(CfnFleetScalingPolicyPropertyFromCloudFormation)(properties.ScalingPolicies):void 0),ret.addPropertyResult("scriptId","ScriptId",properties.ScriptId!=null?cfn_parse().FromCloudFormation.getString(properties.ScriptId):void 0),ret.addPropertyResult("serverLaunchParameters","ServerLaunchParameters",properties.ServerLaunchParameters!=null?cfn_parse().FromCloudFormation.getString(properties.ServerLaunchParameters):void 0),ret.addPropertyResult("serverLaunchPath","ServerLaunchPath",properties.ServerLaunchPath!=null?cfn_parse().FromCloudFormation.getString(properties.ServerLaunchPath):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnGameServerGroup extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnGameServerGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnGameServerGroup(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}constructor(scope,id,props){super(scope,id,{type:CfnGameServerGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_gamelift_CfnGameServerGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnGameServerGroup),error}cdk().requireProperty(props,"gameServerGroupName",this),cdk().requireProperty(props,"instanceDefinitions",this),cdk().requireProperty(props,"roleArn",this),this.attrAutoScalingGroupArn=cdk().Token.asString(this.getAtt("AutoScalingGroupArn",cdk().ResolutionTypeHint.STRING)),this.attrGameServerGroupArn=cdk().Token.asString(this.getAtt("GameServerGroupArn",cdk().ResolutionTypeHint.STRING)),this.autoScalingPolicy=props.autoScalingPolicy,this.balancingStrategy=props.balancingStrategy,this.deleteOption=props.deleteOption,this.gameServerGroupName=props.gameServerGroupName,this.gameServerProtectionPolicy=props.gameServerProtectionPolicy,this.instanceDefinitions=props.instanceDefinitions,this.launchTemplate=props.launchTemplate,this.maxSize=props.maxSize,this.minSize=props.minSize,this.roleArn=props.roleArn,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::GameLift::GameServerGroup",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags,this.vpcSubnets=props.vpcSubnets}get cfnProperties(){return{autoScalingPolicy:this.autoScalingPolicy,balancingStrategy:this.balancingStrategy,deleteOption:this.deleteOption,gameServerGroupName:this.gameServerGroupName,gameServerProtectionPolicy:this.gameServerProtectionPolicy,instanceDefinitions:this.instanceDefinitions,launchTemplate:this.launchTemplate,maxSize:this.maxSize,minSize:this.minSize,roleArn:this.roleArn,tags:this.tags.renderTags(),vpcSubnets:this.vpcSubnets}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnGameServerGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnGameServerGroupPropsToCloudFormation(props)}}exports.CfnGameServerGroup=CfnGameServerGroup,_d=JSII_RTTI_SYMBOL_1,CfnGameServerGroup[_d]={fqn:"aws-cdk-lib.aws_gamelift.CfnGameServerGroup",version:"2.185.0"},CfnGameServerGroup.CFN_RESOURCE_TYPE_NAME="AWS::GameLift::GameServerGroup";function CfnGameServerGroupTargetTrackingConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("targetValue",cdk().requiredValidator)(properties.targetValue)),errors.collect(cdk().propertyValidator("targetValue",cdk().validateNumber)(properties.targetValue)),errors.wrap('supplied properties not correct for "TargetTrackingConfigurationProperty"')}function convertCfnGameServerGroupTargetTrackingConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGameServerGroupTargetTrackingConfigurationPropertyValidator(properties).assertSuccess(),{TargetValue:cdk().numberToCloudFormation(properties.targetValue)}):properties}function CfnGameServerGroupTargetTrackingConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("targetValue","TargetValue",properties.TargetValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.TargetValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGameServerGroupAutoScalingPolicyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("estimatedInstanceWarmup",cdk().validateNumber)(properties.estimatedInstanceWarmup)),errors.collect(cdk().propertyValidator("targetTrackingConfiguration",cdk().requiredValidator)(properties.targetTrackingConfiguration)),errors.collect(cdk().propertyValidator("targetTrackingConfiguration",CfnGameServerGroupTargetTrackingConfigurationPropertyValidator)(properties.targetTrackingConfiguration)),errors.wrap('supplied properties not correct for "AutoScalingPolicyProperty"')}function convertCfnGameServerGroupAutoScalingPolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGameServerGroupAutoScalingPolicyPropertyValidator(properties).assertSuccess(),{EstimatedInstanceWarmup:cdk().numberToCloudFormation(properties.estimatedInstanceWarmup),TargetTrackingConfiguration:convertCfnGameServerGroupTargetTrackingConfigurationPropertyToCloudFormation(properties.targetTrackingConfiguration)}):properties}function CfnGameServerGroupAutoScalingPolicyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("estimatedInstanceWarmup","EstimatedInstanceWarmup",properties.EstimatedInstanceWarmup!=null?cfn_parse().FromCloudFormation.getNumber(properties.EstimatedInstanceWarmup):void 0),ret.addPropertyResult("targetTrackingConfiguration","TargetTrackingConfiguration",properties.TargetTrackingConfiguration!=null?CfnGameServerGroupTargetTrackingConfigurationPropertyFromCloudFormation(properties.TargetTrackingConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGameServerGroupLaunchTemplatePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("launchTemplateId",cdk().validateString)(properties.launchTemplateId)),errors.collect(cdk().propertyValidator("launchTemplateName",cdk().validateString)(properties.launchTemplateName)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "LaunchTemplateProperty"')}function convertCfnGameServerGroupLaunchTemplatePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGameServerGroupLaunchTemplatePropertyValidator(properties).assertSuccess(),{LaunchTemplateId:cdk().stringToCloudFormation(properties.launchTemplateId),LaunchTemplateName:cdk().stringToCloudFormation(properties.launchTemplateName),Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnGameServerGroupLaunchTemplatePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("launchTemplateId","LaunchTemplateId",properties.LaunchTemplateId!=null?cfn_parse().FromCloudFormation.getString(properties.LaunchTemplateId):void 0),ret.addPropertyResult("launchTemplateName","LaunchTemplateName",properties.LaunchTemplateName!=null?cfn_parse().FromCloudFormation.getString(properties.LaunchTemplateName):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGameServerGroupInstanceDefinitionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("instanceType",cdk().requiredValidator)(properties.instanceType)),errors.collect(cdk().propertyValidator("instanceType",cdk().validateString)(properties.instanceType)),errors.collect(cdk().propertyValidator("weightedCapacity",cdk().validateString)(properties.weightedCapacity)),errors.wrap('supplied properties not correct for "InstanceDefinitionProperty"')}function convertCfnGameServerGroupInstanceDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGameServerGroupInstanceDefinitionPropertyValidator(properties).assertSuccess(),{InstanceType:cdk().stringToCloudFormation(properties.instanceType),WeightedCapacity:cdk().stringToCloudFormation(properties.weightedCapacity)}):properties}function CfnGameServerGroupInstanceDefinitionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("instanceType","InstanceType",properties.InstanceType!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceType):void 0),ret.addPropertyResult("weightedCapacity","WeightedCapacity",properties.WeightedCapacity!=null?cfn_parse().FromCloudFormation.getString(properties.WeightedCapacity):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGameServerGroupPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("autoScalingPolicy",CfnGameServerGroupAutoScalingPolicyPropertyValidator)(properties.autoScalingPolicy)),errors.collect(cdk().propertyValidator("balancingStrategy",cdk().validateString)(properties.balancingStrategy)),errors.collect(cdk().propertyValidator("deleteOption",cdk().validateString)(properties.deleteOption)),errors.collect(cdk().propertyValidator("gameServerGroupName",cdk().requiredValidator)(properties.gameServerGroupName)),errors.collect(cdk().propertyValidator("gameServerGroupName",cdk().validateString)(properties.gameServerGroupName)),errors.collect(cdk().propertyValidator("gameServerProtectionPolicy",cdk().validateString)(properties.gameServerProtectionPolicy)),errors.collect(cdk().propertyValidator("instanceDefinitions",cdk().requiredValidator)(properties.instanceDefinitions)),errors.collect(cdk().propertyValidator("instanceDefinitions",cdk().listValidator(CfnGameServerGroupInstanceDefinitionPropertyValidator))(properties.instanceDefinitions)),errors.collect(cdk().propertyValidator("launchTemplate",CfnGameServerGroupLaunchTemplatePropertyValidator)(properties.launchTemplate)),errors.collect(cdk().propertyValidator("maxSize",cdk().validateNumber)(properties.maxSize)),errors.collect(cdk().propertyValidator("minSize",cdk().validateNumber)(properties.minSize)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("vpcSubnets",cdk().listValidator(cdk().validateString))(properties.vpcSubnets)),errors.wrap('supplied properties not correct for "CfnGameServerGroupProps"')}function convertCfnGameServerGroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGameServerGroupPropsValidator(properties).assertSuccess(),{AutoScalingPolicy:convertCfnGameServerGroupAutoScalingPolicyPropertyToCloudFormation(properties.autoScalingPolicy),BalancingStrategy:cdk().stringToCloudFormation(properties.balancingStrategy),DeleteOption:cdk().stringToCloudFormation(properties.deleteOption),GameServerGroupName:cdk().stringToCloudFormation(properties.gameServerGroupName),GameServerProtectionPolicy:cdk().stringToCloudFormation(properties.gameServerProtectionPolicy),InstanceDefinitions:cdk().listMapper(convertCfnGameServerGroupInstanceDefinitionPropertyToCloudFormation)(properties.instanceDefinitions),LaunchTemplate:convertCfnGameServerGroupLaunchTemplatePropertyToCloudFormation(properties.launchTemplate),MaxSize:cdk().numberToCloudFormation(properties.maxSize),MinSize:cdk().numberToCloudFormation(properties.minSize),RoleArn:cdk().stringToCloudFormation(properties.roleArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),VpcSubnets:cdk().listMapper(cdk().stringToCloudFormation)(properties.vpcSubnets)}):properties}function CfnGameServerGroupPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("autoScalingPolicy","AutoScalingPolicy",properties.AutoScalingPolicy!=null?CfnGameServerGroupAutoScalingPolicyPropertyFromCloudFormation(properties.AutoScalingPolicy):void 0),ret.addPropertyResult("balancingStrategy","BalancingStrategy",properties.BalancingStrategy!=null?cfn_parse().FromCloudFormation.getString(properties.BalancingStrategy):void 0),ret.addPropertyResult("deleteOption","DeleteOption",properties.DeleteOption!=null?cfn_parse().FromCloudFormation.getString(properties.DeleteOption):void 0),ret.addPropertyResult("gameServerGroupName","GameServerGroupName",properties.GameServerGroupName!=null?cfn_parse().FromCloudFormation.getString(properties.GameServerGroupName):void 0),ret.addPropertyResult("gameServerProtectionPolicy","GameServerProtectionPolicy",properties.GameServerProtectionPolicy!=null?cfn_parse().FromCloudFormation.getString(properties.GameServerProtectionPolicy):void 0),ret.addPropertyResult("instanceDefinitions","InstanceDefinitions",properties.InstanceDefinitions!=null?cfn_parse().FromCloudFormation.getArray(CfnGameServerGroupInstanceDefinitionPropertyFromCloudFormation)(properties.InstanceDefinitions):void 0),ret.addPropertyResult("launchTemplate","LaunchTemplate",properties.LaunchTemplate!=null?CfnGameServerGroupLaunchTemplatePropertyFromCloudFormation(properties.LaunchTemplate):void 0),ret.addPropertyResult("maxSize","MaxSize",properties.MaxSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxSize):void 0),ret.addPropertyResult("minSize","MinSize",properties.MinSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinSize):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("vpcSubnets","VpcSubnets",properties.VpcSubnets!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.VpcSubnets):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnGameSessionQueue extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnGameSessionQueuePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnGameSessionQueue(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}constructor(scope,id,props){super(scope,id,{type:CfnGameSessionQueue.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_gamelift_CfnGameSessionQueueProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnGameSessionQueue),error}cdk().requireProperty(props,"name",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrName=cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING)),this.customEventData=props.customEventData,this.destinations=props.destinations,this.filterConfiguration=props.filterConfiguration,this.name=props.name,this.notificationTarget=props.notificationTarget,this.playerLatencyPolicies=props.playerLatencyPolicies,this.priorityConfiguration=props.priorityConfiguration,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::GameLift::GameSessionQueue",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags,this.timeoutInSeconds=props.timeoutInSeconds}get cfnProperties(){return{customEventData:this.customEventData,destinations:this.destinations,filterConfiguration:this.filterConfiguration,name:this.name,notificationTarget:this.notificationTarget,playerLatencyPolicies:this.playerLatencyPolicies,priorityConfiguration:this.priorityConfiguration,tags:this.tags.renderTags(),timeoutInSeconds:this.timeoutInSeconds}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnGameSessionQueue.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnGameSessionQueuePropsToCloudFormation(props)}}exports.CfnGameSessionQueue=CfnGameSessionQueue,_e=JSII_RTTI_SYMBOL_1,CfnGameSessionQueue[_e]={fqn:"aws-cdk-lib.aws_gamelift.CfnGameSessionQueue",version:"2.185.0"},CfnGameSessionQueue.CFN_RESOURCE_TYPE_NAME="AWS::GameLift::GameSessionQueue";function CfnGameSessionQueuePlayerLatencyPolicyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("maximumIndividualPlayerLatencyMilliseconds",cdk().validateNumber)(properties.maximumIndividualPlayerLatencyMilliseconds)),errors.collect(cdk().propertyValidator("policyDurationSeconds",cdk().validateNumber)(properties.policyDurationSeconds)),errors.wrap('supplied properties not correct for "PlayerLatencyPolicyProperty"')}function convertCfnGameSessionQueuePlayerLatencyPolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGameSessionQueuePlayerLatencyPolicyPropertyValidator(properties).assertSuccess(),{MaximumIndividualPlayerLatencyMilliseconds:cdk().numberToCloudFormation(properties.maximumIndividualPlayerLatencyMilliseconds),PolicyDurationSeconds:cdk().numberToCloudFormation(properties.policyDurationSeconds)}):properties}function CfnGameSessionQueuePlayerLatencyPolicyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("maximumIndividualPlayerLatencyMilliseconds","MaximumIndividualPlayerLatencyMilliseconds",properties.MaximumIndividualPlayerLatencyMilliseconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumIndividualPlayerLatencyMilliseconds):void 0),ret.addPropertyResult("policyDurationSeconds","PolicyDurationSeconds",properties.PolicyDurationSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.PolicyDurationSeconds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGameSessionQueueGameSessionQueueDestinationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destinationArn",cdk().validateString)(properties.destinationArn)),errors.wrap('supplied properties not correct for "GameSessionQueueDestinationProperty"')}function convertCfnGameSessionQueueGameSessionQueueDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGameSessionQueueGameSessionQueueDestinationPropertyValidator(properties).assertSuccess(),{DestinationArn:cdk().stringToCloudFormation(properties.destinationArn)}):properties}function CfnGameSessionQueueGameSessionQueueDestinationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destinationArn","DestinationArn",properties.DestinationArn!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGameSessionQueueDestinationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("destinationArn",cdk().validateString)(properties.destinationArn)),errors.wrap('supplied properties not correct for "DestinationProperty"')}function convertCfnGameSessionQueueDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGameSessionQueueDestinationPropertyValidator(properties).assertSuccess(),{DestinationArn:cdk().stringToCloudFormation(properties.destinationArn)}):properties}function CfnGameSessionQueueDestinationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("destinationArn","DestinationArn",properties.DestinationArn!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGameSessionQueueFilterConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("allowedLocations",cdk().listValidator(cdk().validateString))(properties.allowedLocations)),errors.wrap('supplied properties not correct for "FilterConfigurationProperty"')}function convertCfnGameSessionQueueFilterConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGameSessionQueueFilterConfigurationPropertyValidator(properties).assertSuccess(),{AllowedLocations:cdk().listMapper(cdk().stringToCloudFormation)(properties.allowedLocations)}):properties}function CfnGameSessionQueueFilterConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("allowedLocations","AllowedLocations",properties.AllowedLocations!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AllowedLocations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGameSessionQueuePriorityConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("locationOrder",cdk().listValidator(cdk().validateString))(properties.locationOrder)),errors.collect(cdk().propertyValidator("priorityOrder",cdk().listValidator(cdk().validateString))(properties.priorityOrder)),errors.wrap('supplied properties not correct for "PriorityConfigurationProperty"')}function convertCfnGameSessionQueuePriorityConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGameSessionQueuePriorityConfigurationPropertyValidator(properties).assertSuccess(),{LocationOrder:cdk().listMapper(cdk().stringToCloudFormation)(properties.locationOrder),PriorityOrder:cdk().listMapper(cdk().stringToCloudFormation)(properties.priorityOrder)}):properties}function CfnGameSessionQueuePriorityConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("locationOrder","LocationOrder",properties.LocationOrder!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.LocationOrder):void 0),ret.addPropertyResult("priorityOrder","PriorityOrder",properties.PriorityOrder!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.PriorityOrder):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGameSessionQueuePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("customEventData",cdk().validateString)(properties.customEventData)),errors.collect(cdk().propertyValidator("destinations",cdk().listValidator(CfnGameSessionQueueDestinationPropertyValidator))(properties.destinations)),errors.collect(cdk().propertyValidator("filterConfiguration",CfnGameSessionQueueFilterConfigurationPropertyValidator)(properties.filterConfiguration)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("notificationTarget",cdk().validateString)(properties.notificationTarget)),errors.collect(cdk().propertyValidator("playerLatencyPolicies",cdk().listValidator(CfnGameSessionQueuePlayerLatencyPolicyPropertyValidator))(properties.playerLatencyPolicies)),errors.collect(cdk().propertyValidator("priorityConfiguration",CfnGameSessionQueuePriorityConfigurationPropertyValidator)(properties.priorityConfiguration)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("timeoutInSeconds",cdk().validateNumber)(properties.timeoutInSeconds)),errors.wrap('supplied properties not correct for "CfnGameSessionQueueProps"')}function convertCfnGameSessionQueuePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGameSessionQueuePropsValidator(properties).assertSuccess(),{CustomEventData:cdk().stringToCloudFormation(properties.customEventData),Destinations:cdk().listMapper(convertCfnGameSessionQueueDestinationPropertyToCloudFormation)(properties.destinations),FilterConfiguration:convertCfnGameSessionQueueFilterConfigurationPropertyToCloudFormation(properties.filterConfiguration),Name:cdk().stringToCloudFormation(properties.name),NotificationTarget:cdk().stringToCloudFormation(properties.notificationTarget),PlayerLatencyPolicies:cdk().listMapper(convertCfnGameSessionQueuePlayerLatencyPolicyPropertyToCloudFormation)(properties.playerLatencyPolicies),PriorityConfiguration:convertCfnGameSessionQueuePriorityConfigurationPropertyToCloudFormation(properties.priorityConfiguration),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TimeoutInSeconds:cdk().numberToCloudFormation(properties.timeoutInSeconds)}):properties}function CfnGameSessionQueuePropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("customEventData","CustomEventData",properties.CustomEventData!=null?cfn_parse().FromCloudFormation.getString(properties.CustomEventData):void 0),ret.addPropertyResult("destinations","Destinations",properties.Destinations!=null?cfn_parse().FromCloudFormation.getArray(CfnGameSessionQueueDestinationPropertyFromCloudFormation)(properties.Destinations):void 0),ret.addPropertyResult("filterConfiguration","FilterConfiguration",properties.FilterConfiguration!=null?CfnGameSessionQueueFilterConfigurationPropertyFromCloudFormation(properties.FilterConfiguration):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("notificationTarget","NotificationTarget",properties.NotificationTarget!=null?cfn_parse().FromCloudFormation.getString(properties.NotificationTarget):void 0),ret.addPropertyResult("playerLatencyPolicies","PlayerLatencyPolicies",properties.PlayerLatencyPolicies!=null?cfn_parse().FromCloudFormation.getArray(CfnGameSessionQueuePlayerLatencyPolicyPropertyFromCloudFormation)(properties.PlayerLatencyPolicies):void 0),ret.addPropertyResult("priorityConfiguration","PriorityConfiguration",properties.PriorityConfiguration!=null?CfnGameSessionQueuePriorityConfigurationPropertyFromCloudFormation(properties.PriorityConfiguration):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("timeoutInSeconds","TimeoutInSeconds",properties.TimeoutInSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutInSeconds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnLocation extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLocationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnLocation(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}constructor(scope,id,props){super(scope,id,{type:CfnLocation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_gamelift_CfnLocationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLocation),error}cdk().requireProperty(props,"locationName",this),this.attrLocationArn=cdk().Token.asString(this.getAtt("LocationArn",cdk().ResolutionTypeHint.STRING)),this.locationName=props.locationName,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::GameLift::Location",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{locationName:this.locationName,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnLocation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLocationPropsToCloudFormation(props)}}exports.CfnLocation=CfnLocation,_f=JSII_RTTI_SYMBOL_1,CfnLocation[_f]={fqn:"aws-cdk-lib.aws_gamelift.CfnLocation",version:"2.185.0"},CfnLocation.CFN_RESOURCE_TYPE_NAME="AWS::GameLift::Location";function CfnLocationPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("locationName",cdk().requiredValidator)(properties.locationName)),errors.collect(cdk().propertyValidator("locationName",cdk().validateString)(properties.locationName)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnLocationProps"')}function convertCfnLocationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationPropsValidator(properties).assertSuccess(),{LocationName:cdk().stringToCloudFormation(properties.locationName),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnLocationPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("locationName","LocationName",properties.LocationName!=null?cfn_parse().FromCloudFormation.getString(properties.LocationName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnMatchmakingConfiguration extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnMatchmakingConfigurationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnMatchmakingConfiguration(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}constructor(scope,id,props){super(scope,id,{type:CfnMatchmakingConfiguration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_gamelift_CfnMatchmakingConfigurationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnMatchmakingConfiguration),error}cdk().requireProperty(props,"acceptanceRequired",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"requestTimeoutSeconds",this),cdk().requireProperty(props,"ruleSetName",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrName=cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING)),this.acceptanceRequired=props.acceptanceRequired,this.acceptanceTimeoutSeconds=props.acceptanceTimeoutSeconds,this.additionalPlayerCount=props.additionalPlayerCount,this.backfillMode=props.backfillMode,this.creationTime=props.creationTime,this.customEventData=props.customEventData,this.description=props.description,this.flexMatchMode=props.flexMatchMode,this.gameProperties=props.gameProperties,this.gameSessionData=props.gameSessionData,this.gameSessionQueueArns=props.gameSessionQueueArns,this.name=props.name,this.notificationTarget=props.notificationTarget,this.requestTimeoutSeconds=props.requestTimeoutSeconds,this.ruleSetArn=props.ruleSetArn,this.ruleSetName=props.ruleSetName,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::GameLift::MatchmakingConfiguration",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{acceptanceRequired:this.acceptanceRequired,acceptanceTimeoutSeconds:this.acceptanceTimeoutSeconds,additionalPlayerCount:this.additionalPlayerCount,backfillMode:this.backfillMode,creationTime:this.creationTime,customEventData:this.customEventData,description:this.description,flexMatchMode:this.flexMatchMode,gameProperties:this.gameProperties,gameSessionData:this.gameSessionData,gameSessionQueueArns:this.gameSessionQueueArns,name:this.name,notificationTarget:this.notificationTarget,requestTimeoutSeconds:this.requestTimeoutSeconds,ruleSetArn:this.ruleSetArn,ruleSetName:this.ruleSetName,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnMatchmakingConfiguration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnMatchmakingConfigurationPropsToCloudFormation(props)}}exports.CfnMatchmakingConfiguration=CfnMatchmakingConfiguration,_g=JSII_RTTI_SYMBOL_1,CfnMatchmakingConfiguration[_g]={fqn:"aws-cdk-lib.aws_gamelift.CfnMatchmakingConfiguration",version:"2.185.0"},CfnMatchmakingConfiguration.CFN_RESOURCE_TYPE_NAME="AWS::GameLift::MatchmakingConfiguration";function CfnMatchmakingConfigurationGamePropertyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "GamePropertyProperty"')}function convertCfnMatchmakingConfigurationGamePropertyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMatchmakingConfigurationGamePropertyPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnMatchmakingConfigurationGamePropertyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMatchmakingConfigurationPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("acceptanceRequired",cdk().requiredValidator)(properties.acceptanceRequired)),errors.collect(cdk().propertyValidator("acceptanceRequired",cdk().validateBoolean)(properties.acceptanceRequired)),errors.collect(cdk().propertyValidator("acceptanceTimeoutSeconds",cdk().validateNumber)(properties.acceptanceTimeoutSeconds)),errors.collect(cdk().propertyValidator("additionalPlayerCount",cdk().validateNumber)(properties.additionalPlayerCount)),errors.collect(cdk().propertyValidator("backfillMode",cdk().validateString)(properties.backfillMode)),errors.collect(cdk().propertyValidator("creationTime",cdk().validateString)(properties.creationTime)),errors.collect(cdk().propertyValidator("customEventData",cdk().validateString)(properties.customEventData)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("flexMatchMode",cdk().validateString)(properties.flexMatchMode)),errors.collect(cdk().propertyValidator("gameProperties",cdk().listValidator(CfnMatchmakingConfigurationGamePropertyPropertyValidator))(properties.gameProperties)),errors.collect(cdk().propertyValidator("gameSessionData",cdk().validateString)(properties.gameSessionData)),errors.collect(cdk().propertyValidator("gameSessionQueueArns",cdk().listValidator(cdk().validateString))(properties.gameSessionQueueArns)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("notificationTarget",cdk().validateString)(properties.notificationTarget)),errors.collect(cdk().propertyValidator("requestTimeoutSeconds",cdk().requiredValidator)(properties.requestTimeoutSeconds)),errors.collect(cdk().propertyValidator("requestTimeoutSeconds",cdk().validateNumber)(properties.requestTimeoutSeconds)),errors.collect(cdk().propertyValidator("ruleSetArn",cdk().validateString)(properties.ruleSetArn)),errors.collect(cdk().propertyValidator("ruleSetName",cdk().requiredValidator)(properties.ruleSetName)),errors.collect(cdk().propertyValidator("ruleSetName",cdk().validateString)(properties.ruleSetName)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnMatchmakingConfigurationProps"')}function convertCfnMatchmakingConfigurationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMatchmakingConfigurationPropsValidator(properties).assertSuccess(),{AcceptanceRequired:cdk().booleanToCloudFormation(properties.acceptanceRequired),AcceptanceTimeoutSeconds:cdk().numberToCloudFormation(properties.acceptanceTimeoutSeconds),AdditionalPlayerCount:cdk().numberToCloudFormation(properties.additionalPlayerCount),BackfillMode:cdk().stringToCloudFormation(properties.backfillMode),CreationTime:cdk().stringToCloudFormation(properties.creationTime),CustomEventData:cdk().stringToCloudFormation(properties.customEventData),Description:cdk().stringToCloudFormation(properties.description),FlexMatchMode:cdk().stringToCloudFormation(properties.flexMatchMode),GameProperties:cdk().listMapper(convertCfnMatchmakingConfigurationGamePropertyPropertyToCloudFormation)(properties.gameProperties),GameSessionData:cdk().stringToCloudFormation(properties.gameSessionData),GameSessionQueueArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.gameSessionQueueArns),Name:cdk().stringToCloudFormation(properties.name),NotificationTarget:cdk().stringToCloudFormation(properties.notificationTarget),RequestTimeoutSeconds:cdk().numberToCloudFormation(properties.requestTimeoutSeconds),RuleSetArn:cdk().stringToCloudFormation(properties.ruleSetArn),RuleSetName:cdk().stringToCloudFormation(properties.ruleSetName),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnMatchmakingConfigurationPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("acceptanceRequired","AcceptanceRequired",properties.AcceptanceRequired!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AcceptanceRequired):void 0),ret.addPropertyResult("acceptanceTimeoutSeconds","AcceptanceTimeoutSeconds",properties.AcceptanceTimeoutSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.AcceptanceTimeoutSeconds):void 0),ret.addPropertyResult("additionalPlayerCount","AdditionalPlayerCount",properties.AdditionalPlayerCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.AdditionalPlayerCount):void 0),ret.addPropertyResult("backfillMode","BackfillMode",properties.BackfillMode!=null?cfn_parse().FromCloudFormation.getString(properties.BackfillMode):void 0),ret.addPropertyResult("creationTime","CreationTime",properties.CreationTime!=null?cfn_parse().FromCloudFormation.getString(properties.CreationTime):void 0),ret.addPropertyResult("customEventData","CustomEventData",properties.CustomEventData!=null?cfn_parse().FromCloudFormation.getString(properties.CustomEventData):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("flexMatchMode","FlexMatchMode",properties.FlexMatchMode!=null?cfn_parse().FromCloudFormation.getString(properties.FlexMatchMode):void 0),ret.addPropertyResult("gameProperties","GameProperties",properties.GameProperties!=null?cfn_parse().FromCloudFormation.getArray(CfnMatchmakingConfigurationGamePropertyPropertyFromCloudFormation)(properties.GameProperties):void 0),ret.addPropertyResult("gameSessionData","GameSessionData",properties.GameSessionData!=null?cfn_parse().FromCloudFormation.getString(properties.GameSessionData):void 0),ret.addPropertyResult("gameSessionQueueArns","GameSessionQueueArns",properties.GameSessionQueueArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.GameSessionQueueArns):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("notificationTarget","NotificationTarget",properties.NotificationTarget!=null?cfn_parse().FromCloudFormation.getString(properties.NotificationTarget):void 0),ret.addPropertyResult("requestTimeoutSeconds","RequestTimeoutSeconds",properties.RequestTimeoutSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.RequestTimeoutSeconds):void 0),ret.addPropertyResult("ruleSetArn","RuleSetArn",properties.RuleSetArn!=null?cfn_parse().FromCloudFormation.getString(properties.RuleSetArn):void 0),ret.addPropertyResult("ruleSetName","RuleSetName",properties.RuleSetName!=null?cfn_parse().FromCloudFormation.getString(properties.RuleSetName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnMatchmakingRuleSet extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnMatchmakingRuleSetPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnMatchmakingRuleSet(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}constructor(scope,id,props){super(scope,id,{type:CfnMatchmakingRuleSet.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_gamelift_CfnMatchmakingRuleSetProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnMatchmakingRuleSet),error}cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"ruleSetBody",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrCreationTime=cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING)),this.attrName=cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING)),this.name=props.name,this.ruleSetBody=props.ruleSetBody,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::GameLift::MatchmakingRuleSet",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags}get cfnProperties(){return{name:this.name,ruleSetBody:this.ruleSetBody,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnMatchmakingRuleSet.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnMatchmakingRuleSetPropsToCloudFormation(props)}}exports.CfnMatchmakingRuleSet=CfnMatchmakingRuleSet,_h=JSII_RTTI_SYMBOL_1,CfnMatchmakingRuleSet[_h]={fqn:"aws-cdk-lib.aws_gamelift.CfnMatchmakingRuleSet",version:"2.185.0"},CfnMatchmakingRuleSet.CFN_RESOURCE_TYPE_NAME="AWS::GameLift::MatchmakingRuleSet";function CfnMatchmakingRuleSetPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("ruleSetBody",cdk().requiredValidator)(properties.ruleSetBody)),errors.collect(cdk().propertyValidator("ruleSetBody",cdk().validateString)(properties.ruleSetBody)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnMatchmakingRuleSetProps"')}function convertCfnMatchmakingRuleSetPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnMatchmakingRuleSetPropsValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),RuleSetBody:cdk().stringToCloudFormation(properties.ruleSetBody),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnMatchmakingRuleSetPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("ruleSetBody","RuleSetBody",properties.RuleSetBody!=null?cfn_parse().FromCloudFormation.getString(properties.RuleSetBody):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnScript extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnScriptPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnScript(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}constructor(scope,id,props){super(scope,id,{type:CfnScript.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_gamelift_CfnScriptProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnScript),error}cdk().requireProperty(props,"storageLocation",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrCreationTime=cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrSizeOnDisk=cdk().Token.asNumber(this.getAtt("SizeOnDisk",cdk().ResolutionTypeHint.NUMBER)),this.name=props.name,this.storageLocation=props.storageLocation,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::GameLift::Script",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags,this.version=props.version}get cfnProperties(){return{name:this.name,storageLocation:this.storageLocation,tags:this.tags.renderTags(),version:this.version}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnScript.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnScriptPropsToCloudFormation(props)}}exports.CfnScript=CfnScript,_j=JSII_RTTI_SYMBOL_1,CfnScript[_j]={fqn:"aws-cdk-lib.aws_gamelift.CfnScript",version:"2.185.0"},CfnScript.CFN_RESOURCE_TYPE_NAME="AWS::GameLift::Script";function CfnScriptS3LocationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bucket",cdk().requiredValidator)(properties.bucket)),errors.collect(cdk().propertyValidator("bucket",cdk().validateString)(properties.bucket)),errors.collect(cdk().propertyValidator("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("objectVersion",cdk().validateString)(properties.objectVersion)),errors.collect(cdk().propertyValidator("roleArn",cdk().requiredValidator)(properties.roleArn)),errors.collect(cdk().propertyValidator("roleArn",cdk().validateString)(properties.roleArn)),errors.wrap('supplied properties not correct for "S3LocationProperty"')}function convertCfnScriptS3LocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnScriptS3LocationPropertyValidator(properties).assertSuccess(),{Bucket:cdk().stringToCloudFormation(properties.bucket),Key:cdk().stringToCloudFormation(properties.key),ObjectVersion:cdk().stringToCloudFormation(properties.objectVersion),RoleArn:cdk().stringToCloudFormation(properties.roleArn)}):properties}function CfnScriptS3LocationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bucket","Bucket",properties.Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.Bucket):void 0),ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("objectVersion","ObjectVersion",properties.ObjectVersion!=null?cfn_parse().FromCloudFormation.getString(properties.ObjectVersion):void 0),ret.addPropertyResult("roleArn","RoleArn",properties.RoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnScriptPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("storageLocation",cdk().requiredValidator)(properties.storageLocation)),errors.collect(cdk().propertyValidator("storageLocation",CfnScriptS3LocationPropertyValidator)(properties.storageLocation)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "CfnScriptProps"')}function convertCfnScriptPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnScriptPropsValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),StorageLocation:convertCfnScriptS3LocationPropertyToCloudFormation(properties.storageLocation),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnScriptPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("storageLocation","StorageLocation",properties.StorageLocation!=null?CfnScriptS3LocationPropertyFromCloudFormation(properties.StorageLocation):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnContainerFleet extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnContainerFleetPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnContainerFleet(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}constructor(scope,id,props){super(scope,id,{type:CfnContainerFleet.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_gamelift_CfnContainerFleetProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnContainerFleet),error}cdk().requireProperty(props,"fleetRoleArn",this),this.attrCreationTime=cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING)),this.attrDeploymentDetails=this.getAtt("DeploymentDetails"),this.attrFleetArn=cdk().Token.asString(this.getAtt("FleetArn",cdk().ResolutionTypeHint.STRING)),this.attrFleetId=cdk().Token.asString(this.getAtt("FleetId",cdk().ResolutionTypeHint.STRING)),this.attrGameServerContainerGroupDefinitionArn=cdk().Token.asString(this.getAtt("GameServerContainerGroupDefinitionArn",cdk().ResolutionTypeHint.STRING)),this.attrMaximumGameServerContainerGroupsPerInstance=cdk().Token.asNumber(this.getAtt("MaximumGameServerContainerGroupsPerInstance",cdk().ResolutionTypeHint.NUMBER)),this.attrPerInstanceContainerGroupDefinitionArn=cdk().Token.asString(this.getAtt("PerInstanceContainerGroupDefinitionArn",cdk().ResolutionTypeHint.STRING)),this.attrStatus=cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING)),this.billingType=props.billingType,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::GameLift::ContainerFleet",void 0,{tagPropertyName:"tags"}),this.deploymentConfiguration=props.deploymentConfiguration,this.description=props.description,this.fleetRoleArn=props.fleetRoleArn,this.gameServerContainerGroupDefinitionName=props.gameServerContainerGroupDefinitionName,this.gameServerContainerGroupsPerInstance=props.gameServerContainerGroupsPerInstance,this.gameSessionCreationLimitPolicy=props.gameSessionCreationLimitPolicy,this.instanceConnectionPortRange=props.instanceConnectionPortRange,this.instanceInboundPermissions=props.instanceInboundPermissions,this.instanceType=props.instanceType,this.locations=props.locations,this.logConfiguration=props.logConfiguration,this.metricGroups=props.metricGroups,this.newGameSessionProtectionPolicy=props.newGameSessionProtectionPolicy,this.perInstanceContainerGroupDefinitionName=props.perInstanceContainerGroupDefinitionName,this.scalingPolicies=props.scalingPolicies,this.tags=props.tags}get cfnProperties(){return{billingType:this.billingType,tags:this.cdkTagManager.renderTags(this.tags),deploymentConfiguration:this.deploymentConfiguration,description:this.description,fleetRoleArn:this.fleetRoleArn,gameServerContainerGroupDefinitionName:this.gameServerContainerGroupDefinitionName,gameServerContainerGroupsPerInstance:this.gameServerContainerGroupsPerInstance,gameSessionCreationLimitPolicy:this.gameSessionCreationLimitPolicy,instanceConnectionPortRange:this.instanceConnectionPortRange,instanceInboundPermissions:this.instanceInboundPermissions,instanceType:this.instanceType,locations:this.locations,logConfiguration:this.logConfiguration,metricGroups:this.metricGroups,newGameSessionProtectionPolicy:this.newGameSessionProtectionPolicy,perInstanceContainerGroupDefinitionName:this.perInstanceContainerGroupDefinitionName,scalingPolicies:this.scalingPolicies}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnContainerFleet.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnContainerFleetPropsToCloudFormation(props)}}exports.CfnContainerFleet=CfnContainerFleet,_k=JSII_RTTI_SYMBOL_1,CfnContainerFleet[_k]={fqn:"aws-cdk-lib.aws_gamelift.CfnContainerFleet",version:"2.185.0"},CfnContainerFleet.CFN_RESOURCE_TYPE_NAME="AWS::GameLift::ContainerFleet";function CfnContainerFleetConnectionPortRangePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fromPort",cdk().requiredValidator)(properties.fromPort)),errors.collect(cdk().propertyValidator("fromPort",cdk().validateNumber)(properties.fromPort)),errors.collect(cdk().propertyValidator("toPort",cdk().requiredValidator)(properties.toPort)),errors.collect(cdk().propertyValidator("toPort",cdk().validateNumber)(properties.toPort)),errors.wrap('supplied properties not correct for "ConnectionPortRangeProperty"')}function convertCfnContainerFleetConnectionPortRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerFleetConnectionPortRangePropertyValidator(properties).assertSuccess(),{FromPort:cdk().numberToCloudFormation(properties.fromPort),ToPort:cdk().numberToCloudFormation(properties.toPort)}):properties}function CfnContainerFleetConnectionPortRangePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fromPort","FromPort",properties.FromPort!=null?cfn_parse().FromCloudFormation.getNumber(properties.FromPort):void 0),ret.addPropertyResult("toPort","ToPort",properties.ToPort!=null?cfn_parse().FromCloudFormation.getNumber(properties.ToPort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerFleetIpPermissionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fromPort",cdk().requiredValidator)(properties.fromPort)),errors.collect(cdk().propertyValidator("fromPort",cdk().validateNumber)(properties.fromPort)),errors.collect(cdk().propertyValidator("ipRange",cdk().requiredValidator)(properties.ipRange)),errors.collect(cdk().propertyValidator("ipRange",cdk().validateString)(properties.ipRange)),errors.collect(cdk().propertyValidator("protocol",cdk().requiredValidator)(properties.protocol)),errors.collect(cdk().propertyValidator("protocol",cdk().validateString)(properties.protocol)),errors.collect(cdk().propertyValidator("toPort",cdk().requiredValidator)(properties.toPort)),errors.collect(cdk().propertyValidator("toPort",cdk().validateNumber)(properties.toPort)),errors.wrap('supplied properties not correct for "IpPermissionProperty"')}function convertCfnContainerFleetIpPermissionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerFleetIpPermissionPropertyValidator(properties).assertSuccess(),{FromPort:cdk().numberToCloudFormation(properties.fromPort),IpRange:cdk().stringToCloudFormation(properties.ipRange),Protocol:cdk().stringToCloudFormation(properties.protocol),ToPort:cdk().numberToCloudFormation(properties.toPort)}):properties}function CfnContainerFleetIpPermissionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fromPort","FromPort",properties.FromPort!=null?cfn_parse().FromCloudFormation.getNumber(properties.FromPort):void 0),ret.addPropertyResult("ipRange","IpRange",properties.IpRange!=null?cfn_parse().FromCloudFormation.getString(properties.IpRange):void 0),ret.addPropertyResult("protocol","Protocol",properties.Protocol!=null?cfn_parse().FromCloudFormation.getString(properties.Protocol):void 0),ret.addPropertyResult("toPort","ToPort",properties.ToPort!=null?cfn_parse().FromCloudFormation.getNumber(properties.ToPort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerFleetDeploymentConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("impairmentStrategy",cdk().validateString)(properties.impairmentStrategy)),errors.collect(cdk().propertyValidator("minimumHealthyPercentage",cdk().validateNumber)(properties.minimumHealthyPercentage)),errors.collect(cdk().propertyValidator("protectionStrategy",cdk().validateString)(properties.protectionStrategy)),errors.wrap('supplied properties not correct for "DeploymentConfigurationProperty"')}function convertCfnContainerFleetDeploymentConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerFleetDeploymentConfigurationPropertyValidator(properties).assertSuccess(),{ImpairmentStrategy:cdk().stringToCloudFormation(properties.impairmentStrategy),MinimumHealthyPercentage:cdk().numberToCloudFormation(properties.minimumHealthyPercentage),ProtectionStrategy:cdk().stringToCloudFormation(properties.protectionStrategy)}):properties}function CfnContainerFleetDeploymentConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("impairmentStrategy","ImpairmentStrategy",properties.ImpairmentStrategy!=null?cfn_parse().FromCloudFormation.getString(properties.ImpairmentStrategy):void 0),ret.addPropertyResult("minimumHealthyPercentage","MinimumHealthyPercentage",properties.MinimumHealthyPercentage!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinimumHealthyPercentage):void 0),ret.addPropertyResult("protectionStrategy","ProtectionStrategy",properties.ProtectionStrategy!=null?cfn_parse().FromCloudFormation.getString(properties.ProtectionStrategy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerFleetLocationCapacityPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("desiredEc2Instances",cdk().requiredValidator)(properties.desiredEc2Instances)),errors.collect(cdk().propertyValidator("desiredEc2Instances",cdk().validateNumber)(properties.desiredEc2Instances)),errors.collect(cdk().propertyValidator("maxSize",cdk().requiredValidator)(properties.maxSize)),errors.collect(cdk().propertyValidator("maxSize",cdk().validateNumber)(properties.maxSize)),errors.collect(cdk().propertyValidator("minSize",cdk().requiredValidator)(properties.minSize)),errors.collect(cdk().propertyValidator("minSize",cdk().validateNumber)(properties.minSize)),errors.wrap('supplied properties not correct for "LocationCapacityProperty"')}function convertCfnContainerFleetLocationCapacityPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerFleetLocationCapacityPropertyValidator(properties).assertSuccess(),{DesiredEC2Instances:cdk().numberToCloudFormation(properties.desiredEc2Instances),MaxSize:cdk().numberToCloudFormation(properties.maxSize),MinSize:cdk().numberToCloudFormation(properties.minSize)}):properties}function CfnContainerFleetLocationCapacityPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("desiredEc2Instances","DesiredEC2Instances",properties.DesiredEC2Instances!=null?cfn_parse().FromCloudFormation.getNumber(properties.DesiredEC2Instances):void 0),ret.addPropertyResult("maxSize","MaxSize",properties.MaxSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxSize):void 0),ret.addPropertyResult("minSize","MinSize",properties.MinSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinSize):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerFleetLocationConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("location",cdk().requiredValidator)(properties.location)),errors.collect(cdk().propertyValidator("location",cdk().validateString)(properties.location)),errors.collect(cdk().propertyValidator("locationCapacity",CfnContainerFleetLocationCapacityPropertyValidator)(properties.locationCapacity)),errors.collect(cdk().propertyValidator("stoppedActions",cdk().listValidator(cdk().validateString))(properties.stoppedActions)),errors.wrap('supplied properties not correct for "LocationConfigurationProperty"')}function convertCfnContainerFleetLocationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerFleetLocationConfigurationPropertyValidator(properties).assertSuccess(),{Location:cdk().stringToCloudFormation(properties.location),LocationCapacity:convertCfnContainerFleetLocationCapacityPropertyToCloudFormation(properties.locationCapacity),StoppedActions:cdk().listMapper(cdk().stringToCloudFormation)(properties.stoppedActions)}):properties}function CfnContainerFleetLocationConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("location","Location",properties.Location!=null?cfn_parse().FromCloudFormation.getString(properties.Location):void 0),ret.addPropertyResult("locationCapacity","LocationCapacity",properties.LocationCapacity!=null?CfnContainerFleetLocationCapacityPropertyFromCloudFormation(properties.LocationCapacity):void 0),ret.addPropertyResult("stoppedActions","StoppedActions",properties.StoppedActions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StoppedActions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerFleetTargetConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("targetValue",cdk().requiredValidator)(properties.targetValue)),errors.collect(cdk().propertyValidator("targetValue",cdk().validateNumber)(properties.targetValue)),errors.wrap('supplied properties not correct for "TargetConfigurationProperty"')}function convertCfnContainerFleetTargetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerFleetTargetConfigurationPropertyValidator(properties).assertSuccess(),{TargetValue:cdk().numberToCloudFormation(properties.targetValue)}):properties}function CfnContainerFleetTargetConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("targetValue","TargetValue",properties.TargetValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.TargetValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerFleetScalingPolicyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("comparisonOperator",cdk().validateString)(properties.comparisonOperator)),errors.collect(cdk().propertyValidator("evaluationPeriods",cdk().validateNumber)(properties.evaluationPeriods)),errors.collect(cdk().propertyValidator("metricName",cdk().requiredValidator)(properties.metricName)),errors.collect(cdk().propertyValidator("metricName",cdk().validateString)(properties.metricName)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("policyType",cdk().validateString)(properties.policyType)),errors.collect(cdk().propertyValidator("scalingAdjustment",cdk().validateNumber)(properties.scalingAdjustment)),errors.collect(cdk().propertyValidator("scalingAdjustmentType",cdk().validateString)(properties.scalingAdjustmentType)),errors.collect(cdk().propertyValidator("targetConfiguration",CfnContainerFleetTargetConfigurationPropertyValidator)(properties.targetConfiguration)),errors.collect(cdk().propertyValidator("threshold",cdk().validateNumber)(properties.threshold)),errors.wrap('supplied properties not correct for "ScalingPolicyProperty"')}function convertCfnContainerFleetScalingPolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerFleetScalingPolicyPropertyValidator(properties).assertSuccess(),{ComparisonOperator:cdk().stringToCloudFormation(properties.comparisonOperator),EvaluationPeriods:cdk().numberToCloudFormation(properties.evaluationPeriods),MetricName:cdk().stringToCloudFormation(properties.metricName),Name:cdk().stringToCloudFormation(properties.name),PolicyType:cdk().stringToCloudFormation(properties.policyType),ScalingAdjustment:cdk().numberToCloudFormation(properties.scalingAdjustment),ScalingAdjustmentType:cdk().stringToCloudFormation(properties.scalingAdjustmentType),TargetConfiguration:convertCfnContainerFleetTargetConfigurationPropertyToCloudFormation(properties.targetConfiguration),Threshold:cdk().numberToCloudFormation(properties.threshold)}):properties}function CfnContainerFleetScalingPolicyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("comparisonOperator","ComparisonOperator",properties.ComparisonOperator!=null?cfn_parse().FromCloudFormation.getString(properties.ComparisonOperator):void 0),ret.addPropertyResult("evaluationPeriods","EvaluationPeriods",properties.EvaluationPeriods!=null?cfn_parse().FromCloudFormation.getNumber(properties.EvaluationPeriods):void 0),ret.addPropertyResult("metricName","MetricName",properties.MetricName!=null?cfn_parse().FromCloudFormation.getString(properties.MetricName):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("policyType","PolicyType",properties.PolicyType!=null?cfn_parse().FromCloudFormation.getString(properties.PolicyType):void 0),ret.addPropertyResult("scalingAdjustment","ScalingAdjustment",properties.ScalingAdjustment!=null?cfn_parse().FromCloudFormation.getNumber(properties.ScalingAdjustment):void 0),ret.addPropertyResult("scalingAdjustmentType","ScalingAdjustmentType",properties.ScalingAdjustmentType!=null?cfn_parse().FromCloudFormation.getString(properties.ScalingAdjustmentType):void 0),ret.addPropertyResult("targetConfiguration","TargetConfiguration",properties.TargetConfiguration!=null?CfnContainerFleetTargetConfigurationPropertyFromCloudFormation(properties.TargetConfiguration):void 0),ret.addPropertyResult("threshold","Threshold",properties.Threshold!=null?cfn_parse().FromCloudFormation.getNumber(properties.Threshold):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerFleetGameSessionCreationLimitPolicyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("newGameSessionsPerCreator",cdk().validateNumber)(properties.newGameSessionsPerCreator)),errors.collect(cdk().propertyValidator("policyPeriodInMinutes",cdk().validateNumber)(properties.policyPeriodInMinutes)),errors.wrap('supplied properties not correct for "GameSessionCreationLimitPolicyProperty"')}function convertCfnContainerFleetGameSessionCreationLimitPolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerFleetGameSessionCreationLimitPolicyPropertyValidator(properties).assertSuccess(),{NewGameSessionsPerCreator:cdk().numberToCloudFormation(properties.newGameSessionsPerCreator),PolicyPeriodInMinutes:cdk().numberToCloudFormation(properties.policyPeriodInMinutes)}):properties}function CfnContainerFleetGameSessionCreationLimitPolicyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("newGameSessionsPerCreator","NewGameSessionsPerCreator",properties.NewGameSessionsPerCreator!=null?cfn_parse().FromCloudFormation.getNumber(properties.NewGameSessionsPerCreator):void 0),ret.addPropertyResult("policyPeriodInMinutes","PolicyPeriodInMinutes",properties.PolicyPeriodInMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.PolicyPeriodInMinutes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerFleetLogConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("logDestination",cdk().validateString)(properties.logDestination)),errors.collect(cdk().propertyValidator("s3BucketName",cdk().validateString)(properties.s3BucketName)),errors.wrap('supplied properties not correct for "LogConfigurationProperty"')}function convertCfnContainerFleetLogConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerFleetLogConfigurationPropertyValidator(properties).assertSuccess(),{LogDestination:cdk().stringToCloudFormation(properties.logDestination),S3BucketName:cdk().stringToCloudFormation(properties.s3BucketName)}):properties}function CfnContainerFleetLogConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("logDestination","LogDestination",properties.LogDestination!=null?cfn_parse().FromCloudFormation.getString(properties.LogDestination):void 0),ret.addPropertyResult("s3BucketName","S3BucketName",properties.S3BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.S3BucketName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerFleetDeploymentDetailsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("latestDeploymentId",cdk().validateString)(properties.latestDeploymentId)),errors.wrap('supplied properties not correct for "DeploymentDetailsProperty"')}function convertCfnContainerFleetDeploymentDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerFleetDeploymentDetailsPropertyValidator(properties).assertSuccess(),{LatestDeploymentId:cdk().stringToCloudFormation(properties.latestDeploymentId)}):properties}function CfnContainerFleetDeploymentDetailsPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("latestDeploymentId","LatestDeploymentId",properties.LatestDeploymentId!=null?cfn_parse().FromCloudFormation.getString(properties.LatestDeploymentId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerFleetPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("billingType",cdk().validateString)(properties.billingType)),errors.collect(cdk().propertyValidator("deploymentConfiguration",CfnContainerFleetDeploymentConfigurationPropertyValidator)(properties.deploymentConfiguration)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("fleetRoleArn",cdk().requiredValidator)(properties.fleetRoleArn)),errors.collect(cdk().propertyValidator("fleetRoleArn",cdk().validateString)(properties.fleetRoleArn)),errors.collect(cdk().propertyValidator("gameServerContainerGroupDefinitionName",cdk().validateString)(properties.gameServerContainerGroupDefinitionName)),errors.collect(cdk().propertyValidator("gameServerContainerGroupsPerInstance",cdk().validateNumber)(properties.gameServerContainerGroupsPerInstance)),errors.collect(cdk().propertyValidator("gameSessionCreationLimitPolicy",CfnContainerFleetGameSessionCreationLimitPolicyPropertyValidator)(properties.gameSessionCreationLimitPolicy)),errors.collect(cdk().propertyValidator("instanceConnectionPortRange",CfnContainerFleetConnectionPortRangePropertyValidator)(properties.instanceConnectionPortRange)),errors.collect(cdk().propertyValidator("instanceInboundPermissions",cdk().listValidator(CfnContainerFleetIpPermissionPropertyValidator))(properties.instanceInboundPermissions)),errors.collect(cdk().propertyValidator("instanceType",cdk().validateString)(properties.instanceType)),errors.collect(cdk().propertyValidator("locations",cdk().listValidator(CfnContainerFleetLocationConfigurationPropertyValidator))(properties.locations)),errors.collect(cdk().propertyValidator("logConfiguration",CfnContainerFleetLogConfigurationPropertyValidator)(properties.logConfiguration)),errors.collect(cdk().propertyValidator("metricGroups",cdk().listValidator(cdk().validateString))(properties.metricGroups)),errors.collect(cdk().propertyValidator("newGameSessionProtectionPolicy",cdk().validateString)(properties.newGameSessionProtectionPolicy)),errors.collect(cdk().propertyValidator("perInstanceContainerGroupDefinitionName",cdk().validateString)(properties.perInstanceContainerGroupDefinitionName)),errors.collect(cdk().propertyValidator("scalingPolicies",cdk().listValidator(CfnContainerFleetScalingPolicyPropertyValidator))(properties.scalingPolicies)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnContainerFleetProps"')}function convertCfnContainerFleetPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerFleetPropsValidator(properties).assertSuccess(),{BillingType:cdk().stringToCloudFormation(properties.billingType),DeploymentConfiguration:convertCfnContainerFleetDeploymentConfigurationPropertyToCloudFormation(properties.deploymentConfiguration),Description:cdk().stringToCloudFormation(properties.description),FleetRoleArn:cdk().stringToCloudFormation(properties.fleetRoleArn),GameServerContainerGroupDefinitionName:cdk().stringToCloudFormation(properties.gameServerContainerGroupDefinitionName),GameServerContainerGroupsPerInstance:cdk().numberToCloudFormation(properties.gameServerContainerGroupsPerInstance),GameSessionCreationLimitPolicy:convertCfnContainerFleetGameSessionCreationLimitPolicyPropertyToCloudFormation(properties.gameSessionCreationLimitPolicy),InstanceConnectionPortRange:convertCfnContainerFleetConnectionPortRangePropertyToCloudFormation(properties.instanceConnectionPortRange),InstanceInboundPermissions:cdk().listMapper(convertCfnContainerFleetIpPermissionPropertyToCloudFormation)(properties.instanceInboundPermissions),InstanceType:cdk().stringToCloudFormation(properties.instanceType),Locations:cdk().listMapper(convertCfnContainerFleetLocationConfigurationPropertyToCloudFormation)(properties.locations),LogConfiguration:convertCfnContainerFleetLogConfigurationPropertyToCloudFormation(properties.logConfiguration),MetricGroups:cdk().listMapper(cdk().stringToCloudFormation)(properties.metricGroups),NewGameSessionProtectionPolicy:cdk().stringToCloudFormation(properties.newGameSessionProtectionPolicy),PerInstanceContainerGroupDefinitionName:cdk().stringToCloudFormation(properties.perInstanceContainerGroupDefinitionName),ScalingPolicies:cdk().listMapper(convertCfnContainerFleetScalingPolicyPropertyToCloudFormation)(properties.scalingPolicies),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnContainerFleetPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("billingType","BillingType",properties.BillingType!=null?cfn_parse().FromCloudFormation.getString(properties.BillingType):void 0),ret.addPropertyResult("deploymentConfiguration","DeploymentConfiguration",properties.DeploymentConfiguration!=null?CfnContainerFleetDeploymentConfigurationPropertyFromCloudFormation(properties.DeploymentConfiguration):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("fleetRoleArn","FleetRoleArn",properties.FleetRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.FleetRoleArn):void 0),ret.addPropertyResult("gameServerContainerGroupDefinitionName","GameServerContainerGroupDefinitionName",properties.GameServerContainerGroupDefinitionName!=null?cfn_parse().FromCloudFormation.getString(properties.GameServerContainerGroupDefinitionName):void 0),ret.addPropertyResult("gameServerContainerGroupsPerInstance","GameServerContainerGroupsPerInstance",properties.GameServerContainerGroupsPerInstance!=null?cfn_parse().FromCloudFormation.getNumber(properties.GameServerContainerGroupsPerInstance):void 0),ret.addPropertyResult("gameSessionCreationLimitPolicy","GameSessionCreationLimitPolicy",properties.GameSessionCreationLimitPolicy!=null?CfnContainerFleetGameSessionCreationLimitPolicyPropertyFromCloudFormation(properties.GameSessionCreationLimitPolicy):void 0),ret.addPropertyResult("instanceConnectionPortRange","InstanceConnectionPortRange",properties.InstanceConnectionPortRange!=null?CfnContainerFleetConnectionPortRangePropertyFromCloudFormation(properties.InstanceConnectionPortRange):void 0),ret.addPropertyResult("instanceInboundPermissions","InstanceInboundPermissions",properties.InstanceInboundPermissions!=null?cfn_parse().FromCloudFormation.getArray(CfnContainerFleetIpPermissionPropertyFromCloudFormation)(properties.InstanceInboundPermissions):void 0),ret.addPropertyResult("instanceType","InstanceType",properties.InstanceType!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceType):void 0),ret.addPropertyResult("locations","Locations",properties.Locations!=null?cfn_parse().FromCloudFormation.getArray(CfnContainerFleetLocationConfigurationPropertyFromCloudFormation)(properties.Locations):void 0),ret.addPropertyResult("logConfiguration","LogConfiguration",properties.LogConfiguration!=null?CfnContainerFleetLogConfigurationPropertyFromCloudFormation(properties.LogConfiguration):void 0),ret.addPropertyResult("metricGroups","MetricGroups",properties.MetricGroups!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.MetricGroups):void 0),ret.addPropertyResult("newGameSessionProtectionPolicy","NewGameSessionProtectionPolicy",properties.NewGameSessionProtectionPolicy!=null?cfn_parse().FromCloudFormation.getString(properties.NewGameSessionProtectionPolicy):void 0),ret.addPropertyResult("perInstanceContainerGroupDefinitionName","PerInstanceContainerGroupDefinitionName",properties.PerInstanceContainerGroupDefinitionName!=null?cfn_parse().FromCloudFormation.getString(properties.PerInstanceContainerGroupDefinitionName):void 0),ret.addPropertyResult("scalingPolicies","ScalingPolicies",properties.ScalingPolicies!=null?cfn_parse().FromCloudFormation.getArray(CfnContainerFleetScalingPolicyPropertyFromCloudFormation)(properties.ScalingPolicies):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnContainerGroupDefinition extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnContainerGroupDefinitionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnContainerGroupDefinition(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}constructor(scope,id,props){super(scope,id,{type:CfnContainerGroupDefinition.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_gamelift_CfnContainerGroupDefinitionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnContainerGroupDefinition),error}cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"operatingSystem",this),cdk().requireProperty(props,"totalMemoryLimitMebibytes",this),cdk().requireProperty(props,"totalVcpuLimit",this),this.attrContainerGroupDefinitionArn=cdk().Token.asString(this.getAtt("ContainerGroupDefinitionArn",cdk().ResolutionTypeHint.STRING)),this.attrCreationTime=cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING)),this.attrStatus=cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING)),this.attrStatusReason=cdk().Token.asString(this.getAtt("StatusReason",cdk().ResolutionTypeHint.STRING)),this.attrVersionNumber=cdk().Token.asNumber(this.getAtt("VersionNumber",cdk().ResolutionTypeHint.NUMBER)),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::GameLift::ContainerGroupDefinition",void 0,{tagPropertyName:"tags"}),this.containerGroupType=props.containerGroupType,this.gameServerContainerDefinition=props.gameServerContainerDefinition,this.name=props.name,this.operatingSystem=props.operatingSystem,this.sourceVersionNumber=props.sourceVersionNumber,this.supportContainerDefinitions=props.supportContainerDefinitions,this.tags=props.tags,this.totalMemoryLimitMebibytes=props.totalMemoryLimitMebibytes,this.totalVcpuLimit=props.totalVcpuLimit,this.versionDescription=props.versionDescription}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this.tags),containerGroupType:this.containerGroupType,gameServerContainerDefinition:this.gameServerContainerDefinition,name:this.name,operatingSystem:this.operatingSystem,sourceVersionNumber:this.sourceVersionNumber,supportContainerDefinitions:this.supportContainerDefinitions,totalMemoryLimitMebibytes:this.totalMemoryLimitMebibytes,totalVcpuLimit:this.totalVcpuLimit,versionDescription:this.versionDescription}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnContainerGroupDefinition.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnContainerGroupDefinitionPropsToCloudFormation(props)}}exports.CfnContainerGroupDefinition=CfnContainerGroupDefinition,_l=JSII_RTTI_SYMBOL_1,CfnContainerGroupDefinition[_l]={fqn:"aws-cdk-lib.aws_gamelift.CfnContainerGroupDefinition",version:"2.185.0"},CfnContainerGroupDefinition.CFN_RESOURCE_TYPE_NAME="AWS::GameLift::ContainerGroupDefinition";function CfnContainerGroupDefinitionContainerDependencyPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("condition",cdk().requiredValidator)(properties.condition)),errors.collect(cdk().propertyValidator("condition",cdk().validateString)(properties.condition)),errors.collect(cdk().propertyValidator("containerName",cdk().requiredValidator)(properties.containerName)),errors.collect(cdk().propertyValidator("containerName",cdk().validateString)(properties.containerName)),errors.wrap('supplied properties not correct for "ContainerDependencyProperty"')}function convertCfnContainerGroupDefinitionContainerDependencyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerGroupDefinitionContainerDependencyPropertyValidator(properties).assertSuccess(),{Condition:cdk().stringToCloudFormation(properties.condition),ContainerName:cdk().stringToCloudFormation(properties.containerName)}):properties}function CfnContainerGroupDefinitionContainerDependencyPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("condition","Condition",properties.Condition!=null?cfn_parse().FromCloudFormation.getString(properties.Condition):void 0),ret.addPropertyResult("containerName","ContainerName",properties.ContainerName!=null?cfn_parse().FromCloudFormation.getString(properties.ContainerName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerGroupDefinitionContainerEnvironmentPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "ContainerEnvironmentProperty"')}function convertCfnContainerGroupDefinitionContainerEnvironmentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerGroupDefinitionContainerEnvironmentPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnContainerGroupDefinitionContainerEnvironmentPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerGroupDefinitionContainerPortRangePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("fromPort",cdk().requiredValidator)(properties.fromPort)),errors.collect(cdk().propertyValidator("fromPort",cdk().validateNumber)(properties.fromPort)),errors.collect(cdk().propertyValidator("protocol",cdk().requiredValidator)(properties.protocol)),errors.collect(cdk().propertyValidator("protocol",cdk().validateString)(properties.protocol)),errors.collect(cdk().propertyValidator("toPort",cdk().requiredValidator)(properties.toPort)),errors.collect(cdk().propertyValidator("toPort",cdk().validateNumber)(properties.toPort)),errors.wrap('supplied properties not correct for "ContainerPortRangeProperty"')}function convertCfnContainerGroupDefinitionContainerPortRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerGroupDefinitionContainerPortRangePropertyValidator(properties).assertSuccess(),{FromPort:cdk().numberToCloudFormation(properties.fromPort),Protocol:cdk().stringToCloudFormation(properties.protocol),ToPort:cdk().numberToCloudFormation(properties.toPort)}):properties}function CfnContainerGroupDefinitionContainerPortRangePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("fromPort","FromPort",properties.FromPort!=null?cfn_parse().FromCloudFormation.getNumber(properties.FromPort):void 0),ret.addPropertyResult("protocol","Protocol",properties.Protocol!=null?cfn_parse().FromCloudFormation.getString(properties.Protocol):void 0),ret.addPropertyResult("toPort","ToPort",properties.ToPort!=null?cfn_parse().FromCloudFormation.getNumber(properties.ToPort):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerGroupDefinitionPortConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("containerPortRanges",cdk().requiredValidator)(properties.containerPortRanges)),errors.collect(cdk().propertyValidator("containerPortRanges",cdk().listValidator(CfnContainerGroupDefinitionContainerPortRangePropertyValidator))(properties.containerPortRanges)),errors.wrap('supplied properties not correct for "PortConfigurationProperty"')}function convertCfnContainerGroupDefinitionPortConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerGroupDefinitionPortConfigurationPropertyValidator(properties).assertSuccess(),{ContainerPortRanges:cdk().listMapper(convertCfnContainerGroupDefinitionContainerPortRangePropertyToCloudFormation)(properties.containerPortRanges)}):properties}function CfnContainerGroupDefinitionPortConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("containerPortRanges","ContainerPortRanges",properties.ContainerPortRanges!=null?cfn_parse().FromCloudFormation.getArray(CfnContainerGroupDefinitionContainerPortRangePropertyFromCloudFormation)(properties.ContainerPortRanges):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerGroupDefinitionContainerMountPointPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("accessLevel",cdk().validateString)(properties.accessLevel)),errors.collect(cdk().propertyValidator("containerPath",cdk().validateString)(properties.containerPath)),errors.collect(cdk().propertyValidator("instancePath",cdk().requiredValidator)(properties.instancePath)),errors.collect(cdk().propertyValidator("instancePath",cdk().validateString)(properties.instancePath)),errors.wrap('supplied properties not correct for "ContainerMountPointProperty"')}function convertCfnContainerGroupDefinitionContainerMountPointPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerGroupDefinitionContainerMountPointPropertyValidator(properties).assertSuccess(),{AccessLevel:cdk().stringToCloudFormation(properties.accessLevel),ContainerPath:cdk().stringToCloudFormation(properties.containerPath),InstancePath:cdk().stringToCloudFormation(properties.instancePath)}):properties}function CfnContainerGroupDefinitionContainerMountPointPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("accessLevel","AccessLevel",properties.AccessLevel!=null?cfn_parse().FromCloudFormation.getString(properties.AccessLevel):void 0),ret.addPropertyResult("containerPath","ContainerPath",properties.ContainerPath!=null?cfn_parse().FromCloudFormation.getString(properties.ContainerPath):void 0),ret.addPropertyResult("instancePath","InstancePath",properties.InstancePath!=null?cfn_parse().FromCloudFormation.getString(properties.InstancePath):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerGroupDefinitionGameServerContainerDefinitionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("containerName",cdk().requiredValidator)(properties.containerName)),errors.collect(cdk().propertyValidator("containerName",cdk().validateString)(properties.containerName)),errors.collect(cdk().propertyValidator("dependsOn",cdk().listValidator(CfnContainerGroupDefinitionContainerDependencyPropertyValidator))(properties.dependsOn)),errors.collect(cdk().propertyValidator("environmentOverride",cdk().listValidator(CfnContainerGroupDefinitionContainerEnvironmentPropertyValidator))(properties.environmentOverride)),errors.collect(cdk().propertyValidator("imageUri",cdk().requiredValidator)(properties.imageUri)),errors.collect(cdk().propertyValidator("imageUri",cdk().validateString)(properties.imageUri)),errors.collect(cdk().propertyValidator("mountPoints",cdk().listValidator(CfnContainerGroupDefinitionContainerMountPointPropertyValidator))(properties.mountPoints)),errors.collect(cdk().propertyValidator("portConfiguration",CfnContainerGroupDefinitionPortConfigurationPropertyValidator)(properties.portConfiguration)),errors.collect(cdk().propertyValidator("resolvedImageDigest",cdk().validateString)(properties.resolvedImageDigest)),errors.collect(cdk().propertyValidator("serverSdkVersion",cdk().requiredValidator)(properties.serverSdkVersion)),errors.collect(cdk().propertyValidator("serverSdkVersion",cdk().validateString)(properties.serverSdkVersion)),errors.wrap('supplied properties not correct for "GameServerContainerDefinitionProperty"')}function convertCfnContainerGroupDefinitionGameServerContainerDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerGroupDefinitionGameServerContainerDefinitionPropertyValidator(properties).assertSuccess(),{ContainerName:cdk().stringToCloudFormation(properties.containerName),DependsOn:cdk().listMapper(convertCfnContainerGroupDefinitionContainerDependencyPropertyToCloudFormation)(properties.dependsOn),EnvironmentOverride:cdk().listMapper(convertCfnContainerGroupDefinitionContainerEnvironmentPropertyToCloudFormation)(properties.environmentOverride),ImageUri:cdk().stringToCloudFormation(properties.imageUri),MountPoints:cdk().listMapper(convertCfnContainerGroupDefinitionContainerMountPointPropertyToCloudFormation)(properties.mountPoints),PortConfiguration:convertCfnContainerGroupDefinitionPortConfigurationPropertyToCloudFormation(properties.portConfiguration),ResolvedImageDigest:cdk().stringToCloudFormation(properties.resolvedImageDigest),ServerSdkVersion:cdk().stringToCloudFormation(properties.serverSdkVersion)}):properties}function CfnContainerGroupDefinitionGameServerContainerDefinitionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("containerName","ContainerName",properties.ContainerName!=null?cfn_parse().FromCloudFormation.getString(properties.ContainerName):void 0),ret.addPropertyResult("dependsOn","DependsOn",properties.DependsOn!=null?cfn_parse().FromCloudFormation.getArray(CfnContainerGroupDefinitionContainerDependencyPropertyFromCloudFormation)(properties.DependsOn):void 0),ret.addPropertyResult("environmentOverride","EnvironmentOverride",properties.EnvironmentOverride!=null?cfn_parse().FromCloudFormation.getArray(CfnContainerGroupDefinitionContainerEnvironmentPropertyFromCloudFormation)(properties.EnvironmentOverride):void 0),ret.addPropertyResult("imageUri","ImageUri",properties.ImageUri!=null?cfn_parse().FromCloudFormation.getString(properties.ImageUri):void 0),ret.addPropertyResult("mountPoints","MountPoints",properties.MountPoints!=null?cfn_parse().FromCloudFormation.getArray(CfnContainerGroupDefinitionContainerMountPointPropertyFromCloudFormation)(properties.MountPoints):void 0),ret.addPropertyResult("portConfiguration","PortConfiguration",properties.PortConfiguration!=null?CfnContainerGroupDefinitionPortConfigurationPropertyFromCloudFormation(properties.PortConfiguration):void 0),ret.addPropertyResult("resolvedImageDigest","ResolvedImageDigest",properties.ResolvedImageDigest!=null?cfn_parse().FromCloudFormation.getString(properties.ResolvedImageDigest):void 0),ret.addPropertyResult("serverSdkVersion","ServerSdkVersion",properties.ServerSdkVersion!=null?cfn_parse().FromCloudFormation.getString(properties.ServerSdkVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerGroupDefinitionContainerHealthCheckPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("command",cdk().requiredValidator)(properties.command)),errors.collect(cdk().propertyValidator("command",cdk().listValidator(cdk().validateString))(properties.command)),errors.collect(cdk().propertyValidator("interval",cdk().validateNumber)(properties.interval)),errors.collect(cdk().propertyValidator("retries",cdk().validateNumber)(properties.retries)),errors.collect(cdk().propertyValidator("startPeriod",cdk().validateNumber)(properties.startPeriod)),errors.collect(cdk().propertyValidator("timeout",cdk().validateNumber)(properties.timeout)),errors.wrap('supplied properties not correct for "ContainerHealthCheckProperty"')}function convertCfnContainerGroupDefinitionContainerHealthCheckPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerGroupDefinitionContainerHealthCheckPropertyValidator(properties).assertSuccess(),{Command:cdk().listMapper(cdk().stringToCloudFormation)(properties.command),Interval:cdk().numberToCloudFormation(properties.interval),Retries:cdk().numberToCloudFormation(properties.retries),StartPeriod:cdk().numberToCloudFormation(properties.startPeriod),Timeout:cdk().numberToCloudFormation(properties.timeout)}):properties}function CfnContainerGroupDefinitionContainerHealthCheckPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("command","Command",properties.Command!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Command):void 0),ret.addPropertyResult("interval","Interval",properties.Interval!=null?cfn_parse().FromCloudFormation.getNumber(properties.Interval):void 0),ret.addPropertyResult("retries","Retries",properties.Retries!=null?cfn_parse().FromCloudFormation.getNumber(properties.Retries):void 0),ret.addPropertyResult("startPeriod","StartPeriod",properties.StartPeriod!=null?cfn_parse().FromCloudFormation.getNumber(properties.StartPeriod):void 0),ret.addPropertyResult("timeout","Timeout",properties.Timeout!=null?cfn_parse().FromCloudFormation.getNumber(properties.Timeout):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerGroupDefinitionSupportContainerDefinitionPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("containerName",cdk().requiredValidator)(properties.containerName)),errors.collect(cdk().propertyValidator("containerName",cdk().validateString)(properties.containerName)),errors.collect(cdk().propertyValidator("dependsOn",cdk().listValidator(CfnContainerGroupDefinitionContainerDependencyPropertyValidator))(properties.dependsOn)),errors.collect(cdk().propertyValidator("environmentOverride",cdk().listValidator(CfnContainerGroupDefinitionContainerEnvironmentPropertyValidator))(properties.environmentOverride)),errors.collect(cdk().propertyValidator("essential",cdk().validateBoolean)(properties.essential)),errors.collect(cdk().propertyValidator("healthCheck",CfnContainerGroupDefinitionContainerHealthCheckPropertyValidator)(properties.healthCheck)),errors.collect(cdk().propertyValidator("imageUri",cdk().requiredValidator)(properties.imageUri)),errors.collect(cdk().propertyValidator("imageUri",cdk().validateString)(properties.imageUri)),errors.collect(cdk().propertyValidator("memoryHardLimitMebibytes",cdk().validateNumber)(properties.memoryHardLimitMebibytes)),errors.collect(cdk().propertyValidator("mountPoints",cdk().listValidator(CfnContainerGroupDefinitionContainerMountPointPropertyValidator))(properties.mountPoints)),errors.collect(cdk().propertyValidator("portConfiguration",CfnContainerGroupDefinitionPortConfigurationPropertyValidator)(properties.portConfiguration)),errors.collect(cdk().propertyValidator("resolvedImageDigest",cdk().validateString)(properties.resolvedImageDigest)),errors.collect(cdk().propertyValidator("vcpu",cdk().validateNumber)(properties.vcpu)),errors.wrap('supplied properties not correct for "SupportContainerDefinitionProperty"')}function convertCfnContainerGroupDefinitionSupportContainerDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerGroupDefinitionSupportContainerDefinitionPropertyValidator(properties).assertSuccess(),{ContainerName:cdk().stringToCloudFormation(properties.containerName),DependsOn:cdk().listMapper(convertCfnContainerGroupDefinitionContainerDependencyPropertyToCloudFormation)(properties.dependsOn),EnvironmentOverride:cdk().listMapper(convertCfnContainerGroupDefinitionContainerEnvironmentPropertyToCloudFormation)(properties.environmentOverride),Essential:cdk().booleanToCloudFormation(properties.essential),HealthCheck:convertCfnContainerGroupDefinitionContainerHealthCheckPropertyToCloudFormation(properties.healthCheck),ImageUri:cdk().stringToCloudFormation(properties.imageUri),MemoryHardLimitMebibytes:cdk().numberToCloudFormation(properties.memoryHardLimitMebibytes),MountPoints:cdk().listMapper(convertCfnContainerGroupDefinitionContainerMountPointPropertyToCloudFormation)(properties.mountPoints),PortConfiguration:convertCfnContainerGroupDefinitionPortConfigurationPropertyToCloudFormation(properties.portConfiguration),ResolvedImageDigest:cdk().stringToCloudFormation(properties.resolvedImageDigest),Vcpu:cdk().numberToCloudFormation(properties.vcpu)}):properties}function CfnContainerGroupDefinitionSupportContainerDefinitionPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("containerName","ContainerName",properties.ContainerName!=null?cfn_parse().FromCloudFormation.getString(properties.ContainerName):void 0),ret.addPropertyResult("dependsOn","DependsOn",properties.DependsOn!=null?cfn_parse().FromCloudFormation.getArray(CfnContainerGroupDefinitionContainerDependencyPropertyFromCloudFormation)(properties.DependsOn):void 0),ret.addPropertyResult("environmentOverride","EnvironmentOverride",properties.EnvironmentOverride!=null?cfn_parse().FromCloudFormation.getArray(CfnContainerGroupDefinitionContainerEnvironmentPropertyFromCloudFormation)(properties.EnvironmentOverride):void 0),ret.addPropertyResult("essential","Essential",properties.Essential!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Essential):void 0),ret.addPropertyResult("healthCheck","HealthCheck",properties.HealthCheck!=null?CfnContainerGroupDefinitionContainerHealthCheckPropertyFromCloudFormation(properties.HealthCheck):void 0),ret.addPropertyResult("imageUri","ImageUri",properties.ImageUri!=null?cfn_parse().FromCloudFormation.getString(properties.ImageUri):void 0),ret.addPropertyResult("memoryHardLimitMebibytes","MemoryHardLimitMebibytes",properties.MemoryHardLimitMebibytes!=null?cfn_parse().FromCloudFormation.getNumber(properties.MemoryHardLimitMebibytes):void 0),ret.addPropertyResult("mountPoints","MountPoints",properties.MountPoints!=null?cfn_parse().FromCloudFormation.getArray(CfnContainerGroupDefinitionContainerMountPointPropertyFromCloudFormation)(properties.MountPoints):void 0),ret.addPropertyResult("portConfiguration","PortConfiguration",properties.PortConfiguration!=null?CfnContainerGroupDefinitionPortConfigurationPropertyFromCloudFormation(properties.PortConfiguration):void 0),ret.addPropertyResult("resolvedImageDigest","ResolvedImageDigest",properties.ResolvedImageDigest!=null?cfn_parse().FromCloudFormation.getString(properties.ResolvedImageDigest):void 0),ret.addPropertyResult("vcpu","Vcpu",properties.Vcpu!=null?cfn_parse().FromCloudFormation.getNumber(properties.Vcpu):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContainerGroupDefinitionPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("containerGroupType",cdk().validateString)(properties.containerGroupType)),errors.collect(cdk().propertyValidator("gameServerContainerDefinition",CfnContainerGroupDefinitionGameServerContainerDefinitionPropertyValidator)(properties.gameServerContainerDefinition)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("operatingSystem",cdk().requiredValidator)(properties.operatingSystem)),errors.collect(cdk().propertyValidator("operatingSystem",cdk().validateString)(properties.operatingSystem)),errors.collect(cdk().propertyValidator("sourceVersionNumber",cdk().validateNumber)(properties.sourceVersionNumber)),errors.collect(cdk().propertyValidator("supportContainerDefinitions",cdk().listValidator(CfnContainerGroupDefinitionSupportContainerDefinitionPropertyValidator))(properties.supportContainerDefinitions)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("totalMemoryLimitMebibytes",cdk().requiredValidator)(properties.totalMemoryLimitMebibytes)),errors.collect(cdk().propertyValidator("totalMemoryLimitMebibytes",cdk().validateNumber)(properties.totalMemoryLimitMebibytes)),errors.collect(cdk().propertyValidator("totalVcpuLimit",cdk().requiredValidator)(properties.totalVcpuLimit)),errors.collect(cdk().propertyValidator("totalVcpuLimit",cdk().validateNumber)(properties.totalVcpuLimit)),errors.collect(cdk().propertyValidator("versionDescription",cdk().validateString)(properties.versionDescription)),errors.wrap('supplied properties not correct for "CfnContainerGroupDefinitionProps"')}function convertCfnContainerGroupDefinitionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerGroupDefinitionPropsValidator(properties).assertSuccess(),{ContainerGroupType:cdk().stringToCloudFormation(properties.containerGroupType),GameServerContainerDefinition:convertCfnContainerGroupDefinitionGameServerContainerDefinitionPropertyToCloudFormation(properties.gameServerContainerDefinition),Name:cdk().stringToCloudFormation(properties.name),OperatingSystem:cdk().stringToCloudFormation(properties.operatingSystem),SourceVersionNumber:cdk().numberToCloudFormation(properties.sourceVersionNumber),SupportContainerDefinitions:cdk().listMapper(convertCfnContainerGroupDefinitionSupportContainerDefinitionPropertyToCloudFormation)(properties.supportContainerDefinitions),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TotalMemoryLimitMebibytes:cdk().numberToCloudFormation(properties.totalMemoryLimitMebibytes),TotalVcpuLimit:cdk().numberToCloudFormation(properties.totalVcpuLimit),VersionDescription:cdk().stringToCloudFormation(properties.versionDescription)}):properties}function CfnContainerGroupDefinitionPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("containerGroupType","ContainerGroupType",properties.ContainerGroupType!=null?cfn_parse().FromCloudFormation.getString(properties.ContainerGroupType):void 0),ret.addPropertyResult("gameServerContainerDefinition","GameServerContainerDefinition",properties.GameServerContainerDefinition!=null?CfnContainerGroupDefinitionGameServerContainerDefinitionPropertyFromCloudFormation(properties.GameServerContainerDefinition):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("operatingSystem","OperatingSystem",properties.OperatingSystem!=null?cfn_parse().FromCloudFormation.getString(properties.OperatingSystem):void 0),ret.addPropertyResult("sourceVersionNumber","SourceVersionNumber",properties.SourceVersionNumber!=null?cfn_parse().FromCloudFormation.getNumber(properties.SourceVersionNumber):void 0),ret.addPropertyResult("supportContainerDefinitions","SupportContainerDefinitions",properties.SupportContainerDefinitions!=null?cfn_parse().FromCloudFormation.getArray(CfnContainerGroupDefinitionSupportContainerDefinitionPropertyFromCloudFormation)(properties.SupportContainerDefinitions):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("totalMemoryLimitMebibytes","TotalMemoryLimitMebibytes",properties.TotalMemoryLimitMebibytes!=null?cfn_parse().FromCloudFormation.getNumber(properties.TotalMemoryLimitMebibytes):void 0),ret.addPropertyResult("totalVcpuLimit","TotalVcpuLimit",properties.TotalVcpuLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.TotalVcpuLimit):void 0),ret.addPropertyResult("versionDescription","VersionDescription",properties.VersionDescription!=null?cfn_parse().FromCloudFormation.getString(properties.VersionDescription):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}