2 lines
234 KiB
JavaScript
2 lines
234 KiB
JavaScript
"use strict";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/lib");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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_gamelift.CfnAlias",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::GameLift::Alias";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnAlias(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAlias.CFN_RESOURCE_TYPE_NAME}static fromAliasArn(scope,id,arn){class Import extends cdk().Resource{aliasRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:gamelift:${Region}::alias/${AliasId}").parse(arn2);this.aliasRef={aliasId:variables.AliasId,aliasArn:arn2}}}return new Import(scope,id,arn)}static fromAliasId(scope,id,aliasId){class Import extends cdk().Resource{aliasRef;constructor(scope2,id2,aliasId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:gamelift:${Region}::alias/${AliasId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,AliasId:aliasId2});super(scope2,id2,{environmentFromArn:arn}),this.aliasRef={aliasId:aliasId2,aliasArn:arn}}}return new Import(scope,id,aliasId)}static arnForAlias(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_gamelift_IAliasRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAlias),error}return resource.aliasRef.aliasArn}cdkTagManager;_description;_name;_routingStrategy;_tags;cfnPropertyNames={tags:"Tags",description:"Description",name:"Name",routingStrategy:"RoutingStrategy"};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.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::GameLift::Alias",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._name=props.name,this._routingStrategy=props.routingStrategy,this._tags=props.tags}get aliasRef(){return{aliasId:this.ref,aliasArn:this.attrAliasArn}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get routingStrategy(){return this._routingStrategy}set routingStrategy(value){cdk().traceProperty(this.node,"RoutingStrategy"),this._routingStrategy=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrAliasArn(){return cdk().Token.asString(this.getAtt("AliasArn",cdk().ResolutionTypeHint.STRING))}get attrAliasId(){return cdk().Token.asString(this.getAtt("AliasId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAliasPropsToCloudFormation(props)}}exports.CfnAlias=CfnAlias;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.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),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),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):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.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnBuild extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_gamelift.CfnBuild",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::GameLift::Build";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnBuild(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnBuild.CFN_RESOURCE_TYPE_NAME}static fromBuildArn(scope,id,arn){class Import extends cdk().Resource{buildRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:gamelift:${Region}:${Account}:build/${BuildId}").parse(arn2);this.buildRef={buildId:variables.BuildId,buildArn:arn2}}}return new Import(scope,id,arn)}static fromBuildId(scope,id,buildId){class Import extends cdk().Resource{buildRef;constructor(scope2,id2,buildId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:gamelift:${Region}:${Account}:build/${BuildId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,BuildId:buildId2});super(scope2,id2,{environmentFromArn:arn}),this.buildRef={buildId:buildId2,buildArn:arn}}}return new Import(scope,id,buildId)}static arnForBuild(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_gamelift_IBuildRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForBuild),error}return resource.buildRef.buildArn}cdkTagManager;_name;_operatingSystem;_serverSdkVersion;_storageLocation;_tags;_version;cfnPropertyNames={tags:"Tags",name:"Name",operatingSystem:"OperatingSystem",serverSdkVersion:"ServerSdkVersion",storageLocation:"StorageLocation",version:"Version"};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.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::GameLift::Build",void 0,{tagPropertyName:"tags"}),this._name=props.name,this._operatingSystem=props.operatingSystem,this._serverSdkVersion=props.serverSdkVersion,this._storageLocation=props.storageLocation,this._tags=props.tags,this._version=props.version}get buildRef(){return{buildId:this.ref,buildArn:this.attrBuildArn}}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get operatingSystem(){return this._operatingSystem}set operatingSystem(value){cdk().traceProperty(this.node,"OperatingSystem"),this._operatingSystem=value}get serverSdkVersion(){return this._serverSdkVersion}set serverSdkVersion(value){cdk().traceProperty(this.node,"ServerSdkVersion"),this._serverSdkVersion=value}get storageLocation(){return this._storageLocation}set storageLocation(value){cdk().traceProperty(this.node,"StorageLocation"),this._storageLocation=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get version(){return this._version}set version(value){cdk().traceProperty(this.node,"Version"),this._version=value}get attrBuildArn(){return cdk().Token.asString(this.getAtt("BuildArn",cdk().ResolutionTypeHint.STRING))}get attrBuildId(){return cdk().Token.asString(this.getAtt("BuildId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnBuildPropsToCloudFormation(props)}}exports.CfnBuild=CfnBuild;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("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),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),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),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("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 CfnFleet extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_gamelift.CfnFleet",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::GameLift::Fleet";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnFleet(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnFleet.CFN_RESOURCE_TYPE_NAME}static fromFleetArn(scope,id,arn){class Import extends cdk().Resource{fleetRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:gamelift:${Region}:${Account}:fleet/${FleetId}").parse(arn2);this.fleetRef={fleetId:variables.FleetId,fleetArn:arn2}}}return new Import(scope,id,arn)}static fromFleetId(scope,id,fleetId){class Import extends cdk().Resource{fleetRef;constructor(scope2,id2,fleetId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:gamelift:${Region}:${Account}:fleet/${FleetId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,FleetId:fleetId2});super(scope2,id2,{environmentFromArn:arn}),this.fleetRef={fleetId:fleetId2,fleetArn:arn}}}return new Import(scope,id,fleetId)}static arnForFleet(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_gamelift_IFleetRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForFleet),error}return resource.fleetRef.fleetArn}_anywhereConfiguration;_applyCapacity;_buildId;cdkTagManager;_certificateConfiguration;_computeType;_description;_desiredEc2Instances;_ec2InboundPermissions;_ec2InstanceType;_fleetType;_instanceRoleArn;_instanceRoleCredentialsProvider;_locations;_logPaths;_maxSize;_metricGroups;_minSize;_name;_newGameSessionProtectionPolicy;_peerVpcAwsAccountId;_peerVpcId;_playerGatewayConfiguration;_playerGatewayMode;_resourceCreationLimitPolicy;_runtimeConfiguration;_scalingPolicies;_scriptId;_serverLaunchParameters;_serverLaunchPath;_tags;cfnPropertyNames={anywhereConfiguration:"AnywhereConfiguration",applyCapacity:"ApplyCapacity",buildId:"BuildId",tags:"Tags",certificateConfiguration:"CertificateConfiguration",computeType:"ComputeType",description:"Description",desiredEc2Instances:"DesiredEC2Instances",ec2InboundPermissions:"EC2InboundPermissions",ec2InstanceType:"EC2InstanceType",fleetType:"FleetType",instanceRoleArn:"InstanceRoleARN",instanceRoleCredentialsProvider:"InstanceRoleCredentialsProvider",locations:"Locations",logPaths:"LogPaths",maxSize:"MaxSize",metricGroups:"MetricGroups",minSize:"MinSize",name:"Name",newGameSessionProtectionPolicy:"NewGameSessionProtectionPolicy",peerVpcAwsAccountId:"PeerVpcAwsAccountId",peerVpcId:"PeerVpcId",playerGatewayConfiguration:"PlayerGatewayConfiguration",playerGatewayMode:"PlayerGatewayMode",resourceCreationLimitPolicy:"ResourceCreationLimitPolicy",runtimeConfiguration:"RuntimeConfiguration",scalingPolicies:"ScalingPolicies",scriptId:"ScriptId",serverLaunchParameters:"ServerLaunchParameters",serverLaunchPath:"ServerLaunchPath"};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._anywhereConfiguration=props.anywhereConfiguration,this._applyCapacity=props.applyCapacity,this._buildId=props.buildId,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::GameLift::Fleet",void 0,{tagPropertyName:"tags"}),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._playerGatewayConfiguration=props.playerGatewayConfiguration,this._playerGatewayMode=props.playerGatewayMode,this._resourceCreationLimitPolicy=props.resourceCreationLimitPolicy,this._runtimeConfiguration=props.runtimeConfiguration,this._scalingPolicies=props.scalingPolicies,this._scriptId=props.scriptId,this._serverLaunchParameters=props.serverLaunchParameters,this._serverLaunchPath=props.serverLaunchPath,this._tags=props.tags}get fleetRef(){return{fleetId:this.ref,fleetArn:this.attrFleetArn}}get anywhereConfiguration(){return this._anywhereConfiguration}set anywhereConfiguration(value){cdk().traceProperty(this.node,"AnywhereConfiguration"),this._anywhereConfiguration=value}get applyCapacity(){return this._applyCapacity}set applyCapacity(value){cdk().traceProperty(this.node,"ApplyCapacity"),this._applyCapacity=value}get buildId(){return this._buildId}set buildId(value){cdk().traceProperty(this.node,"BuildId"),this._buildId=value}get certificateConfiguration(){return this._certificateConfiguration}set certificateConfiguration(value){cdk().traceProperty(this.node,"CertificateConfiguration"),this._certificateConfiguration=value}get computeType(){return this._computeType}set computeType(value){cdk().traceProperty(this.node,"ComputeType"),this._computeType=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get desiredEc2Instances(){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_gamelift.CfnFleet#desiredEc2Instances","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"desiredEc2Instances").get),error}return this._desiredEc2Instances}set desiredEc2Instances(value){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_gamelift.CfnFleet#desiredEc2Instances","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"desiredEc2Instances").set),error}cdk().traceProperty(this.node,"DesiredEC2Instances"),this._desiredEc2Instances=value}get ec2InboundPermissions(){return this._ec2InboundPermissions}set ec2InboundPermissions(value){cdk().traceProperty(this.node,"EC2InboundPermissions"),this._ec2InboundPermissions=value}get ec2InstanceType(){return this._ec2InstanceType}set ec2InstanceType(value){cdk().traceProperty(this.node,"EC2InstanceType"),this._ec2InstanceType=value}get fleetType(){return this._fleetType}set fleetType(value){cdk().traceProperty(this.node,"FleetType"),this._fleetType=value}get instanceRoleArn(){return this._instanceRoleArn}set instanceRoleArn(value){cdk().traceProperty(this.node,"InstanceRoleARN"),this._instanceRoleArn=value}get instanceRoleCredentialsProvider(){return this._instanceRoleCredentialsProvider}set instanceRoleCredentialsProvider(value){cdk().traceProperty(this.node,"InstanceRoleCredentialsProvider"),this._instanceRoleCredentialsProvider=value}get locations(){return this._locations}set locations(value){cdk().traceProperty(this.node,"Locations"),this._locations=value}get logPaths(){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_gamelift.CfnFleet#logPaths","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"logPaths").get),error}return this._logPaths}set logPaths(value){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_gamelift.CfnFleet#logPaths","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"logPaths").set),error}cdk().traceProperty(this.node,"LogPaths"),this._logPaths=value}get maxSize(){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_gamelift.CfnFleet#maxSize","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"maxSize").get),error}return this._maxSize}set maxSize(value){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_gamelift.CfnFleet#maxSize","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"maxSize").set),error}cdk().traceProperty(this.node,"MaxSize"),this._maxSize=value}get metricGroups(){return this._metricGroups}set metricGroups(value){cdk().traceProperty(this.node,"MetricGroups"),this._metricGroups=value}get minSize(){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_gamelift.CfnFleet#minSize","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"minSize").get),error}return this._minSize}set minSize(value){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_gamelift.CfnFleet#minSize","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"minSize").set),error}cdk().traceProperty(this.node,"MinSize"),this._minSize=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get newGameSessionProtectionPolicy(){return this._newGameSessionProtectionPolicy}set newGameSessionProtectionPolicy(value){cdk().traceProperty(this.node,"NewGameSessionProtectionPolicy"),this._newGameSessionProtectionPolicy=value}get peerVpcAwsAccountId(){return this._peerVpcAwsAccountId}set peerVpcAwsAccountId(value){cdk().traceProperty(this.node,"PeerVpcAwsAccountId"),this._peerVpcAwsAccountId=value}get peerVpcId(){return this._peerVpcId}set peerVpcId(value){cdk().traceProperty(this.node,"PeerVpcId"),this._peerVpcId=value}get playerGatewayConfiguration(){return this._playerGatewayConfiguration}set playerGatewayConfiguration(value){cdk().traceProperty(this.node,"PlayerGatewayConfiguration"),this._playerGatewayConfiguration=value}get playerGatewayMode(){return this._playerGatewayMode}set playerGatewayMode(value){cdk().traceProperty(this.node,"PlayerGatewayMode"),this._playerGatewayMode=value}get resourceCreationLimitPolicy(){return this._resourceCreationLimitPolicy}set resourceCreationLimitPolicy(value){cdk().traceProperty(this.node,"ResourceCreationLimitPolicy"),this._resourceCreationLimitPolicy=value}get runtimeConfiguration(){return this._runtimeConfiguration}set runtimeConfiguration(value){cdk().traceProperty(this.node,"RuntimeConfiguration"),this._runtimeConfiguration=value}get scalingPolicies(){return this._scalingPolicies}set scalingPolicies(value){cdk().traceProperty(this.node,"ScalingPolicies"),this._scalingPolicies=value}get scriptId(){return this._scriptId}set scriptId(value){cdk().traceProperty(this.node,"ScriptId"),this._scriptId=value}get serverLaunchParameters(){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_gamelift.CfnFleet#serverLaunchParameters","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"serverLaunchParameters").get),error}return this._serverLaunchParameters}set serverLaunchParameters(value){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_gamelift.CfnFleet#serverLaunchParameters","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"serverLaunchParameters").set),error}cdk().traceProperty(this.node,"ServerLaunchParameters"),this._serverLaunchParameters=value}get serverLaunchPath(){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_gamelift.CfnFleet#serverLaunchPath","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"serverLaunchPath").get),error}return this._serverLaunchPath}set serverLaunchPath(value){try{jsiiDeprecationWarnings().print("aws-cdk-lib.aws_gamelift.CfnFleet#serverLaunchPath","this property has been deprecated")}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,jsiiDeprecationWarnings().getPropertyDescriptor(this,"serverLaunchPath").set),error}cdk().traceProperty(this.node,"ServerLaunchPath"),this._serverLaunchPath=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrFleetArn(){return cdk().Token.asString(this.getAtt("FleetArn",cdk().ResolutionTypeHint.STRING))}get attrFleetId(){return cdk().Token.asString(this.getAtt("FleetId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{anywhereConfiguration:this._anywhereConfiguration,applyCapacity:this._applyCapacity,buildId:this._buildId,tags:this.cdkTagManager.renderTags(this._tags),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,playerGatewayConfiguration:this._playerGatewayConfiguration,playerGatewayMode:this._playerGatewayMode,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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFleetPropsToCloudFormation(props)}}exports.CfnFleet=CfnFleet;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 CfnFleetManagedCapacityConfigurationPropertyValidator(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("scaleInAfterInactivityMinutes",cdk().validateNumber)(properties.scaleInAfterInactivityMinutes)),errors.collect(cdk().propertyValidator("zeroCapacityStrategy",cdk().requiredValidator)(properties.zeroCapacityStrategy)),errors.collect(cdk().propertyValidator("zeroCapacityStrategy",cdk().validateString)(properties.zeroCapacityStrategy)),errors.wrap('supplied properties not correct for "ManagedCapacityConfigurationProperty"')}function convertCfnFleetManagedCapacityConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFleetManagedCapacityConfigurationPropertyValidator(properties).assertSuccess(),{ScaleInAfterInactivityMinutes:cdk().numberToCloudFormation(properties.scaleInAfterInactivityMinutes),ZeroCapacityStrategy:cdk().stringToCloudFormation(properties.zeroCapacityStrategy)}):properties}function CfnFleetManagedCapacityConfigurationPropertyFromCloudFormation(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("scaleInAfterInactivityMinutes","ScaleInAfterInactivityMinutes",properties.ScaleInAfterInactivityMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.ScaleInAfterInactivityMinutes):void 0),ret.addPropertyResult("zeroCapacityStrategy","ZeroCapacityStrategy",properties.ZeroCapacityStrategy!=null?cfn_parse().FromCloudFormation.getString(properties.ZeroCapacityStrategy):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().validateNumber)(properties.desiredEc2Instances)),errors.collect(cdk().propertyValidator("managedCapacityConfiguration",CfnFleetManagedCapacityConfigurationPropertyValidator)(properties.managedCapacityConfiguration)),errors.collect(cdk().propertyValidator("maxSize",cdk().requiredValidator)(properties.maxSize)),errors.collect(cdk().propertyValidator("maxSize",cdk().validateNumber)(properties.maxSize)),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),ManagedCapacityConfiguration:convertCfnFleetManagedCapacityConfigurationPropertyToCloudFormation(properties.managedCapacityConfiguration),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("managedCapacityConfiguration","ManagedCapacityConfiguration",properties.ManagedCapacityConfiguration!=null?CfnFleetManagedCapacityConfigurationPropertyFromCloudFormation(properties.ManagedCapacityConfiguration):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.collect(cdk().propertyValidator("playerGatewayStatus",cdk().validateString)(properties.playerGatewayStatus)),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),PlayerGatewayStatus:cdk().stringToCloudFormation(properties.playerGatewayStatus)}):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.addPropertyResult("playerGatewayStatus","PlayerGatewayStatus",properties.PlayerGatewayStatus!=null?cfn_parse().FromCloudFormation.getString(properties.PlayerGatewayStatus):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 CfnFleetPlayerGatewayConfigurationPropertyValidator(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("gameServerIpProtocolSupported",cdk().validateString)(properties.gameServerIpProtocolSupported)),errors.wrap('supplied properties not correct for "PlayerGatewayConfigurationProperty"')}function convertCfnFleetPlayerGatewayConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFleetPlayerGatewayConfigurationPropertyValidator(properties).assertSuccess(),{GameServerIpProtocolSupported:cdk().stringToCloudFormation(properties.gameServerIpProtocolSupported)}):properties}function CfnFleetPlayerGatewayConfigurationPropertyFromCloudFormation(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("gameServerIpProtocolSupported","GameServerIpProtocolSupported",properties.GameServerIpProtocolSupported!=null?cfn_parse().FromCloudFormation.getString(properties.GameServerIpProtocolSupported):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("playerGatewayConfiguration",CfnFleetPlayerGatewayConfigurationPropertyValidator)(properties.playerGatewayConfiguration)),errors.collect(cdk().propertyValidator("playerGatewayMode",cdk().validateString)(properties.playerGatewayMode)),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.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),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),PlayerGatewayConfiguration:convertCfnFleetPlayerGatewayConfigurationPropertyToCloudFormation(properties.playerGatewayConfiguration),PlayerGatewayMode:cdk().stringToCloudFormation(properties.playerGatewayMode),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),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):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("playerGatewayConfiguration","PlayerGatewayConfiguration",properties.PlayerGatewayConfiguration!=null?CfnFleetPlayerGatewayConfigurationPropertyFromCloudFormation(properties.PlayerGatewayConfiguration):void 0),ret.addPropertyResult("playerGatewayMode","PlayerGatewayMode",properties.PlayerGatewayMode!=null?cfn_parse().FromCloudFormation.getString(properties.PlayerGatewayMode):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.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnGameServerGroup extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_gamelift.CfnGameServerGroup",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::GameLift::GameServerGroup";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnGameServerGroup(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnGameServerGroup.CFN_RESOURCE_TYPE_NAME}static arnForGameServerGroup(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_gamelift_IGameServerGroupRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForGameServerGroup),error}return resource.gameServerGroupRef.gameServerGroupArn}_autoScalingPolicy;_balancingStrategy;_deleteOption;_gameServerGroupName;_gameServerProtectionPolicy;_instanceDefinitions;_launchTemplate;_maxSize;_minSize;_roleArn;tags;_tagsRaw;_vpcSubnets;cfnPropertyNames={autoScalingPolicy:"AutoScalingPolicy",balancingStrategy:"BalancingStrategy",deleteOption:"DeleteOption",gameServerGroupName:"GameServerGroupName",gameServerProtectionPolicy:"GameServerProtectionPolicy",instanceDefinitions:"InstanceDefinitions",launchTemplate:"LaunchTemplate",maxSize:"MaxSize",minSize:"MinSize",roleArn:"RoleArn",tags:"Tags",vpcSubnets:"VpcSubnets"};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._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 gameServerGroupRef(){return{gameServerGroupArn:this.ref}}get autoScalingPolicy(){return this._autoScalingPolicy}set autoScalingPolicy(value){cdk().traceProperty(this.node,"AutoScalingPolicy"),this._autoScalingPolicy=value}get balancingStrategy(){return this._balancingStrategy}set balancingStrategy(value){cdk().traceProperty(this.node,"BalancingStrategy"),this._balancingStrategy=value}get deleteOption(){return this._deleteOption}set deleteOption(value){cdk().traceProperty(this.node,"DeleteOption"),this._deleteOption=value}get gameServerGroupName(){return this._gameServerGroupName}set gameServerGroupName(value){cdk().traceProperty(this.node,"GameServerGroupName"),this._gameServerGroupName=value}get gameServerProtectionPolicy(){return this._gameServerProtectionPolicy}set gameServerProtectionPolicy(value){cdk().traceProperty(this.node,"GameServerProtectionPolicy"),this._gameServerProtectionPolicy=value}get instanceDefinitions(){return this._instanceDefinitions}set instanceDefinitions(value){cdk().traceProperty(this.node,"InstanceDefinitions"),this._instanceDefinitions=value}get launchTemplate(){return this._launchTemplate}set launchTemplate(value){cdk().traceProperty(this.node,"LaunchTemplate"),this._launchTemplate=value}get maxSize(){return this._maxSize}set maxSize(value){cdk().traceProperty(this.node,"MaxSize"),this._maxSize=value}get minSize(){return this._minSize}set minSize(value){cdk().traceProperty(this.node,"MinSize"),this._minSize=value}get roleArn(){return this._roleArn}set roleArn(value){cdk().traceProperty(this.node,"RoleArn"),this._roleArn=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get vpcSubnets(){return this._vpcSubnets}set vpcSubnets(value){cdk().traceProperty(this.node,"VpcSubnets"),this._vpcSubnets=value}get attrAutoScalingGroupArn(){return cdk().Token.asString(this.getAtt("AutoScalingGroupArn",cdk().ResolutionTypeHint.STRING))}get attrGameServerGroupArn(){return cdk().Token.asString(this.getAtt("GameServerGroupArn",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnGameServerGroupPropsToCloudFormation(props)}}exports.CfnGameServerGroup=CfnGameServerGroup;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_gamelift.CfnGameSessionQueue",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::GameLift::GameSessionQueue";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnGameSessionQueue(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnGameSessionQueue.CFN_RESOURCE_TYPE_NAME}static fromGameSessionQueueArn(scope,id,arn){class Import extends cdk().Resource{gameSessionQueueRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:gamelift:${Region}:${Account}:gamesessionqueue/${GameSessionQueueName}").parse(arn2);this.gameSessionQueueRef={gameSessionQueueName:variables.GameSessionQueueName,gameSessionQueueArn:arn2}}}return new Import(scope,id,arn)}static fromGameSessionQueueName(scope,id,gameSessionQueueName){class Import extends cdk().Resource{gameSessionQueueRef;constructor(scope2,id2,gameSessionQueueName2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:gamelift:${Region}:${Account}:gamesessionqueue/${GameSessionQueueName}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,GameSessionQueueName:gameSessionQueueName2});super(scope2,id2,{environmentFromArn:arn}),this.gameSessionQueueRef={gameSessionQueueName:gameSessionQueueName2,gameSessionQueueArn:arn}}}return new Import(scope,id,gameSessionQueueName)}static arnForGameSessionQueue(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_gamelift_IGameSessionQueueRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForGameSessionQueue),error}return resource.gameSessionQueueRef.gameSessionQueueArn}_customEventData;_destinations;_filterConfiguration;_name;_notificationTarget;_playerLatencyPolicies;_priorityConfiguration;tags;_tagsRaw;_timeoutInSeconds;cfnPropertyNames={customEventData:"CustomEventData",destinations:"Destinations",filterConfiguration:"FilterConfiguration",name:"Name",notificationTarget:"NotificationTarget",playerLatencyPolicies:"PlayerLatencyPolicies",priorityConfiguration:"PriorityConfiguration",tags:"Tags",timeoutInSeconds:"TimeoutInSeconds"};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._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 gameSessionQueueRef(){return{gameSessionQueueName:this.ref,gameSessionQueueArn:this.attrArn}}get customEventData(){return this._customEventData}set customEventData(value){cdk().traceProperty(this.node,"CustomEventData"),this._customEventData=value}get destinations(){return this._destinations}set destinations(value){cdk().traceProperty(this.node,"Destinations"),this._destinations=value}get filterConfiguration(){return this._filterConfiguration}set filterConfiguration(value){cdk().traceProperty(this.node,"FilterConfiguration"),this._filterConfiguration=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get notificationTarget(){return this._notificationTarget}set notificationTarget(value){cdk().traceProperty(this.node,"NotificationTarget"),this._notificationTarget=value}get playerLatencyPolicies(){return this._playerLatencyPolicies}set playerLatencyPolicies(value){cdk().traceProperty(this.node,"PlayerLatencyPolicies"),this._playerLatencyPolicies=value}get priorityConfiguration(){return this._priorityConfiguration}set priorityConfiguration(value){cdk().traceProperty(this.node,"PriorityConfiguration"),this._priorityConfiguration=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get timeoutInSeconds(){return this._timeoutInSeconds}set timeoutInSeconds(value){cdk().traceProperty(this.node,"TimeoutInSeconds"),this._timeoutInSeconds=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrName(){return cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnGameSessionQueuePropsToCloudFormation(props)}}exports.CfnGameSessionQueue=CfnGameSessionQueue;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_gamelift.CfnLocation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::GameLift::Location";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnLocation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLocation.CFN_RESOURCE_TYPE_NAME}static arnForLocation(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_gamelift_ILocationRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForLocation),error}return resource.locationRef.locationArn}_locationName;tags;_tagsRaw;cfnPropertyNames={locationName:"LocationName",tags:"Tags"};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._locationName=props.locationName,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::GameLift::Location",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get locationRef(){return{locationName:this.ref,locationArn:this.attrLocationArn}}get locationName(){return this._locationName}set locationName(value){cdk().traceProperty(this.node,"LocationName"),this._locationName=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrLocationArn(){return cdk().Token.asString(this.getAtt("LocationArn",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLocationPropsToCloudFormation(props)}}exports.CfnLocation=CfnLocation;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_gamelift.CfnMatchmakingConfiguration",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::GameLift::MatchmakingConfiguration";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnMatchmakingConfiguration(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnMatchmakingConfiguration.CFN_RESOURCE_TYPE_NAME}static fromMatchmakingConfigurationArn(scope,id,arn){class Import extends cdk().Resource{matchmakingConfigurationRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:gamelift:${Region}:${Account}:matchmakingconfiguration/${MatchmakingConfigurationName}").parse(arn2);this.matchmakingConfigurationRef={matchmakingConfigurationName:variables.MatchmakingConfigurationName,matchmakingConfigurationArn:arn2}}}return new Import(scope,id,arn)}static fromMatchmakingConfigurationName(scope,id,matchmakingConfigurationName){class Import extends cdk().Resource{matchmakingConfigurationRef;constructor(scope2,id2,matchmakingConfigurationName2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:gamelift:${Region}:${Account}:matchmakingconfiguration/${MatchmakingConfigurationName}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,MatchmakingConfigurationName:matchmakingConfigurationName2});super(scope2,id2,{environmentFromArn:arn}),this.matchmakingConfigurationRef={matchmakingConfigurationName:matchmakingConfigurationName2,matchmakingConfigurationArn:arn}}}return new Import(scope,id,matchmakingConfigurationName)}static arnForMatchmakingConfiguration(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_gamelift_IMatchmakingConfigurationRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForMatchmakingConfiguration),error}return resource.matchmakingConfigurationRef.matchmakingConfigurationArn}_acceptanceRequired;_acceptanceTimeoutSeconds;_additionalPlayerCount;_backfillMode;_creationTime;_customEventData;_description;_flexMatchMode;_gameProperties;_gameSessionData;_gameSessionQueueArns;_name;_notificationTarget;_requestTimeoutSeconds;_ruleSetArn;_ruleSetName;tags;_tagsRaw;cfnPropertyNames={acceptanceRequired:"AcceptanceRequired",acceptanceTimeoutSeconds:"AcceptanceTimeoutSeconds",additionalPlayerCount:"AdditionalPlayerCount",backfillMode:"BackfillMode",creationTime:"CreationTime",customEventData:"CustomEventData",description:"Description",flexMatchMode:"FlexMatchMode",gameProperties:"GameProperties",gameSessionData:"GameSessionData",gameSessionQueueArns:"GameSessionQueueArns",name:"Name",notificationTarget:"NotificationTarget",requestTimeoutSeconds:"RequestTimeoutSeconds",ruleSetArn:"RuleSetArn",ruleSetName:"RuleSetName",tags:"Tags"};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._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 matchmakingConfigurationRef(){return{matchmakingConfigurationName:this.ref,matchmakingConfigurationArn:this.attrArn}}get acceptanceRequired(){return this._acceptanceRequired}set acceptanceRequired(value){cdk().traceProperty(this.node,"AcceptanceRequired"),this._acceptanceRequired=value}get acceptanceTimeoutSeconds(){return this._acceptanceTimeoutSeconds}set acceptanceTimeoutSeconds(value){cdk().traceProperty(this.node,"AcceptanceTimeoutSeconds"),this._acceptanceTimeoutSeconds=value}get additionalPlayerCount(){return this._additionalPlayerCount}set additionalPlayerCount(value){cdk().traceProperty(this.node,"AdditionalPlayerCount"),this._additionalPlayerCount=value}get backfillMode(){return this._backfillMode}set backfillMode(value){cdk().traceProperty(this.node,"BackfillMode"),this._backfillMode=value}get creationTime(){return this._creationTime}set creationTime(value){cdk().traceProperty(this.node,"CreationTime"),this._creationTime=value}get customEventData(){return this._customEventData}set customEventData(value){cdk().traceProperty(this.node,"CustomEventData"),this._customEventData=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get flexMatchMode(){return this._flexMatchMode}set flexMatchMode(value){cdk().traceProperty(this.node,"FlexMatchMode"),this._flexMatchMode=value}get gameProperties(){return this._gameProperties}set gameProperties(value){cdk().traceProperty(this.node,"GameProperties"),this._gameProperties=value}get gameSessionData(){return this._gameSessionData}set gameSessionData(value){cdk().traceProperty(this.node,"GameSessionData"),this._gameSessionData=value}get gameSessionQueueArns(){return this._gameSessionQueueArns}set gameSessionQueueArns(value){cdk().traceProperty(this.node,"GameSessionQueueArns"),this._gameSessionQueueArns=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get notificationTarget(){return this._notificationTarget}set notificationTarget(value){cdk().traceProperty(this.node,"NotificationTarget"),this._notificationTarget=value}get requestTimeoutSeconds(){return this._requestTimeoutSeconds}set requestTimeoutSeconds(value){cdk().traceProperty(this.node,"RequestTimeoutSeconds"),this._requestTimeoutSeconds=value}get ruleSetArn(){return this._ruleSetArn}set ruleSetArn(value){cdk().traceProperty(this.node,"RuleSetArn"),this._ruleSetArn=value}get ruleSetName(){return this._ruleSetName}set ruleSetName(value){cdk().traceProperty(this.node,"RuleSetName"),this._ruleSetName=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrName(){return cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnMatchmakingConfigurationPropsToCloudFormation(props)}}exports.CfnMatchmakingConfiguration=CfnMatchmakingConfiguration;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_gamelift.CfnMatchmakingRuleSet",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::GameLift::MatchmakingRuleSet";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnMatchmakingRuleSet(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnMatchmakingRuleSet.CFN_RESOURCE_TYPE_NAME}static fromMatchmakingRuleSetArn(scope,id,arn){class Import extends cdk().Resource{matchmakingRuleSetRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:gamelift:${Region}:${Account}:matchmakingruleset/${MatchmakingRuleSetName}").parse(arn2);this.matchmakingRuleSetRef={matchmakingRuleSetName:variables.MatchmakingRuleSetName,matchmakingRuleSetArn:arn2}}}return new Import(scope,id,arn)}static fromMatchmakingRuleSetName(scope,id,matchmakingRuleSetName){class Import extends cdk().Resource{matchmakingRuleSetRef;constructor(scope2,id2,matchmakingRuleSetName2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:gamelift:${Region}:${Account}:matchmakingruleset/${MatchmakingRuleSetName}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,MatchmakingRuleSetName:matchmakingRuleSetName2});super(scope2,id2,{environmentFromArn:arn}),this.matchmakingRuleSetRef={matchmakingRuleSetName:matchmakingRuleSetName2,matchmakingRuleSetArn:arn}}}return new Import(scope,id,matchmakingRuleSetName)}static arnForMatchmakingRuleSet(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_gamelift_IMatchmakingRuleSetRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForMatchmakingRuleSet),error}return resource.matchmakingRuleSetRef.matchmakingRuleSetArn}_name;_ruleSetBody;tags;_tagsRaw;cfnPropertyNames={name:"Name",ruleSetBody:"RuleSetBody",tags:"Tags"};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._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 matchmakingRuleSetRef(){return{matchmakingRuleSetName:this.ref,matchmakingRuleSetArn:this.attrArn}}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get ruleSetBody(){return this._ruleSetBody}set ruleSetBody(value){cdk().traceProperty(this.node,"RuleSetBody"),this._ruleSetBody=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreationTime(){return cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING))}get attrName(){return cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnMatchmakingRuleSetPropsToCloudFormation(props)}}exports.CfnMatchmakingRuleSet=CfnMatchmakingRuleSet;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_gamelift.CfnScript",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::GameLift::Script";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnScript(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnScript.CFN_RESOURCE_TYPE_NAME}static fromScriptArn(scope,id,arn){class Import extends cdk().Resource{scriptRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:gamelift:${Region}:${Account}:script/${ScriptId}").parse(arn2);this.scriptRef={scriptId:variables.ScriptId,scriptArn:arn2}}}return new Import(scope,id,arn)}static fromScriptId(scope,id,scriptId){class Import extends cdk().Resource{scriptRef;constructor(scope2,id2,scriptId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:gamelift:${Region}:${Account}:script/${ScriptId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,ScriptId:scriptId2});super(scope2,id2,{environmentFromArn:arn}),this.scriptRef={scriptId:scriptId2,scriptArn:arn}}}return new Import(scope,id,scriptId)}static arnForScript(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_gamelift_IScriptRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForScript),error}return resource.scriptRef.scriptArn}_name;_nodeJsVersion;_storageLocation;tags;_tagsRaw;_version;cfnPropertyNames={name:"Name",nodeJsVersion:"NodeJsVersion",storageLocation:"StorageLocation",tags:"Tags",version:"Version"};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._name=props.name,this._nodeJsVersion=props.nodeJsVersion,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 scriptRef(){return{scriptId:this.ref,scriptArn:this.attrArn}}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get nodeJsVersion(){return this._nodeJsVersion}set nodeJsVersion(value){cdk().traceProperty(this.node,"NodeJsVersion"),this._nodeJsVersion=value}get storageLocation(){return this._storageLocation}set storageLocation(value){cdk().traceProperty(this.node,"StorageLocation"),this._storageLocation=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get version(){return this._version}set version(value){cdk().traceProperty(this.node,"Version"),this._version=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreationTime(){return cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrSizeOnDisk(){return cdk().Token.asNumber(this.getAtt("SizeOnDisk",cdk().ResolutionTypeHint.NUMBER))}get cfnProperties(){return{name:this._name,nodeJsVersion:this._nodeJsVersion,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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnScriptPropsToCloudFormation(props)}}exports.CfnScript=CfnScript;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("nodeJsVersion",cdk().validateString)(properties.nodeJsVersion)),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),NodeJsVersion:cdk().stringToCloudFormation(properties.nodeJsVersion),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("nodeJsVersion","NodeJsVersion",properties.NodeJsVersion!=null?cfn_parse().FromCloudFormation.getString(properties.NodeJsVersion):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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_gamelift.CfnContainerFleet",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::GameLift::ContainerFleet";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnContainerFleet(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnContainerFleet.CFN_RESOURCE_TYPE_NAME}static fromContainerFleetArn(scope,id,arn){class Import extends cdk().Resource{containerFleetRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:gamelift:${Region}:${Account}:containerfleet/${FleetId}").parse(arn2);this.containerFleetRef={fleetId:variables.FleetId,fleetArn:arn2}}}return new Import(scope,id,arn)}static fromFleetId(scope,id,fleetId){class Import extends cdk().Resource{containerFleetRef;constructor(scope2,id2,fleetId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:gamelift:${Region}:${Account}:containerfleet/${FleetId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,FleetId:fleetId2});super(scope2,id2,{environmentFromArn:arn}),this.containerFleetRef={fleetId:fleetId2,fleetArn:arn}}}return new Import(scope,id,fleetId)}static arnForContainerFleet(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_gamelift_IContainerFleetRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForContainerFleet),error}return resource.containerFleetRef.fleetArn}_billingType;cdkTagManager;_deploymentConfiguration;_description;_fleetRoleArn;_gameServerContainerGroupDefinitionName;_gameServerContainerGroupsPerInstance;_gameSessionCreationLimitPolicy;_instanceConnectionPortRange;_instanceInboundPermissions;_instanceType;_locations;_logConfiguration;_metricGroups;_newGameSessionProtectionPolicy;_perInstanceContainerGroupDefinitionName;_playerGatewayMode;_scalingPolicies;_tags;cfnPropertyNames={billingType:"BillingType",tags:"Tags",deploymentConfiguration:"DeploymentConfiguration",description:"Description",fleetRoleArn:"FleetRoleArn",gameServerContainerGroupDefinitionName:"GameServerContainerGroupDefinitionName",gameServerContainerGroupsPerInstance:"GameServerContainerGroupsPerInstance",gameSessionCreationLimitPolicy:"GameSessionCreationLimitPolicy",instanceConnectionPortRange:"InstanceConnectionPortRange",instanceInboundPermissions:"InstanceInboundPermissions",instanceType:"InstanceType",locations:"Locations",logConfiguration:"LogConfiguration",metricGroups:"MetricGroups",newGameSessionProtectionPolicy:"NewGameSessionProtectionPolicy",perInstanceContainerGroupDefinitionName:"PerInstanceContainerGroupDefinitionName",playerGatewayMode:"PlayerGatewayMode",scalingPolicies:"ScalingPolicies"};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._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._playerGatewayMode=props.playerGatewayMode,this._scalingPolicies=props.scalingPolicies,this._tags=props.tags}get containerFleetRef(){return{fleetId:this.ref,fleetArn:this.attrFleetArn}}get billingType(){return this._billingType}set billingType(value){cdk().traceProperty(this.node,"BillingType"),this._billingType=value}get deploymentConfiguration(){return this._deploymentConfiguration}set deploymentConfiguration(value){cdk().traceProperty(this.node,"DeploymentConfiguration"),this._deploymentConfiguration=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get fleetRoleArn(){return this._fleetRoleArn}set fleetRoleArn(value){cdk().traceProperty(this.node,"FleetRoleArn"),this._fleetRoleArn=value}get gameServerContainerGroupDefinitionName(){return this._gameServerContainerGroupDefinitionName}set gameServerContainerGroupDefinitionName(value){cdk().traceProperty(this.node,"GameServerContainerGroupDefinitionName"),this._gameServerContainerGroupDefinitionName=value}get gameServerContainerGroupsPerInstance(){return this._gameServerContainerGroupsPerInstance}set gameServerContainerGroupsPerInstance(value){cdk().traceProperty(this.node,"GameServerContainerGroupsPerInstance"),this._gameServerContainerGroupsPerInstance=value}get gameSessionCreationLimitPolicy(){return this._gameSessionCreationLimitPolicy}set gameSessionCreationLimitPolicy(value){cdk().traceProperty(this.node,"GameSessionCreationLimitPolicy"),this._gameSessionCreationLimitPolicy=value}get instanceConnectionPortRange(){return this._instanceConnectionPortRange}set instanceConnectionPortRange(value){cdk().traceProperty(this.node,"InstanceConnectionPortRange"),this._instanceConnectionPortRange=value}get instanceInboundPermissions(){return this._instanceInboundPermissions}set instanceInboundPermissions(value){cdk().traceProperty(this.node,"InstanceInboundPermissions"),this._instanceInboundPermissions=value}get instanceType(){return this._instanceType}set instanceType(value){cdk().traceProperty(this.node,"InstanceType"),this._instanceType=value}get locations(){return this._locations}set locations(value){cdk().traceProperty(this.node,"Locations"),this._locations=value}get logConfiguration(){return this._logConfiguration}set logConfiguration(value){cdk().traceProperty(this.node,"LogConfiguration"),this._logConfiguration=value}get metricGroups(){return this._metricGroups}set metricGroups(value){cdk().traceProperty(this.node,"MetricGroups"),this._metricGroups=value}get newGameSessionProtectionPolicy(){return this._newGameSessionProtectionPolicy}set newGameSessionProtectionPolicy(value){cdk().traceProperty(this.node,"NewGameSessionProtectionPolicy"),this._newGameSessionProtectionPolicy=value}get perInstanceContainerGroupDefinitionName(){return this._perInstanceContainerGroupDefinitionName}set perInstanceContainerGroupDefinitionName(value){cdk().traceProperty(this.node,"PerInstanceContainerGroupDefinitionName"),this._perInstanceContainerGroupDefinitionName=value}get playerGatewayMode(){return this._playerGatewayMode}set playerGatewayMode(value){cdk().traceProperty(this.node,"PlayerGatewayMode"),this._playerGatewayMode=value}get scalingPolicies(){return this._scalingPolicies}set scalingPolicies(value){cdk().traceProperty(this.node,"ScalingPolicies"),this._scalingPolicies=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrCreationTime(){return cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING))}get attrDeploymentDetails(){return this.getAtt("DeploymentDetails")}get attrFleetArn(){return cdk().Token.asString(this.getAtt("FleetArn",cdk().ResolutionTypeHint.STRING))}get attrFleetId(){return cdk().Token.asString(this.getAtt("FleetId",cdk().ResolutionTypeHint.STRING))}get attrGameServerContainerGroupDefinitionArn(){return cdk().Token.asString(this.getAtt("GameServerContainerGroupDefinitionArn",cdk().ResolutionTypeHint.STRING))}get attrMaximumGameServerContainerGroupsPerInstance(){return cdk().Token.asNumber(this.getAtt("MaximumGameServerContainerGroupsPerInstance",cdk().ResolutionTypeHint.NUMBER))}get attrPerInstanceContainerGroupDefinitionArn(){return cdk().Token.asString(this.getAtt("PerInstanceContainerGroupDefinitionArn",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}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,playerGatewayMode:this._playerGatewayMode,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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnContainerFleetPropsToCloudFormation(props)}}exports.CfnContainerFleet=CfnContainerFleet;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 CfnContainerFleetManagedCapacityConfigurationPropertyValidator(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("scaleInAfterInactivityMinutes",cdk().validateNumber)(properties.scaleInAfterInactivityMinutes)),errors.collect(cdk().propertyValidator("zeroCapacityStrategy",cdk().requiredValidator)(properties.zeroCapacityStrategy)),errors.collect(cdk().propertyValidator("zeroCapacityStrategy",cdk().validateString)(properties.zeroCapacityStrategy)),errors.wrap('supplied properties not correct for "ManagedCapacityConfigurationProperty"')}function convertCfnContainerFleetManagedCapacityConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContainerFleetManagedCapacityConfigurationPropertyValidator(properties).assertSuccess(),{ScaleInAfterInactivityMinutes:cdk().numberToCloudFormation(properties.scaleInAfterInactivityMinutes),ZeroCapacityStrategy:cdk().stringToCloudFormation(properties.zeroCapacityStrategy)}):properties}function CfnContainerFleetManagedCapacityConfigurationPropertyFromCloudFormation(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("scaleInAfterInactivityMinutes","ScaleInAfterInactivityMinutes",properties.ScaleInAfterInactivityMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.ScaleInAfterInactivityMinutes):void 0),ret.addPropertyResult("zeroCapacityStrategy","ZeroCapacityStrategy",properties.ZeroCapacityStrategy!=null?cfn_parse().FromCloudFormation.getString(properties.ZeroCapacityStrategy):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().validateNumber)(properties.desiredEc2Instances)),errors.collect(cdk().propertyValidator("managedCapacityConfiguration",CfnContainerFleetManagedCapacityConfigurationPropertyValidator)(properties.managedCapacityConfiguration)),errors.collect(cdk().propertyValidator("maxSize",cdk().requiredValidator)(properties.maxSize)),errors.collect(cdk().propertyValidator("maxSize",cdk().validateNumber)(properties.maxSize)),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),ManagedCapacityConfiguration:convertCfnContainerFleetManagedCapacityConfigurationPropertyToCloudFormation(properties.managedCapacityConfiguration),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("managedCapacityConfiguration","ManagedCapacityConfiguration",properties.ManagedCapacityConfiguration!=null?CfnContainerFleetManagedCapacityConfigurationPropertyFromCloudFormation(properties.ManagedCapacityConfiguration):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("playerGatewayStatus",cdk().validateString)(properties.playerGatewayStatus)),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),PlayerGatewayStatus:cdk().stringToCloudFormation(properties.playerGatewayStatus),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("playerGatewayStatus","PlayerGatewayStatus",properties.PlayerGatewayStatus!=null?cfn_parse().FromCloudFormation.getString(properties.PlayerGatewayStatus):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("logGroupArn",cdk().validateString)(properties.logGroupArn)),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),LogGroupArn:cdk().stringToCloudFormation(properties.logGroupArn),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("logGroupArn","LogGroupArn",properties.LogGroupArn!=null?cfn_parse().FromCloudFormation.getString(properties.LogGroupArn):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("playerGatewayMode",cdk().validateString)(properties.playerGatewayMode)),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),PlayerGatewayMode:cdk().stringToCloudFormation(properties.playerGatewayMode),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("playerGatewayMode","PlayerGatewayMode",properties.PlayerGatewayMode!=null?cfn_parse().FromCloudFormation.getString(properties.PlayerGatewayMode):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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_gamelift.CfnContainerGroupDefinition",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::GameLift::ContainerGroupDefinition";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnContainerGroupDefinition(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnContainerGroupDefinition.CFN_RESOURCE_TYPE_NAME}static arnForContainerGroupDefinition(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_gamelift_IContainerGroupDefinitionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForContainerGroupDefinition),error}return resource.containerGroupDefinitionRef.containerGroupDefinitionArn}cdkTagManager;_containerGroupType;_gameServerContainerDefinition;_name;_operatingSystem;_sourceVersionNumber;_supportContainerDefinitions;_tags;_totalMemoryLimitMebibytes;_totalVcpuLimit;_versionDescription;cfnPropertyNames={tags:"Tags",containerGroupType:"ContainerGroupType",gameServerContainerDefinition:"GameServerContainerDefinition",name:"Name",operatingSystem:"OperatingSystem",sourceVersionNumber:"SourceVersionNumber",supportContainerDefinitions:"SupportContainerDefinitions",totalMemoryLimitMebibytes:"TotalMemoryLimitMebibytes",totalVcpuLimit:"TotalVcpuLimit",versionDescription:"VersionDescription"};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.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 containerGroupDefinitionRef(){return{containerGroupDefinitionName:this.ref,containerGroupDefinitionArn:this.attrContainerGroupDefinitionArn}}get containerGroupType(){return this._containerGroupType}set containerGroupType(value){cdk().traceProperty(this.node,"ContainerGroupType"),this._containerGroupType=value}get gameServerContainerDefinition(){return this._gameServerContainerDefinition}set gameServerContainerDefinition(value){cdk().traceProperty(this.node,"GameServerContainerDefinition"),this._gameServerContainerDefinition=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get operatingSystem(){return this._operatingSystem}set operatingSystem(value){cdk().traceProperty(this.node,"OperatingSystem"),this._operatingSystem=value}get sourceVersionNumber(){return this._sourceVersionNumber}set sourceVersionNumber(value){cdk().traceProperty(this.node,"SourceVersionNumber"),this._sourceVersionNumber=value}get supportContainerDefinitions(){return this._supportContainerDefinitions}set supportContainerDefinitions(value){cdk().traceProperty(this.node,"SupportContainerDefinitions"),this._supportContainerDefinitions=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get totalMemoryLimitMebibytes(){return this._totalMemoryLimitMebibytes}set totalMemoryLimitMebibytes(value){cdk().traceProperty(this.node,"TotalMemoryLimitMebibytes"),this._totalMemoryLimitMebibytes=value}get totalVcpuLimit(){return this._totalVcpuLimit}set totalVcpuLimit(value){cdk().traceProperty(this.node,"TotalVcpuLimit"),this._totalVcpuLimit=value}get versionDescription(){return this._versionDescription}set versionDescription(value){cdk().traceProperty(this.node,"VersionDescription"),this._versionDescription=value}get attrContainerGroupDefinitionArn(){return cdk().Token.asString(this.getAtt("ContainerGroupDefinitionArn",cdk().ResolutionTypeHint.STRING))}get attrCreationTime(){return cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrStatusReason(){return cdk().Token.asString(this.getAtt("StatusReason",cdk().ResolutionTypeHint.STRING))}get attrVersionNumber(){return cdk().Token.asNumber(this.getAtt("VersionNumber",cdk().ResolutionTypeHint.NUMBER))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnContainerGroupDefinitionPropsToCloudFormation(props)}}exports.CfnContainerGroupDefinition=CfnContainerGroupDefinition;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}
|