Files
agent-claw/cdk/node_modules/aws-cdk-lib/aws-appstream/lib/appstream.generated.js
2026-05-06 18:55:16 -05:00

2 lines
160 KiB
JavaScript

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnUser=exports.CfnStackUserAssociation=exports.CfnStackFleetAssociation=exports.CfnStack=exports.CfnImageBuilder=exports.CfnFleet=exports.CfnEntitlement=exports.CfnDirectoryConfig=exports.CfnApplicationFleetAssociation=exports.CfnApplicationEntitlementAssociation=exports.CfnApplication=exports.CfnAppBlockBuilder=exports.CfnAppBlock=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 CfnAppBlock extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_appstream.CfnAppBlock",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::AppStream::AppBlock";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAppBlockPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnAppBlock(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 isCfnAppBlock(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAppBlock.CFN_RESOURCE_TYPE_NAME}static arnForAppBlock(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_appstream_IAppBlockRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAppBlock),error}return resource.appBlockRef.appBlockArn}_description;_displayName;_name;_packagingType;_postSetupScriptDetails;_setupScriptDetails;_sourceS3Location;tags;_tagsRaw;cfnPropertyNames={description:"Description",displayName:"DisplayName",name:"Name",packagingType:"PackagingType",postSetupScriptDetails:"PostSetupScriptDetails",setupScriptDetails:"SetupScriptDetails",sourceS3Location:"SourceS3Location",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnAppBlock.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_appstream_CfnAppBlockProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAppBlock),error}cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"sourceS3Location",this),this._description=props.description,this._displayName=props.displayName,this._name=props.name,this._packagingType=props.packagingType,this._postSetupScriptDetails=props.postSetupScriptDetails,this._setupScriptDetails=props.setupScriptDetails,this._sourceS3Location=props.sourceS3Location,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::AppStream::AppBlock",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get appBlockRef(){return{appBlockArn:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get displayName(){return this._displayName}set displayName(value){cdk().traceProperty(this.node,"DisplayName"),this._displayName=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get packagingType(){return this._packagingType}set packagingType(value){cdk().traceProperty(this.node,"PackagingType"),this._packagingType=value}get postSetupScriptDetails(){return this._postSetupScriptDetails}set postSetupScriptDetails(value){cdk().traceProperty(this.node,"PostSetupScriptDetails"),this._postSetupScriptDetails=value}get setupScriptDetails(){return this._setupScriptDetails}set setupScriptDetails(value){cdk().traceProperty(this.node,"SetupScriptDetails"),this._setupScriptDetails=value}get sourceS3Location(){return this._sourceS3Location}set sourceS3Location(value){cdk().traceProperty(this.node,"SourceS3Location"),this._sourceS3Location=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 attrCreatedTime(){return cdk().Token.asString(this.getAtt("CreatedTime",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{description:this._description,displayName:this._displayName,name:this._name,packagingType:this._packagingType,postSetupScriptDetails:this._postSetupScriptDetails,setupScriptDetails:this._setupScriptDetails,sourceS3Location:this._sourceS3Location,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",CfnAppBlock.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAppBlockPropsToCloudFormation(props)}}exports.CfnAppBlock=CfnAppBlock;function CfnAppBlockS3LocationPropertyValidator(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("s3Bucket",cdk().requiredValidator)(properties.s3Bucket)),errors.collect(cdk().propertyValidator("s3Bucket",cdk().validateString)(properties.s3Bucket)),errors.collect(cdk().propertyValidator("s3Key",cdk().validateString)(properties.s3Key)),errors.wrap('supplied properties not correct for "S3LocationProperty"')}function convertCfnAppBlockS3LocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAppBlockS3LocationPropertyValidator(properties).assertSuccess(),{S3Bucket:cdk().stringToCloudFormation(properties.s3Bucket),S3Key:cdk().stringToCloudFormation(properties.s3Key)}):properties}function CfnAppBlockS3LocationPropertyFromCloudFormation(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("s3Bucket","S3Bucket",properties.S3Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.S3Bucket):void 0),ret.addPropertyResult("s3Key","S3Key",properties.S3Key!=null?cfn_parse().FromCloudFormation.getString(properties.S3Key):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAppBlockScriptDetailsPropertyValidator(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("executableParameters",cdk().validateString)(properties.executableParameters)),errors.collect(cdk().propertyValidator("executablePath",cdk().requiredValidator)(properties.executablePath)),errors.collect(cdk().propertyValidator("executablePath",cdk().validateString)(properties.executablePath)),errors.collect(cdk().propertyValidator("scriptS3Location",cdk().requiredValidator)(properties.scriptS3Location)),errors.collect(cdk().propertyValidator("scriptS3Location",CfnAppBlockS3LocationPropertyValidator)(properties.scriptS3Location)),errors.collect(cdk().propertyValidator("timeoutInSeconds",cdk().requiredValidator)(properties.timeoutInSeconds)),errors.collect(cdk().propertyValidator("timeoutInSeconds",cdk().validateNumber)(properties.timeoutInSeconds)),errors.wrap('supplied properties not correct for "ScriptDetailsProperty"')}function convertCfnAppBlockScriptDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAppBlockScriptDetailsPropertyValidator(properties).assertSuccess(),{ExecutableParameters:cdk().stringToCloudFormation(properties.executableParameters),ExecutablePath:cdk().stringToCloudFormation(properties.executablePath),ScriptS3Location:convertCfnAppBlockS3LocationPropertyToCloudFormation(properties.scriptS3Location),TimeoutInSeconds:cdk().numberToCloudFormation(properties.timeoutInSeconds)}):properties}function CfnAppBlockScriptDetailsPropertyFromCloudFormation(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("executableParameters","ExecutableParameters",properties.ExecutableParameters!=null?cfn_parse().FromCloudFormation.getString(properties.ExecutableParameters):void 0),ret.addPropertyResult("executablePath","ExecutablePath",properties.ExecutablePath!=null?cfn_parse().FromCloudFormation.getString(properties.ExecutablePath):void 0),ret.addPropertyResult("scriptS3Location","ScriptS3Location",properties.ScriptS3Location!=null?CfnAppBlockS3LocationPropertyFromCloudFormation(properties.ScriptS3Location):void 0),ret.addPropertyResult("timeoutInSeconds","TimeoutInSeconds",properties.TimeoutInSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutInSeconds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAppBlockPropsValidator(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("displayName",cdk().validateString)(properties.displayName)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("packagingType",cdk().validateString)(properties.packagingType)),errors.collect(cdk().propertyValidator("postSetupScriptDetails",CfnAppBlockScriptDetailsPropertyValidator)(properties.postSetupScriptDetails)),errors.collect(cdk().propertyValidator("setupScriptDetails",CfnAppBlockScriptDetailsPropertyValidator)(properties.setupScriptDetails)),errors.collect(cdk().propertyValidator("sourceS3Location",cdk().requiredValidator)(properties.sourceS3Location)),errors.collect(cdk().propertyValidator("sourceS3Location",CfnAppBlockS3LocationPropertyValidator)(properties.sourceS3Location)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnAppBlockProps"')}function convertCfnAppBlockPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAppBlockPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),DisplayName:cdk().stringToCloudFormation(properties.displayName),Name:cdk().stringToCloudFormation(properties.name),PackagingType:cdk().stringToCloudFormation(properties.packagingType),PostSetupScriptDetails:convertCfnAppBlockScriptDetailsPropertyToCloudFormation(properties.postSetupScriptDetails),SetupScriptDetails:convertCfnAppBlockScriptDetailsPropertyToCloudFormation(properties.setupScriptDetails),SourceS3Location:convertCfnAppBlockS3LocationPropertyToCloudFormation(properties.sourceS3Location),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnAppBlockPropsFromCloudFormation(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("displayName","DisplayName",properties.DisplayName!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayName):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("packagingType","PackagingType",properties.PackagingType!=null?cfn_parse().FromCloudFormation.getString(properties.PackagingType):void 0),ret.addPropertyResult("postSetupScriptDetails","PostSetupScriptDetails",properties.PostSetupScriptDetails!=null?CfnAppBlockScriptDetailsPropertyFromCloudFormation(properties.PostSetupScriptDetails):void 0),ret.addPropertyResult("setupScriptDetails","SetupScriptDetails",properties.SetupScriptDetails!=null?CfnAppBlockScriptDetailsPropertyFromCloudFormation(properties.SetupScriptDetails):void 0),ret.addPropertyResult("sourceS3Location","SourceS3Location",properties.SourceS3Location!=null?CfnAppBlockS3LocationPropertyFromCloudFormation(properties.SourceS3Location):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 CfnAppBlockBuilder extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_appstream.CfnAppBlockBuilder",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::AppStream::AppBlockBuilder";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAppBlockBuilderPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnAppBlockBuilder(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 isCfnAppBlockBuilder(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAppBlockBuilder.CFN_RESOURCE_TYPE_NAME}static fromAppBlockBuilderArn(scope,id,arn){class Import extends cdk().Resource{appBlockBuilderRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:appstream:${Region}:${Account}:app-block-builder/${AppBlockBuilderName}").parse(arn2);this.appBlockBuilderRef={appBlockBuilderName:variables.AppBlockBuilderName,appBlockBuilderArn:arn2}}}return new Import(scope,id,arn)}static fromAppBlockBuilderName(scope,id,appBlockBuilderName){class Import extends cdk().Resource{appBlockBuilderRef;constructor(scope2,id2,appBlockBuilderName2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:appstream:${Region}:${Account}:app-block-builder/${AppBlockBuilderName}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,AppBlockBuilderName:appBlockBuilderName2});super(scope2,id2,{environmentFromArn:arn}),this.appBlockBuilderRef={appBlockBuilderName:appBlockBuilderName2,appBlockBuilderArn:arn}}}return new Import(scope,id,appBlockBuilderName)}static arnForAppBlockBuilder(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_appstream_IAppBlockBuilderRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAppBlockBuilder),error}return resource.appBlockBuilderRef.appBlockBuilderArn}_accessEndpoints;_appBlockArns;cdkTagManager;_description;_displayName;_enableDefaultInternetAccess;_iamRoleArn;_instanceType;_name;_platform;_tags;_vpcConfig;cfnPropertyNames={accessEndpoints:"AccessEndpoints",appBlockArns:"AppBlockArns",tags:"Tags",description:"Description",displayName:"DisplayName",enableDefaultInternetAccess:"EnableDefaultInternetAccess",iamRoleArn:"IamRoleArn",instanceType:"InstanceType",name:"Name",platform:"Platform",vpcConfig:"VpcConfig"};constructor(scope,id,props){super(scope,id,{type:CfnAppBlockBuilder.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_appstream_CfnAppBlockBuilderProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAppBlockBuilder),error}cdk().requireProperty(props,"instanceType",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"platform",this),cdk().requireProperty(props,"vpcConfig",this),this._accessEndpoints=props.accessEndpoints,this._appBlockArns=props.appBlockArns,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::AppStream::AppBlockBuilder",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._displayName=props.displayName,this._enableDefaultInternetAccess=props.enableDefaultInternetAccess,this._iamRoleArn=props.iamRoleArn,this._instanceType=props.instanceType,this._name=props.name,this._platform=props.platform,this._tags=props.tags,this._vpcConfig=props.vpcConfig}get appBlockBuilderRef(){return{appBlockBuilderName:this.ref,appBlockBuilderArn:this.attrArn}}get accessEndpoints(){return this._accessEndpoints}set accessEndpoints(value){cdk().traceProperty(this.node,"AccessEndpoints"),this._accessEndpoints=value}get appBlockArns(){return this._appBlockArns}set appBlockArns(value){cdk().traceProperty(this.node,"AppBlockArns"),this._appBlockArns=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get displayName(){return this._displayName}set displayName(value){cdk().traceProperty(this.node,"DisplayName"),this._displayName=value}get enableDefaultInternetAccess(){return this._enableDefaultInternetAccess}set enableDefaultInternetAccess(value){cdk().traceProperty(this.node,"EnableDefaultInternetAccess"),this._enableDefaultInternetAccess=value}get iamRoleArn(){return this._iamRoleArn}set iamRoleArn(value){cdk().traceProperty(this.node,"IamRoleArn"),this._iamRoleArn=value}get instanceType(){return this._instanceType}set instanceType(value){cdk().traceProperty(this.node,"InstanceType"),this._instanceType=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get platform(){return this._platform}set platform(value){cdk().traceProperty(this.node,"Platform"),this._platform=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get vpcConfig(){return this._vpcConfig}set vpcConfig(value){cdk().traceProperty(this.node,"VpcConfig"),this._vpcConfig=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedTime(){return cdk().Token.asString(this.getAtt("CreatedTime",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{accessEndpoints:this._accessEndpoints,appBlockArns:this._appBlockArns,tags:this.cdkTagManager.renderTags(this._tags),description:this._description,displayName:this._displayName,enableDefaultInternetAccess:this._enableDefaultInternetAccess,iamRoleArn:this._iamRoleArn,instanceType:this._instanceType,name:this._name,platform:this._platform,vpcConfig:this._vpcConfig}}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",CfnAppBlockBuilder.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAppBlockBuilderPropsToCloudFormation(props)}}exports.CfnAppBlockBuilder=CfnAppBlockBuilder;function CfnAppBlockBuilderVpcConfigPropertyValidator(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("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.wrap('supplied properties not correct for "VpcConfigProperty"')}function convertCfnAppBlockBuilderVpcConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAppBlockBuilderVpcConfigPropertyValidator(properties).assertSuccess(),{SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds)}):properties}function CfnAppBlockBuilderVpcConfigPropertyFromCloudFormation(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("securityGroupIds","SecurityGroupIds",properties.SecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupIds):void 0),ret.addPropertyResult("subnetIds","SubnetIds",properties.SubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SubnetIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAppBlockBuilderAccessEndpointPropertyValidator(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("endpointType",cdk().requiredValidator)(properties.endpointType)),errors.collect(cdk().propertyValidator("endpointType",cdk().validateString)(properties.endpointType)),errors.collect(cdk().propertyValidator("vpceId",cdk().requiredValidator)(properties.vpceId)),errors.collect(cdk().propertyValidator("vpceId",cdk().validateString)(properties.vpceId)),errors.wrap('supplied properties not correct for "AccessEndpointProperty"')}function convertCfnAppBlockBuilderAccessEndpointPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAppBlockBuilderAccessEndpointPropertyValidator(properties).assertSuccess(),{EndpointType:cdk().stringToCloudFormation(properties.endpointType),VpceId:cdk().stringToCloudFormation(properties.vpceId)}):properties}function CfnAppBlockBuilderAccessEndpointPropertyFromCloudFormation(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("endpointType","EndpointType",properties.EndpointType!=null?cfn_parse().FromCloudFormation.getString(properties.EndpointType):void 0),ret.addPropertyResult("vpceId","VpceId",properties.VpceId!=null?cfn_parse().FromCloudFormation.getString(properties.VpceId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAppBlockBuilderPropsValidator(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("accessEndpoints",cdk().listValidator(CfnAppBlockBuilderAccessEndpointPropertyValidator))(properties.accessEndpoints)),errors.collect(cdk().propertyValidator("appBlockArns",cdk().listValidator(cdk().validateString))(properties.appBlockArns)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("displayName",cdk().validateString)(properties.displayName)),errors.collect(cdk().propertyValidator("enableDefaultInternetAccess",cdk().validateBoolean)(properties.enableDefaultInternetAccess)),errors.collect(cdk().propertyValidator("iamRoleArn",cdk().validateString)(properties.iamRoleArn)),errors.collect(cdk().propertyValidator("instanceType",cdk().requiredValidator)(properties.instanceType)),errors.collect(cdk().propertyValidator("instanceType",cdk().validateString)(properties.instanceType)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("platform",cdk().requiredValidator)(properties.platform)),errors.collect(cdk().propertyValidator("platform",cdk().validateString)(properties.platform)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("vpcConfig",cdk().requiredValidator)(properties.vpcConfig)),errors.collect(cdk().propertyValidator("vpcConfig",CfnAppBlockBuilderVpcConfigPropertyValidator)(properties.vpcConfig)),errors.wrap('supplied properties not correct for "CfnAppBlockBuilderProps"')}function convertCfnAppBlockBuilderPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAppBlockBuilderPropsValidator(properties).assertSuccess(),{AccessEndpoints:cdk().listMapper(convertCfnAppBlockBuilderAccessEndpointPropertyToCloudFormation)(properties.accessEndpoints),AppBlockArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.appBlockArns),Description:cdk().stringToCloudFormation(properties.description),DisplayName:cdk().stringToCloudFormation(properties.displayName),EnableDefaultInternetAccess:cdk().booleanToCloudFormation(properties.enableDefaultInternetAccess),IamRoleArn:cdk().stringToCloudFormation(properties.iamRoleArn),InstanceType:cdk().stringToCloudFormation(properties.instanceType),Name:cdk().stringToCloudFormation(properties.name),Platform:cdk().stringToCloudFormation(properties.platform),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),VpcConfig:convertCfnAppBlockBuilderVpcConfigPropertyToCloudFormation(properties.vpcConfig)}):properties}function CfnAppBlockBuilderPropsFromCloudFormation(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("accessEndpoints","AccessEndpoints",properties.AccessEndpoints!=null?cfn_parse().FromCloudFormation.getArray(CfnAppBlockBuilderAccessEndpointPropertyFromCloudFormation)(properties.AccessEndpoints):void 0),ret.addPropertyResult("appBlockArns","AppBlockArns",properties.AppBlockArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AppBlockArns):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("displayName","DisplayName",properties.DisplayName!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayName):void 0),ret.addPropertyResult("enableDefaultInternetAccess","EnableDefaultInternetAccess",properties.EnableDefaultInternetAccess!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableDefaultInternetAccess):void 0),ret.addPropertyResult("iamRoleArn","IamRoleArn",properties.IamRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.IamRoleArn):void 0),ret.addPropertyResult("instanceType","InstanceType",properties.InstanceType!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceType):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("platform","Platform",properties.Platform!=null?cfn_parse().FromCloudFormation.getString(properties.Platform):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("vpcConfig","VpcConfig",properties.VpcConfig!=null?CfnAppBlockBuilderVpcConfigPropertyFromCloudFormation(properties.VpcConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnApplication extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_appstream.CfnApplication",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::AppStream::Application";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnApplicationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnApplication(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 isCfnApplication(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnApplication.CFN_RESOURCE_TYPE_NAME}static arnForApplication(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_appstream_IApplicationRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForApplication),error}return resource.applicationRef.applicationArn}_appBlockArn;_attributesToDelete;_description;_displayName;_iconS3Location;_instanceFamilies;_launchParameters;_launchPath;_name;_platforms;tags;_tagsRaw;_workingDirectory;cfnPropertyNames={appBlockArn:"AppBlockArn",attributesToDelete:"AttributesToDelete",description:"Description",displayName:"DisplayName",iconS3Location:"IconS3Location",instanceFamilies:"InstanceFamilies",launchParameters:"LaunchParameters",launchPath:"LaunchPath",name:"Name",platforms:"Platforms",tags:"Tags",workingDirectory:"WorkingDirectory"};constructor(scope,id,props){super(scope,id,{type:CfnApplication.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_appstream_CfnApplicationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnApplication),error}cdk().requireProperty(props,"appBlockArn",this),cdk().requireProperty(props,"iconS3Location",this),cdk().requireProperty(props,"instanceFamilies",this),cdk().requireProperty(props,"launchPath",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"platforms",this),this._appBlockArn=props.appBlockArn,this._attributesToDelete=props.attributesToDelete,this._description=props.description,this._displayName=props.displayName,this._iconS3Location=props.iconS3Location,this._instanceFamilies=props.instanceFamilies,this._launchParameters=props.launchParameters,this._launchPath=props.launchPath,this._name=props.name,this._platforms=props.platforms,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::AppStream::Application",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._workingDirectory=props.workingDirectory}get applicationRef(){return{applicationArn:this.ref}}get appBlockArn(){return this._appBlockArn}set appBlockArn(value){cdk().traceProperty(this.node,"AppBlockArn"),this._appBlockArn=value}get attributesToDelete(){return this._attributesToDelete}set attributesToDelete(value){cdk().traceProperty(this.node,"AttributesToDelete"),this._attributesToDelete=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get displayName(){return this._displayName}set displayName(value){cdk().traceProperty(this.node,"DisplayName"),this._displayName=value}get iconS3Location(){return this._iconS3Location}set iconS3Location(value){cdk().traceProperty(this.node,"IconS3Location"),this._iconS3Location=value}get instanceFamilies(){return this._instanceFamilies}set instanceFamilies(value){cdk().traceProperty(this.node,"InstanceFamilies"),this._instanceFamilies=value}get launchParameters(){return this._launchParameters}set launchParameters(value){cdk().traceProperty(this.node,"LaunchParameters"),this._launchParameters=value}get launchPath(){return this._launchPath}set launchPath(value){cdk().traceProperty(this.node,"LaunchPath"),this._launchPath=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get platforms(){return this._platforms}set platforms(value){cdk().traceProperty(this.node,"Platforms"),this._platforms=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get workingDirectory(){return this._workingDirectory}set workingDirectory(value){cdk().traceProperty(this.node,"WorkingDirectory"),this._workingDirectory=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedTime(){return cdk().Token.asString(this.getAtt("CreatedTime",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{appBlockArn:this._appBlockArn,attributesToDelete:this._attributesToDelete,description:this._description,displayName:this._displayName,iconS3Location:this._iconS3Location,instanceFamilies:this._instanceFamilies,launchParameters:this._launchParameters,launchPath:this._launchPath,name:this._name,platforms:this._platforms,tags:this.tags.renderTags(),workingDirectory:this._workingDirectory}}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",CfnApplication.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnApplicationPropsToCloudFormation(props)}}exports.CfnApplication=CfnApplication;function CfnApplicationS3LocationPropertyValidator(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("s3Bucket",cdk().requiredValidator)(properties.s3Bucket)),errors.collect(cdk().propertyValidator("s3Bucket",cdk().validateString)(properties.s3Bucket)),errors.collect(cdk().propertyValidator("s3Key",cdk().requiredValidator)(properties.s3Key)),errors.collect(cdk().propertyValidator("s3Key",cdk().validateString)(properties.s3Key)),errors.wrap('supplied properties not correct for "S3LocationProperty"')}function convertCfnApplicationS3LocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApplicationS3LocationPropertyValidator(properties).assertSuccess(),{S3Bucket:cdk().stringToCloudFormation(properties.s3Bucket),S3Key:cdk().stringToCloudFormation(properties.s3Key)}):properties}function CfnApplicationS3LocationPropertyFromCloudFormation(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("s3Bucket","S3Bucket",properties.S3Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.S3Bucket):void 0),ret.addPropertyResult("s3Key","S3Key",properties.S3Key!=null?cfn_parse().FromCloudFormation.getString(properties.S3Key):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnApplicationPropsValidator(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("appBlockArn",cdk().requiredValidator)(properties.appBlockArn)),errors.collect(cdk().propertyValidator("appBlockArn",cdk().validateString)(properties.appBlockArn)),errors.collect(cdk().propertyValidator("attributesToDelete",cdk().listValidator(cdk().validateString))(properties.attributesToDelete)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("displayName",cdk().validateString)(properties.displayName)),errors.collect(cdk().propertyValidator("iconS3Location",cdk().requiredValidator)(properties.iconS3Location)),errors.collect(cdk().propertyValidator("iconS3Location",CfnApplicationS3LocationPropertyValidator)(properties.iconS3Location)),errors.collect(cdk().propertyValidator("instanceFamilies",cdk().requiredValidator)(properties.instanceFamilies)),errors.collect(cdk().propertyValidator("instanceFamilies",cdk().listValidator(cdk().validateString))(properties.instanceFamilies)),errors.collect(cdk().propertyValidator("launchParameters",cdk().validateString)(properties.launchParameters)),errors.collect(cdk().propertyValidator("launchPath",cdk().requiredValidator)(properties.launchPath)),errors.collect(cdk().propertyValidator("launchPath",cdk().validateString)(properties.launchPath)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("platforms",cdk().requiredValidator)(properties.platforms)),errors.collect(cdk().propertyValidator("platforms",cdk().listValidator(cdk().validateString))(properties.platforms)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("workingDirectory",cdk().validateString)(properties.workingDirectory)),errors.wrap('supplied properties not correct for "CfnApplicationProps"')}function convertCfnApplicationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApplicationPropsValidator(properties).assertSuccess(),{AppBlockArn:cdk().stringToCloudFormation(properties.appBlockArn),AttributesToDelete:cdk().listMapper(cdk().stringToCloudFormation)(properties.attributesToDelete),Description:cdk().stringToCloudFormation(properties.description),DisplayName:cdk().stringToCloudFormation(properties.displayName),IconS3Location:convertCfnApplicationS3LocationPropertyToCloudFormation(properties.iconS3Location),InstanceFamilies:cdk().listMapper(cdk().stringToCloudFormation)(properties.instanceFamilies),LaunchParameters:cdk().stringToCloudFormation(properties.launchParameters),LaunchPath:cdk().stringToCloudFormation(properties.launchPath),Name:cdk().stringToCloudFormation(properties.name),Platforms:cdk().listMapper(cdk().stringToCloudFormation)(properties.platforms),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),WorkingDirectory:cdk().stringToCloudFormation(properties.workingDirectory)}):properties}function CfnApplicationPropsFromCloudFormation(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("appBlockArn","AppBlockArn",properties.AppBlockArn!=null?cfn_parse().FromCloudFormation.getString(properties.AppBlockArn):void 0),ret.addPropertyResult("attributesToDelete","AttributesToDelete",properties.AttributesToDelete!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AttributesToDelete):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("displayName","DisplayName",properties.DisplayName!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayName):void 0),ret.addPropertyResult("iconS3Location","IconS3Location",properties.IconS3Location!=null?CfnApplicationS3LocationPropertyFromCloudFormation(properties.IconS3Location):void 0),ret.addPropertyResult("instanceFamilies","InstanceFamilies",properties.InstanceFamilies!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.InstanceFamilies):void 0),ret.addPropertyResult("launchParameters","LaunchParameters",properties.LaunchParameters!=null?cfn_parse().FromCloudFormation.getString(properties.LaunchParameters):void 0),ret.addPropertyResult("launchPath","LaunchPath",properties.LaunchPath!=null?cfn_parse().FromCloudFormation.getString(properties.LaunchPath):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("platforms","Platforms",properties.Platforms!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Platforms):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("workingDirectory","WorkingDirectory",properties.WorkingDirectory!=null?cfn_parse().FromCloudFormation.getString(properties.WorkingDirectory):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnApplicationEntitlementAssociation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_appstream.CfnApplicationEntitlementAssociation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::AppStream::ApplicationEntitlementAssociation";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnApplicationEntitlementAssociationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnApplicationEntitlementAssociation(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 isCfnApplicationEntitlementAssociation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnApplicationEntitlementAssociation.CFN_RESOURCE_TYPE_NAME}_applicationIdentifier;_entitlementName;_stackName;cfnPropertyNames={applicationIdentifier:"ApplicationIdentifier",entitlementName:"EntitlementName",stackName:"StackName"};constructor(scope,id,props){super(scope,id,{type:CfnApplicationEntitlementAssociation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_appstream_CfnApplicationEntitlementAssociationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnApplicationEntitlementAssociation),error}cdk().requireProperty(props,"applicationIdentifier",this),cdk().requireProperty(props,"entitlementName",this),cdk().requireProperty(props,"stackName",this),this._applicationIdentifier=props.applicationIdentifier,this._entitlementName=props.entitlementName,this._stackName=props.stackName}get applicationEntitlementAssociationRef(){return{stackName:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),entitlementName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),applicationIdentifier:cdk().Fn.select(2,cdk().Fn.split("|",this.ref))}}get applicationIdentifier(){return this._applicationIdentifier}set applicationIdentifier(value){cdk().traceProperty(this.node,"ApplicationIdentifier"),this._applicationIdentifier=value}get entitlementName(){return this._entitlementName}set entitlementName(value){cdk().traceProperty(this.node,"EntitlementName"),this._entitlementName=value}get stackName(){return this._stackName}set stackName(value){cdk().traceProperty(this.node,"StackName"),this._stackName=value}get cfnProperties(){return{applicationIdentifier:this._applicationIdentifier,entitlementName:this._entitlementName,stackName:this._stackName}}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",CfnApplicationEntitlementAssociation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnApplicationEntitlementAssociationPropsToCloudFormation(props)}}exports.CfnApplicationEntitlementAssociation=CfnApplicationEntitlementAssociation;function CfnApplicationEntitlementAssociationPropsValidator(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("applicationIdentifier",cdk().requiredValidator)(properties.applicationIdentifier)),errors.collect(cdk().propertyValidator("applicationIdentifier",cdk().validateString)(properties.applicationIdentifier)),errors.collect(cdk().propertyValidator("entitlementName",cdk().requiredValidator)(properties.entitlementName)),errors.collect(cdk().propertyValidator("entitlementName",cdk().validateString)(properties.entitlementName)),errors.collect(cdk().propertyValidator("stackName",cdk().requiredValidator)(properties.stackName)),errors.collect(cdk().propertyValidator("stackName",cdk().validateString)(properties.stackName)),errors.wrap('supplied properties not correct for "CfnApplicationEntitlementAssociationProps"')}function convertCfnApplicationEntitlementAssociationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApplicationEntitlementAssociationPropsValidator(properties).assertSuccess(),{ApplicationIdentifier:cdk().stringToCloudFormation(properties.applicationIdentifier),EntitlementName:cdk().stringToCloudFormation(properties.entitlementName),StackName:cdk().stringToCloudFormation(properties.stackName)}):properties}function CfnApplicationEntitlementAssociationPropsFromCloudFormation(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("applicationIdentifier","ApplicationIdentifier",properties.ApplicationIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.ApplicationIdentifier):void 0),ret.addPropertyResult("entitlementName","EntitlementName",properties.EntitlementName!=null?cfn_parse().FromCloudFormation.getString(properties.EntitlementName):void 0),ret.addPropertyResult("stackName","StackName",properties.StackName!=null?cfn_parse().FromCloudFormation.getString(properties.StackName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnApplicationFleetAssociation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_appstream.CfnApplicationFleetAssociation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::AppStream::ApplicationFleetAssociation";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnApplicationFleetAssociationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnApplicationFleetAssociation(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 isCfnApplicationFleetAssociation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnApplicationFleetAssociation.CFN_RESOURCE_TYPE_NAME}_applicationArn;_fleetName;cfnPropertyNames={applicationArn:"ApplicationArn",fleetName:"FleetName"};constructor(scope,id,props){super(scope,id,{type:CfnApplicationFleetAssociation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_appstream_CfnApplicationFleetAssociationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnApplicationFleetAssociation),error}cdk().requireProperty(props,"applicationArn",this),cdk().requireProperty(props,"fleetName",this),this._applicationArn=props.applicationArn,this._fleetName=props.fleetName}get applicationFleetAssociationRef(){return{fleetName:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),applicationArn:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get applicationArn(){return this._applicationArn}set applicationArn(value){cdk().traceProperty(this.node,"ApplicationArn"),this._applicationArn=value}get fleetName(){return this._fleetName}set fleetName(value){cdk().traceProperty(this.node,"FleetName"),this._fleetName=value}get cfnProperties(){return{applicationArn:this._applicationArn,fleetName:this._fleetName}}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",CfnApplicationFleetAssociation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnApplicationFleetAssociationPropsToCloudFormation(props)}}exports.CfnApplicationFleetAssociation=CfnApplicationFleetAssociation;function CfnApplicationFleetAssociationPropsValidator(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("applicationArn",cdk().requiredValidator)(properties.applicationArn)),errors.collect(cdk().propertyValidator("applicationArn",cdk().validateString)(properties.applicationArn)),errors.collect(cdk().propertyValidator("fleetName",cdk().requiredValidator)(properties.fleetName)),errors.collect(cdk().propertyValidator("fleetName",cdk().validateString)(properties.fleetName)),errors.wrap('supplied properties not correct for "CfnApplicationFleetAssociationProps"')}function convertCfnApplicationFleetAssociationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApplicationFleetAssociationPropsValidator(properties).assertSuccess(),{ApplicationArn:cdk().stringToCloudFormation(properties.applicationArn),FleetName:cdk().stringToCloudFormation(properties.fleetName)}):properties}function CfnApplicationFleetAssociationPropsFromCloudFormation(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("applicationArn","ApplicationArn",properties.ApplicationArn!=null?cfn_parse().FromCloudFormation.getString(properties.ApplicationArn):void 0),ret.addPropertyResult("fleetName","FleetName",properties.FleetName!=null?cfn_parse().FromCloudFormation.getString(properties.FleetName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDirectoryConfig extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_appstream.CfnDirectoryConfig",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::AppStream::DirectoryConfig";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDirectoryConfigPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDirectoryConfig(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 isCfnDirectoryConfig(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDirectoryConfig.CFN_RESOURCE_TYPE_NAME}_certificateBasedAuthProperties;_directoryName;_organizationalUnitDistinguishedNames;_serviceAccountCredentials;cfnPropertyNames={certificateBasedAuthProperties:"CertificateBasedAuthProperties",directoryName:"DirectoryName",organizationalUnitDistinguishedNames:"OrganizationalUnitDistinguishedNames",serviceAccountCredentials:"ServiceAccountCredentials"};constructor(scope,id,props){super(scope,id,{type:CfnDirectoryConfig.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_appstream_CfnDirectoryConfigProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDirectoryConfig),error}cdk().requireProperty(props,"directoryName",this),cdk().requireProperty(props,"organizationalUnitDistinguishedNames",this),cdk().requireProperty(props,"serviceAccountCredentials",this),this._certificateBasedAuthProperties=props.certificateBasedAuthProperties,this._directoryName=props.directoryName,this._organizationalUnitDistinguishedNames=props.organizationalUnitDistinguishedNames,this._serviceAccountCredentials=props.serviceAccountCredentials}get directoryConfigRef(){return{directoryName:this.ref}}get certificateBasedAuthProperties(){return this._certificateBasedAuthProperties}set certificateBasedAuthProperties(value){cdk().traceProperty(this.node,"CertificateBasedAuthProperties"),this._certificateBasedAuthProperties=value}get directoryName(){return this._directoryName}set directoryName(value){cdk().traceProperty(this.node,"DirectoryName"),this._directoryName=value}get organizationalUnitDistinguishedNames(){return this._organizationalUnitDistinguishedNames}set organizationalUnitDistinguishedNames(value){cdk().traceProperty(this.node,"OrganizationalUnitDistinguishedNames"),this._organizationalUnitDistinguishedNames=value}get serviceAccountCredentials(){return this._serviceAccountCredentials}set serviceAccountCredentials(value){cdk().traceProperty(this.node,"ServiceAccountCredentials"),this._serviceAccountCredentials=value}get cfnProperties(){return{certificateBasedAuthProperties:this._certificateBasedAuthProperties,directoryName:this._directoryName,organizationalUnitDistinguishedNames:this._organizationalUnitDistinguishedNames,serviceAccountCredentials:this._serviceAccountCredentials}}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",CfnDirectoryConfig.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDirectoryConfigPropsToCloudFormation(props)}}exports.CfnDirectoryConfig=CfnDirectoryConfig;function CfnDirectoryConfigServiceAccountCredentialsPropertyValidator(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("accountName",cdk().requiredValidator)(properties.accountName)),errors.collect(cdk().propertyValidator("accountName",cdk().validateString)(properties.accountName)),errors.collect(cdk().propertyValidator("accountPassword",cdk().requiredValidator)(properties.accountPassword)),errors.collect(cdk().propertyValidator("accountPassword",cdk().validateString)(properties.accountPassword)),errors.wrap('supplied properties not correct for "ServiceAccountCredentialsProperty"')}function convertCfnDirectoryConfigServiceAccountCredentialsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDirectoryConfigServiceAccountCredentialsPropertyValidator(properties).assertSuccess(),{AccountName:cdk().stringToCloudFormation(properties.accountName),AccountPassword:cdk().stringToCloudFormation(properties.accountPassword)}):properties}function CfnDirectoryConfigServiceAccountCredentialsPropertyFromCloudFormation(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("accountName","AccountName",properties.AccountName!=null?cfn_parse().FromCloudFormation.getString(properties.AccountName):void 0),ret.addPropertyResult("accountPassword","AccountPassword",properties.AccountPassword!=null?cfn_parse().FromCloudFormation.getString(properties.AccountPassword):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDirectoryConfigCertificateBasedAuthPropertiesPropertyValidator(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("certificateAuthorityArn",cdk().validateString)(properties.certificateAuthorityArn)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "CertificateBasedAuthPropertiesProperty"')}function convertCfnDirectoryConfigCertificateBasedAuthPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDirectoryConfigCertificateBasedAuthPropertiesPropertyValidator(properties).assertSuccess(),{CertificateAuthorityArn:cdk().stringToCloudFormation(properties.certificateAuthorityArn),Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnDirectoryConfigCertificateBasedAuthPropertiesPropertyFromCloudFormation(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("certificateAuthorityArn","CertificateAuthorityArn",properties.CertificateAuthorityArn!=null?cfn_parse().FromCloudFormation.getString(properties.CertificateAuthorityArn):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDirectoryConfigPropsValidator(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("certificateBasedAuthProperties",CfnDirectoryConfigCertificateBasedAuthPropertiesPropertyValidator)(properties.certificateBasedAuthProperties)),errors.collect(cdk().propertyValidator("directoryName",cdk().requiredValidator)(properties.directoryName)),errors.collect(cdk().propertyValidator("directoryName",cdk().validateString)(properties.directoryName)),errors.collect(cdk().propertyValidator("organizationalUnitDistinguishedNames",cdk().requiredValidator)(properties.organizationalUnitDistinguishedNames)),errors.collect(cdk().propertyValidator("organizationalUnitDistinguishedNames",cdk().listValidator(cdk().validateString))(properties.organizationalUnitDistinguishedNames)),errors.collect(cdk().propertyValidator("serviceAccountCredentials",cdk().requiredValidator)(properties.serviceAccountCredentials)),errors.collect(cdk().propertyValidator("serviceAccountCredentials",CfnDirectoryConfigServiceAccountCredentialsPropertyValidator)(properties.serviceAccountCredentials)),errors.wrap('supplied properties not correct for "CfnDirectoryConfigProps"')}function convertCfnDirectoryConfigPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDirectoryConfigPropsValidator(properties).assertSuccess(),{CertificateBasedAuthProperties:convertCfnDirectoryConfigCertificateBasedAuthPropertiesPropertyToCloudFormation(properties.certificateBasedAuthProperties),DirectoryName:cdk().stringToCloudFormation(properties.directoryName),OrganizationalUnitDistinguishedNames:cdk().listMapper(cdk().stringToCloudFormation)(properties.organizationalUnitDistinguishedNames),ServiceAccountCredentials:convertCfnDirectoryConfigServiceAccountCredentialsPropertyToCloudFormation(properties.serviceAccountCredentials)}):properties}function CfnDirectoryConfigPropsFromCloudFormation(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("certificateBasedAuthProperties","CertificateBasedAuthProperties",properties.CertificateBasedAuthProperties!=null?CfnDirectoryConfigCertificateBasedAuthPropertiesPropertyFromCloudFormation(properties.CertificateBasedAuthProperties):void 0),ret.addPropertyResult("directoryName","DirectoryName",properties.DirectoryName!=null?cfn_parse().FromCloudFormation.getString(properties.DirectoryName):void 0),ret.addPropertyResult("organizationalUnitDistinguishedNames","OrganizationalUnitDistinguishedNames",properties.OrganizationalUnitDistinguishedNames!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.OrganizationalUnitDistinguishedNames):void 0),ret.addPropertyResult("serviceAccountCredentials","ServiceAccountCredentials",properties.ServiceAccountCredentials!=null?CfnDirectoryConfigServiceAccountCredentialsPropertyFromCloudFormation(properties.ServiceAccountCredentials):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnEntitlement extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_appstream.CfnEntitlement",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::AppStream::Entitlement";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnEntitlementPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnEntitlement(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 isCfnEntitlement(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnEntitlement.CFN_RESOURCE_TYPE_NAME}_appVisibility;_attributes;_description;_name;_stackName;cfnPropertyNames={appVisibility:"AppVisibility",attributes:"Attributes",description:"Description",name:"Name",stackName:"StackName"};constructor(scope,id,props){super(scope,id,{type:CfnEntitlement.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_appstream_CfnEntitlementProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnEntitlement),error}cdk().requireProperty(props,"appVisibility",this),cdk().requireProperty(props,"attributes",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"stackName",this),this._appVisibility=props.appVisibility,this._attributes=props.attributes,this._description=props.description,this._name=props.name,this._stackName=props.stackName}get entitlementRef(){return{stackName:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),entitlementName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get appVisibility(){return this._appVisibility}set appVisibility(value){cdk().traceProperty(this.node,"AppVisibility"),this._appVisibility=value}get attributes(){return this._attributes}set attributes(value){cdk().traceProperty(this.node,"Attributes"),this._attributes=value}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 stackName(){return this._stackName}set stackName(value){cdk().traceProperty(this.node,"StackName"),this._stackName=value}get attrCreatedTime(){return cdk().Token.asString(this.getAtt("CreatedTime",cdk().ResolutionTypeHint.STRING))}get attrLastModifiedTime(){return cdk().Token.asString(this.getAtt("LastModifiedTime",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{appVisibility:this._appVisibility,attributes:this._attributes,description:this._description,name:this._name,stackName:this._stackName}}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",CfnEntitlement.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnEntitlementPropsToCloudFormation(props)}}exports.CfnEntitlement=CfnEntitlement;function CfnEntitlementAttributePropertyValidator(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 "AttributeProperty"')}function convertCfnEntitlementAttributePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEntitlementAttributePropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnEntitlementAttributePropertyFromCloudFormation(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 CfnEntitlementPropsValidator(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("appVisibility",cdk().requiredValidator)(properties.appVisibility)),errors.collect(cdk().propertyValidator("appVisibility",cdk().validateString)(properties.appVisibility)),errors.collect(cdk().propertyValidator("attributes",cdk().requiredValidator)(properties.attributes)),errors.collect(cdk().propertyValidator("attributes",cdk().listValidator(CfnEntitlementAttributePropertyValidator))(properties.attributes)),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("stackName",cdk().requiredValidator)(properties.stackName)),errors.collect(cdk().propertyValidator("stackName",cdk().validateString)(properties.stackName)),errors.wrap('supplied properties not correct for "CfnEntitlementProps"')}function convertCfnEntitlementPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEntitlementPropsValidator(properties).assertSuccess(),{AppVisibility:cdk().stringToCloudFormation(properties.appVisibility),Attributes:cdk().listMapper(convertCfnEntitlementAttributePropertyToCloudFormation)(properties.attributes),Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),StackName:cdk().stringToCloudFormation(properties.stackName)}):properties}function CfnEntitlementPropsFromCloudFormation(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("appVisibility","AppVisibility",properties.AppVisibility!=null?cfn_parse().FromCloudFormation.getString(properties.AppVisibility):void 0),ret.addPropertyResult("attributes","Attributes",properties.Attributes!=null?cfn_parse().FromCloudFormation.getArray(CfnEntitlementAttributePropertyFromCloudFormation)(properties.Attributes):void 0),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("stackName","StackName",properties.StackName!=null?cfn_parse().FromCloudFormation.getString(properties.StackName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnFleet extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_appstream.CfnFleet",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::AppStream::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}_computeCapacity;_description;_disableImdsv1;_disconnectTimeoutInSeconds;_displayName;_domainJoinInfo;_enableDefaultInternetAccess;_fleetType;_iamRoleArn;_idleDisconnectTimeoutInSeconds;_imageArn;_imageName;_instanceType;_maxConcurrentSessions;_maxSessionsPerInstance;_maxUserDurationInSeconds;_name;_platform;_rootVolumeConfig;_sessionScriptS3Location;_streamView;tags;_tagsRaw;_usbDeviceFilterStrings;_vpcConfig;cfnPropertyNames={computeCapacity:"ComputeCapacity",description:"Description",disableImdsv1:"DisableIMDSV1",disconnectTimeoutInSeconds:"DisconnectTimeoutInSeconds",displayName:"DisplayName",domainJoinInfo:"DomainJoinInfo",enableDefaultInternetAccess:"EnableDefaultInternetAccess",fleetType:"FleetType",iamRoleArn:"IamRoleArn",idleDisconnectTimeoutInSeconds:"IdleDisconnectTimeoutInSeconds",imageArn:"ImageArn",imageName:"ImageName",instanceType:"InstanceType",maxConcurrentSessions:"MaxConcurrentSessions",maxSessionsPerInstance:"MaxSessionsPerInstance",maxUserDurationInSeconds:"MaxUserDurationInSeconds",name:"Name",platform:"Platform",rootVolumeConfig:"RootVolumeConfig",sessionScriptS3Location:"SessionScriptS3Location",streamView:"StreamView",tags:"Tags",usbDeviceFilterStrings:"UsbDeviceFilterStrings",vpcConfig:"VpcConfig"};constructor(scope,id,props){super(scope,id,{type:CfnFleet.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_appstream_CfnFleetProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFleet),error}cdk().requireProperty(props,"instanceType",this),cdk().requireProperty(props,"name",this),this._computeCapacity=props.computeCapacity,this._description=props.description,this._disableImdsv1=props.disableImdsv1,this._disconnectTimeoutInSeconds=props.disconnectTimeoutInSeconds,this._displayName=props.displayName,this._domainJoinInfo=props.domainJoinInfo,this._enableDefaultInternetAccess=props.enableDefaultInternetAccess,this._fleetType=props.fleetType,this._iamRoleArn=props.iamRoleArn,this._idleDisconnectTimeoutInSeconds=props.idleDisconnectTimeoutInSeconds,this._imageArn=props.imageArn,this._imageName=props.imageName,this._instanceType=props.instanceType,this._maxConcurrentSessions=props.maxConcurrentSessions,this._maxSessionsPerInstance=props.maxSessionsPerInstance,this._maxUserDurationInSeconds=props.maxUserDurationInSeconds,this._name=props.name,this._platform=props.platform,this._rootVolumeConfig=props.rootVolumeConfig,this._sessionScriptS3Location=props.sessionScriptS3Location,this._streamView=props.streamView,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::AppStream::Fleet",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._usbDeviceFilterStrings=props.usbDeviceFilterStrings,this._vpcConfig=props.vpcConfig}get fleetRef(){return{fleetId:this.ref}}get computeCapacity(){return this._computeCapacity}set computeCapacity(value){cdk().traceProperty(this.node,"ComputeCapacity"),this._computeCapacity=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get disableImdsv1(){return this._disableImdsv1}set disableImdsv1(value){cdk().traceProperty(this.node,"DisableIMDSV1"),this._disableImdsv1=value}get disconnectTimeoutInSeconds(){return this._disconnectTimeoutInSeconds}set disconnectTimeoutInSeconds(value){cdk().traceProperty(this.node,"DisconnectTimeoutInSeconds"),this._disconnectTimeoutInSeconds=value}get displayName(){return this._displayName}set displayName(value){cdk().traceProperty(this.node,"DisplayName"),this._displayName=value}get domainJoinInfo(){return this._domainJoinInfo}set domainJoinInfo(value){cdk().traceProperty(this.node,"DomainJoinInfo"),this._domainJoinInfo=value}get enableDefaultInternetAccess(){return this._enableDefaultInternetAccess}set enableDefaultInternetAccess(value){cdk().traceProperty(this.node,"EnableDefaultInternetAccess"),this._enableDefaultInternetAccess=value}get fleetType(){return this._fleetType}set fleetType(value){cdk().traceProperty(this.node,"FleetType"),this._fleetType=value}get iamRoleArn(){return this._iamRoleArn}set iamRoleArn(value){cdk().traceProperty(this.node,"IamRoleArn"),this._iamRoleArn=value}get idleDisconnectTimeoutInSeconds(){return this._idleDisconnectTimeoutInSeconds}set idleDisconnectTimeoutInSeconds(value){cdk().traceProperty(this.node,"IdleDisconnectTimeoutInSeconds"),this._idleDisconnectTimeoutInSeconds=value}get imageArn(){return this._imageArn}set imageArn(value){cdk().traceProperty(this.node,"ImageArn"),this._imageArn=value}get imageName(){return this._imageName}set imageName(value){cdk().traceProperty(this.node,"ImageName"),this._imageName=value}get instanceType(){return this._instanceType}set instanceType(value){cdk().traceProperty(this.node,"InstanceType"),this._instanceType=value}get maxConcurrentSessions(){return this._maxConcurrentSessions}set maxConcurrentSessions(value){cdk().traceProperty(this.node,"MaxConcurrentSessions"),this._maxConcurrentSessions=value}get maxSessionsPerInstance(){return this._maxSessionsPerInstance}set maxSessionsPerInstance(value){cdk().traceProperty(this.node,"MaxSessionsPerInstance"),this._maxSessionsPerInstance=value}get maxUserDurationInSeconds(){return this._maxUserDurationInSeconds}set maxUserDurationInSeconds(value){cdk().traceProperty(this.node,"MaxUserDurationInSeconds"),this._maxUserDurationInSeconds=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get platform(){return this._platform}set platform(value){cdk().traceProperty(this.node,"Platform"),this._platform=value}get rootVolumeConfig(){return this._rootVolumeConfig}set rootVolumeConfig(value){cdk().traceProperty(this.node,"RootVolumeConfig"),this._rootVolumeConfig=value}get sessionScriptS3Location(){return this._sessionScriptS3Location}set sessionScriptS3Location(value){cdk().traceProperty(this.node,"SessionScriptS3Location"),this._sessionScriptS3Location=value}get streamView(){return this._streamView}set streamView(value){cdk().traceProperty(this.node,"StreamView"),this._streamView=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get usbDeviceFilterStrings(){return this._usbDeviceFilterStrings}set usbDeviceFilterStrings(value){cdk().traceProperty(this.node,"UsbDeviceFilterStrings"),this._usbDeviceFilterStrings=value}get vpcConfig(){return this._vpcConfig}set vpcConfig(value){cdk().traceProperty(this.node,"VpcConfig"),this._vpcConfig=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{computeCapacity:this._computeCapacity,description:this._description,disableImdsv1:this._disableImdsv1,disconnectTimeoutInSeconds:this._disconnectTimeoutInSeconds,displayName:this._displayName,domainJoinInfo:this._domainJoinInfo,enableDefaultInternetAccess:this._enableDefaultInternetAccess,fleetType:this._fleetType,iamRoleArn:this._iamRoleArn,idleDisconnectTimeoutInSeconds:this._idleDisconnectTimeoutInSeconds,imageArn:this._imageArn,imageName:this._imageName,instanceType:this._instanceType,maxConcurrentSessions:this._maxConcurrentSessions,maxSessionsPerInstance:this._maxSessionsPerInstance,maxUserDurationInSeconds:this._maxUserDurationInSeconds,name:this._name,platform:this._platform,rootVolumeConfig:this._rootVolumeConfig,sessionScriptS3Location:this._sessionScriptS3Location,streamView:this._streamView,tags:this.tags.renderTags(),usbDeviceFilterStrings:this._usbDeviceFilterStrings,vpcConfig:this._vpcConfig}}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 CfnFleetComputeCapacityPropertyValidator(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("desiredInstances",cdk().validateNumber)(properties.desiredInstances)),errors.collect(cdk().propertyValidator("desiredSessions",cdk().validateNumber)(properties.desiredSessions)),errors.wrap('supplied properties not correct for "ComputeCapacityProperty"')}function convertCfnFleetComputeCapacityPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFleetComputeCapacityPropertyValidator(properties).assertSuccess(),{DesiredInstances:cdk().numberToCloudFormation(properties.desiredInstances),DesiredSessions:cdk().numberToCloudFormation(properties.desiredSessions)}):properties}function CfnFleetComputeCapacityPropertyFromCloudFormation(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("desiredInstances","DesiredInstances",properties.DesiredInstances!=null?cfn_parse().FromCloudFormation.getNumber(properties.DesiredInstances):void 0),ret.addPropertyResult("desiredSessions","DesiredSessions",properties.DesiredSessions!=null?cfn_parse().FromCloudFormation.getNumber(properties.DesiredSessions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFleetVpcConfigPropertyValidator(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("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.wrap('supplied properties not correct for "VpcConfigProperty"')}function convertCfnFleetVpcConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFleetVpcConfigPropertyValidator(properties).assertSuccess(),{SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds)}):properties}function CfnFleetVpcConfigPropertyFromCloudFormation(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("securityGroupIds","SecurityGroupIds",properties.SecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupIds):void 0),ret.addPropertyResult("subnetIds","SubnetIds",properties.SubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SubnetIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFleetDomainJoinInfoPropertyValidator(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("directoryName",cdk().validateString)(properties.directoryName)),errors.collect(cdk().propertyValidator("organizationalUnitDistinguishedName",cdk().validateString)(properties.organizationalUnitDistinguishedName)),errors.wrap('supplied properties not correct for "DomainJoinInfoProperty"')}function convertCfnFleetDomainJoinInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFleetDomainJoinInfoPropertyValidator(properties).assertSuccess(),{DirectoryName:cdk().stringToCloudFormation(properties.directoryName),OrganizationalUnitDistinguishedName:cdk().stringToCloudFormation(properties.organizationalUnitDistinguishedName)}):properties}function CfnFleetDomainJoinInfoPropertyFromCloudFormation(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("directoryName","DirectoryName",properties.DirectoryName!=null?cfn_parse().FromCloudFormation.getString(properties.DirectoryName):void 0),ret.addPropertyResult("organizationalUnitDistinguishedName","OrganizationalUnitDistinguishedName",properties.OrganizationalUnitDistinguishedName!=null?cfn_parse().FromCloudFormation.getString(properties.OrganizationalUnitDistinguishedName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFleetS3LocationPropertyValidator(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("s3Bucket",cdk().requiredValidator)(properties.s3Bucket)),errors.collect(cdk().propertyValidator("s3Bucket",cdk().validateString)(properties.s3Bucket)),errors.collect(cdk().propertyValidator("s3Key",cdk().requiredValidator)(properties.s3Key)),errors.collect(cdk().propertyValidator("s3Key",cdk().validateString)(properties.s3Key)),errors.wrap('supplied properties not correct for "S3LocationProperty"')}function convertCfnFleetS3LocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFleetS3LocationPropertyValidator(properties).assertSuccess(),{S3Bucket:cdk().stringToCloudFormation(properties.s3Bucket),S3Key:cdk().stringToCloudFormation(properties.s3Key)}):properties}function CfnFleetS3LocationPropertyFromCloudFormation(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("s3Bucket","S3Bucket",properties.S3Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.S3Bucket):void 0),ret.addPropertyResult("s3Key","S3Key",properties.S3Key!=null?cfn_parse().FromCloudFormation.getString(properties.S3Key):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFleetVolumeConfigPropertyValidator(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("volumeSizeInGb",cdk().validateNumber)(properties.volumeSizeInGb)),errors.wrap('supplied properties not correct for "VolumeConfigProperty"')}function convertCfnFleetVolumeConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFleetVolumeConfigPropertyValidator(properties).assertSuccess(),{VolumeSizeInGb:cdk().numberToCloudFormation(properties.volumeSizeInGb)}):properties}function CfnFleetVolumeConfigPropertyFromCloudFormation(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("volumeSizeInGb","VolumeSizeInGb",properties.VolumeSizeInGb!=null?cfn_parse().FromCloudFormation.getNumber(properties.VolumeSizeInGb):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("computeCapacity",CfnFleetComputeCapacityPropertyValidator)(properties.computeCapacity)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("disableImdsv1",cdk().validateBoolean)(properties.disableImdsv1)),errors.collect(cdk().propertyValidator("disconnectTimeoutInSeconds",cdk().validateNumber)(properties.disconnectTimeoutInSeconds)),errors.collect(cdk().propertyValidator("displayName",cdk().validateString)(properties.displayName)),errors.collect(cdk().propertyValidator("domainJoinInfo",CfnFleetDomainJoinInfoPropertyValidator)(properties.domainJoinInfo)),errors.collect(cdk().propertyValidator("enableDefaultInternetAccess",cdk().validateBoolean)(properties.enableDefaultInternetAccess)),errors.collect(cdk().propertyValidator("fleetType",cdk().validateString)(properties.fleetType)),errors.collect(cdk().propertyValidator("iamRoleArn",cdk().validateString)(properties.iamRoleArn)),errors.collect(cdk().propertyValidator("idleDisconnectTimeoutInSeconds",cdk().validateNumber)(properties.idleDisconnectTimeoutInSeconds)),errors.collect(cdk().propertyValidator("imageArn",cdk().validateString)(properties.imageArn)),errors.collect(cdk().propertyValidator("imageName",cdk().validateString)(properties.imageName)),errors.collect(cdk().propertyValidator("instanceType",cdk().requiredValidator)(properties.instanceType)),errors.collect(cdk().propertyValidator("instanceType",cdk().validateString)(properties.instanceType)),errors.collect(cdk().propertyValidator("maxConcurrentSessions",cdk().validateNumber)(properties.maxConcurrentSessions)),errors.collect(cdk().propertyValidator("maxSessionsPerInstance",cdk().validateNumber)(properties.maxSessionsPerInstance)),errors.collect(cdk().propertyValidator("maxUserDurationInSeconds",cdk().validateNumber)(properties.maxUserDurationInSeconds)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("platform",cdk().validateString)(properties.platform)),errors.collect(cdk().propertyValidator("rootVolumeConfig",CfnFleetVolumeConfigPropertyValidator)(properties.rootVolumeConfig)),errors.collect(cdk().propertyValidator("sessionScriptS3Location",CfnFleetS3LocationPropertyValidator)(properties.sessionScriptS3Location)),errors.collect(cdk().propertyValidator("streamView",cdk().validateString)(properties.streamView)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("usbDeviceFilterStrings",cdk().listValidator(cdk().validateString))(properties.usbDeviceFilterStrings)),errors.collect(cdk().propertyValidator("vpcConfig",CfnFleetVpcConfigPropertyValidator)(properties.vpcConfig)),errors.wrap('supplied properties not correct for "CfnFleetProps"')}function convertCfnFleetPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFleetPropsValidator(properties).assertSuccess(),{ComputeCapacity:convertCfnFleetComputeCapacityPropertyToCloudFormation(properties.computeCapacity),Description:cdk().stringToCloudFormation(properties.description),DisableIMDSV1:cdk().booleanToCloudFormation(properties.disableImdsv1),DisconnectTimeoutInSeconds:cdk().numberToCloudFormation(properties.disconnectTimeoutInSeconds),DisplayName:cdk().stringToCloudFormation(properties.displayName),DomainJoinInfo:convertCfnFleetDomainJoinInfoPropertyToCloudFormation(properties.domainJoinInfo),EnableDefaultInternetAccess:cdk().booleanToCloudFormation(properties.enableDefaultInternetAccess),FleetType:cdk().stringToCloudFormation(properties.fleetType),IamRoleArn:cdk().stringToCloudFormation(properties.iamRoleArn),IdleDisconnectTimeoutInSeconds:cdk().numberToCloudFormation(properties.idleDisconnectTimeoutInSeconds),ImageArn:cdk().stringToCloudFormation(properties.imageArn),ImageName:cdk().stringToCloudFormation(properties.imageName),InstanceType:cdk().stringToCloudFormation(properties.instanceType),MaxConcurrentSessions:cdk().numberToCloudFormation(properties.maxConcurrentSessions),MaxSessionsPerInstance:cdk().numberToCloudFormation(properties.maxSessionsPerInstance),MaxUserDurationInSeconds:cdk().numberToCloudFormation(properties.maxUserDurationInSeconds),Name:cdk().stringToCloudFormation(properties.name),Platform:cdk().stringToCloudFormation(properties.platform),RootVolumeConfig:convertCfnFleetVolumeConfigPropertyToCloudFormation(properties.rootVolumeConfig),SessionScriptS3Location:convertCfnFleetS3LocationPropertyToCloudFormation(properties.sessionScriptS3Location),StreamView:cdk().stringToCloudFormation(properties.streamView),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),UsbDeviceFilterStrings:cdk().listMapper(cdk().stringToCloudFormation)(properties.usbDeviceFilterStrings),VpcConfig:convertCfnFleetVpcConfigPropertyToCloudFormation(properties.vpcConfig)}):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("computeCapacity","ComputeCapacity",properties.ComputeCapacity!=null?CfnFleetComputeCapacityPropertyFromCloudFormation(properties.ComputeCapacity):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("disableImdsv1","DisableIMDSV1",properties.DisableIMDSV1!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DisableIMDSV1):void 0),ret.addPropertyResult("disconnectTimeoutInSeconds","DisconnectTimeoutInSeconds",properties.DisconnectTimeoutInSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.DisconnectTimeoutInSeconds):void 0),ret.addPropertyResult("displayName","DisplayName",properties.DisplayName!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayName):void 0),ret.addPropertyResult("domainJoinInfo","DomainJoinInfo",properties.DomainJoinInfo!=null?CfnFleetDomainJoinInfoPropertyFromCloudFormation(properties.DomainJoinInfo):void 0),ret.addPropertyResult("enableDefaultInternetAccess","EnableDefaultInternetAccess",properties.EnableDefaultInternetAccess!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableDefaultInternetAccess):void 0),ret.addPropertyResult("fleetType","FleetType",properties.FleetType!=null?cfn_parse().FromCloudFormation.getString(properties.FleetType):void 0),ret.addPropertyResult("iamRoleArn","IamRoleArn",properties.IamRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.IamRoleArn):void 0),ret.addPropertyResult("idleDisconnectTimeoutInSeconds","IdleDisconnectTimeoutInSeconds",properties.IdleDisconnectTimeoutInSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.IdleDisconnectTimeoutInSeconds):void 0),ret.addPropertyResult("imageArn","ImageArn",properties.ImageArn!=null?cfn_parse().FromCloudFormation.getString(properties.ImageArn):void 0),ret.addPropertyResult("imageName","ImageName",properties.ImageName!=null?cfn_parse().FromCloudFormation.getString(properties.ImageName):void 0),ret.addPropertyResult("instanceType","InstanceType",properties.InstanceType!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceType):void 0),ret.addPropertyResult("maxConcurrentSessions","MaxConcurrentSessions",properties.MaxConcurrentSessions!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxConcurrentSessions):void 0),ret.addPropertyResult("maxSessionsPerInstance","MaxSessionsPerInstance",properties.MaxSessionsPerInstance!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxSessionsPerInstance):void 0),ret.addPropertyResult("maxUserDurationInSeconds","MaxUserDurationInSeconds",properties.MaxUserDurationInSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxUserDurationInSeconds):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("platform","Platform",properties.Platform!=null?cfn_parse().FromCloudFormation.getString(properties.Platform):void 0),ret.addPropertyResult("rootVolumeConfig","RootVolumeConfig",properties.RootVolumeConfig!=null?CfnFleetVolumeConfigPropertyFromCloudFormation(properties.RootVolumeConfig):void 0),ret.addPropertyResult("sessionScriptS3Location","SessionScriptS3Location",properties.SessionScriptS3Location!=null?CfnFleetS3LocationPropertyFromCloudFormation(properties.SessionScriptS3Location):void 0),ret.addPropertyResult("streamView","StreamView",properties.StreamView!=null?cfn_parse().FromCloudFormation.getString(properties.StreamView):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("usbDeviceFilterStrings","UsbDeviceFilterStrings",properties.UsbDeviceFilterStrings!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.UsbDeviceFilterStrings):void 0),ret.addPropertyResult("vpcConfig","VpcConfig",properties.VpcConfig!=null?CfnFleetVpcConfigPropertyFromCloudFormation(properties.VpcConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnImageBuilder extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_appstream.CfnImageBuilder",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::AppStream::ImageBuilder";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnImageBuilderPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnImageBuilder(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 isCfnImageBuilder(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnImageBuilder.CFN_RESOURCE_TYPE_NAME}static fromImageBuilderName(scope,id,imageBuilderName){class Import extends cdk().Resource{imageBuilderRef;constructor(scope2,id2,imageBuilderName2){super(scope2,id2),this.imageBuilderRef={imageBuilderName:imageBuilderName2}}}return new Import(scope,id,imageBuilderName)}static arnForImageBuilder(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_appstream_IImageBuilderRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForImageBuilder),error}return new(cfn_parse()).TemplateString("arn:${Partition}:appstream:${Region}:${Account}:image-builder/${ImageBuilderName}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,ImageBuilderName:resource.imageBuilderRef.imageBuilderName})}_accessEndpoints;_appstreamAgentVersion;_description;_displayName;_domainJoinInfo;_enableDefaultInternetAccess;_iamRoleArn;_imageArn;_imageName;_instanceType;_name;_rootVolumeConfig;_softwaresToInstall;_softwaresToUninstall;tags;_tagsRaw;_vpcConfig;cfnPropertyNames={accessEndpoints:"AccessEndpoints",appstreamAgentVersion:"AppstreamAgentVersion",description:"Description",displayName:"DisplayName",domainJoinInfo:"DomainJoinInfo",enableDefaultInternetAccess:"EnableDefaultInternetAccess",iamRoleArn:"IamRoleArn",imageArn:"ImageArn",imageName:"ImageName",instanceType:"InstanceType",name:"Name",rootVolumeConfig:"RootVolumeConfig",softwaresToInstall:"SoftwaresToInstall",softwaresToUninstall:"SoftwaresToUninstall",tags:"Tags",vpcConfig:"VpcConfig"};constructor(scope,id,props){super(scope,id,{type:CfnImageBuilder.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_appstream_CfnImageBuilderProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnImageBuilder),error}cdk().requireProperty(props,"instanceType",this),cdk().requireProperty(props,"name",this),this._accessEndpoints=props.accessEndpoints,this._appstreamAgentVersion=props.appstreamAgentVersion,this._description=props.description,this._displayName=props.displayName,this._domainJoinInfo=props.domainJoinInfo,this._enableDefaultInternetAccess=props.enableDefaultInternetAccess,this._iamRoleArn=props.iamRoleArn,this._imageArn=props.imageArn,this._imageName=props.imageName,this._instanceType=props.instanceType,this._name=props.name,this._rootVolumeConfig=props.rootVolumeConfig,this._softwaresToInstall=props.softwaresToInstall,this._softwaresToUninstall=props.softwaresToUninstall,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::AppStream::ImageBuilder",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._vpcConfig=props.vpcConfig}get imageBuilderRef(){return{imageBuilderName:this.ref}}get accessEndpoints(){return this._accessEndpoints}set accessEndpoints(value){cdk().traceProperty(this.node,"AccessEndpoints"),this._accessEndpoints=value}get appstreamAgentVersion(){return this._appstreamAgentVersion}set appstreamAgentVersion(value){cdk().traceProperty(this.node,"AppstreamAgentVersion"),this._appstreamAgentVersion=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get displayName(){return this._displayName}set displayName(value){cdk().traceProperty(this.node,"DisplayName"),this._displayName=value}get domainJoinInfo(){return this._domainJoinInfo}set domainJoinInfo(value){cdk().traceProperty(this.node,"DomainJoinInfo"),this._domainJoinInfo=value}get enableDefaultInternetAccess(){return this._enableDefaultInternetAccess}set enableDefaultInternetAccess(value){cdk().traceProperty(this.node,"EnableDefaultInternetAccess"),this._enableDefaultInternetAccess=value}get iamRoleArn(){return this._iamRoleArn}set iamRoleArn(value){cdk().traceProperty(this.node,"IamRoleArn"),this._iamRoleArn=value}get imageArn(){return this._imageArn}set imageArn(value){cdk().traceProperty(this.node,"ImageArn"),this._imageArn=value}get imageName(){return this._imageName}set imageName(value){cdk().traceProperty(this.node,"ImageName"),this._imageName=value}get instanceType(){return this._instanceType}set instanceType(value){cdk().traceProperty(this.node,"InstanceType"),this._instanceType=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get rootVolumeConfig(){return this._rootVolumeConfig}set rootVolumeConfig(value){cdk().traceProperty(this.node,"RootVolumeConfig"),this._rootVolumeConfig=value}get softwaresToInstall(){return this._softwaresToInstall}set softwaresToInstall(value){cdk().traceProperty(this.node,"SoftwaresToInstall"),this._softwaresToInstall=value}get softwaresToUninstall(){return this._softwaresToUninstall}set softwaresToUninstall(value){cdk().traceProperty(this.node,"SoftwaresToUninstall"),this._softwaresToUninstall=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get vpcConfig(){return this._vpcConfig}set vpcConfig(value){cdk().traceProperty(this.node,"VpcConfig"),this._vpcConfig=value}get attrStreamingUrl(){return cdk().Token.asString(this.getAtt("StreamingUrl",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{accessEndpoints:this._accessEndpoints,appstreamAgentVersion:this._appstreamAgentVersion,description:this._description,displayName:this._displayName,domainJoinInfo:this._domainJoinInfo,enableDefaultInternetAccess:this._enableDefaultInternetAccess,iamRoleArn:this._iamRoleArn,imageArn:this._imageArn,imageName:this._imageName,instanceType:this._instanceType,name:this._name,rootVolumeConfig:this._rootVolumeConfig,softwaresToInstall:this._softwaresToInstall,softwaresToUninstall:this._softwaresToUninstall,tags:this.tags.renderTags(),vpcConfig:this._vpcConfig}}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",CfnImageBuilder.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnImageBuilderPropsToCloudFormation(props)}}exports.CfnImageBuilder=CfnImageBuilder;function CfnImageBuilderVpcConfigPropertyValidator(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("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.wrap('supplied properties not correct for "VpcConfigProperty"')}function convertCfnImageBuilderVpcConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnImageBuilderVpcConfigPropertyValidator(properties).assertSuccess(),{SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds)}):properties}function CfnImageBuilderVpcConfigPropertyFromCloudFormation(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("securityGroupIds","SecurityGroupIds",properties.SecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupIds):void 0),ret.addPropertyResult("subnetIds","SubnetIds",properties.SubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SubnetIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnImageBuilderDomainJoinInfoPropertyValidator(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("directoryName",cdk().validateString)(properties.directoryName)),errors.collect(cdk().propertyValidator("organizationalUnitDistinguishedName",cdk().validateString)(properties.organizationalUnitDistinguishedName)),errors.wrap('supplied properties not correct for "DomainJoinInfoProperty"')}function convertCfnImageBuilderDomainJoinInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnImageBuilderDomainJoinInfoPropertyValidator(properties).assertSuccess(),{DirectoryName:cdk().stringToCloudFormation(properties.directoryName),OrganizationalUnitDistinguishedName:cdk().stringToCloudFormation(properties.organizationalUnitDistinguishedName)}):properties}function CfnImageBuilderDomainJoinInfoPropertyFromCloudFormation(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("directoryName","DirectoryName",properties.DirectoryName!=null?cfn_parse().FromCloudFormation.getString(properties.DirectoryName):void 0),ret.addPropertyResult("organizationalUnitDistinguishedName","OrganizationalUnitDistinguishedName",properties.OrganizationalUnitDistinguishedName!=null?cfn_parse().FromCloudFormation.getString(properties.OrganizationalUnitDistinguishedName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnImageBuilderAccessEndpointPropertyValidator(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("endpointType",cdk().requiredValidator)(properties.endpointType)),errors.collect(cdk().propertyValidator("endpointType",cdk().validateString)(properties.endpointType)),errors.collect(cdk().propertyValidator("vpceId",cdk().requiredValidator)(properties.vpceId)),errors.collect(cdk().propertyValidator("vpceId",cdk().validateString)(properties.vpceId)),errors.wrap('supplied properties not correct for "AccessEndpointProperty"')}function convertCfnImageBuilderAccessEndpointPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnImageBuilderAccessEndpointPropertyValidator(properties).assertSuccess(),{EndpointType:cdk().stringToCloudFormation(properties.endpointType),VpceId:cdk().stringToCloudFormation(properties.vpceId)}):properties}function CfnImageBuilderAccessEndpointPropertyFromCloudFormation(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("endpointType","EndpointType",properties.EndpointType!=null?cfn_parse().FromCloudFormation.getString(properties.EndpointType):void 0),ret.addPropertyResult("vpceId","VpceId",properties.VpceId!=null?cfn_parse().FromCloudFormation.getString(properties.VpceId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnImageBuilderVolumeConfigPropertyValidator(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("volumeSizeInGb",cdk().validateNumber)(properties.volumeSizeInGb)),errors.wrap('supplied properties not correct for "VolumeConfigProperty"')}function convertCfnImageBuilderVolumeConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnImageBuilderVolumeConfigPropertyValidator(properties).assertSuccess(),{VolumeSizeInGb:cdk().numberToCloudFormation(properties.volumeSizeInGb)}):properties}function CfnImageBuilderVolumeConfigPropertyFromCloudFormation(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("volumeSizeInGb","VolumeSizeInGb",properties.VolumeSizeInGb!=null?cfn_parse().FromCloudFormation.getNumber(properties.VolumeSizeInGb):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnImageBuilderPropsValidator(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("accessEndpoints",cdk().listValidator(CfnImageBuilderAccessEndpointPropertyValidator))(properties.accessEndpoints)),errors.collect(cdk().propertyValidator("appstreamAgentVersion",cdk().validateString)(properties.appstreamAgentVersion)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("displayName",cdk().validateString)(properties.displayName)),errors.collect(cdk().propertyValidator("domainJoinInfo",CfnImageBuilderDomainJoinInfoPropertyValidator)(properties.domainJoinInfo)),errors.collect(cdk().propertyValidator("enableDefaultInternetAccess",cdk().validateBoolean)(properties.enableDefaultInternetAccess)),errors.collect(cdk().propertyValidator("iamRoleArn",cdk().validateString)(properties.iamRoleArn)),errors.collect(cdk().propertyValidator("imageArn",cdk().validateString)(properties.imageArn)),errors.collect(cdk().propertyValidator("imageName",cdk().validateString)(properties.imageName)),errors.collect(cdk().propertyValidator("instanceType",cdk().requiredValidator)(properties.instanceType)),errors.collect(cdk().propertyValidator("instanceType",cdk().validateString)(properties.instanceType)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("rootVolumeConfig",CfnImageBuilderVolumeConfigPropertyValidator)(properties.rootVolumeConfig)),errors.collect(cdk().propertyValidator("softwaresToInstall",cdk().listValidator(cdk().validateString))(properties.softwaresToInstall)),errors.collect(cdk().propertyValidator("softwaresToUninstall",cdk().listValidator(cdk().validateString))(properties.softwaresToUninstall)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("vpcConfig",CfnImageBuilderVpcConfigPropertyValidator)(properties.vpcConfig)),errors.wrap('supplied properties not correct for "CfnImageBuilderProps"')}function convertCfnImageBuilderPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnImageBuilderPropsValidator(properties).assertSuccess(),{AccessEndpoints:cdk().listMapper(convertCfnImageBuilderAccessEndpointPropertyToCloudFormation)(properties.accessEndpoints),AppstreamAgentVersion:cdk().stringToCloudFormation(properties.appstreamAgentVersion),Description:cdk().stringToCloudFormation(properties.description),DisplayName:cdk().stringToCloudFormation(properties.displayName),DomainJoinInfo:convertCfnImageBuilderDomainJoinInfoPropertyToCloudFormation(properties.domainJoinInfo),EnableDefaultInternetAccess:cdk().booleanToCloudFormation(properties.enableDefaultInternetAccess),IamRoleArn:cdk().stringToCloudFormation(properties.iamRoleArn),ImageArn:cdk().stringToCloudFormation(properties.imageArn),ImageName:cdk().stringToCloudFormation(properties.imageName),InstanceType:cdk().stringToCloudFormation(properties.instanceType),Name:cdk().stringToCloudFormation(properties.name),RootVolumeConfig:convertCfnImageBuilderVolumeConfigPropertyToCloudFormation(properties.rootVolumeConfig),SoftwaresToInstall:cdk().listMapper(cdk().stringToCloudFormation)(properties.softwaresToInstall),SoftwaresToUninstall:cdk().listMapper(cdk().stringToCloudFormation)(properties.softwaresToUninstall),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),VpcConfig:convertCfnImageBuilderVpcConfigPropertyToCloudFormation(properties.vpcConfig)}):properties}function CfnImageBuilderPropsFromCloudFormation(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("accessEndpoints","AccessEndpoints",properties.AccessEndpoints!=null?cfn_parse().FromCloudFormation.getArray(CfnImageBuilderAccessEndpointPropertyFromCloudFormation)(properties.AccessEndpoints):void 0),ret.addPropertyResult("appstreamAgentVersion","AppstreamAgentVersion",properties.AppstreamAgentVersion!=null?cfn_parse().FromCloudFormation.getString(properties.AppstreamAgentVersion):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("displayName","DisplayName",properties.DisplayName!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayName):void 0),ret.addPropertyResult("domainJoinInfo","DomainJoinInfo",properties.DomainJoinInfo!=null?CfnImageBuilderDomainJoinInfoPropertyFromCloudFormation(properties.DomainJoinInfo):void 0),ret.addPropertyResult("enableDefaultInternetAccess","EnableDefaultInternetAccess",properties.EnableDefaultInternetAccess!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableDefaultInternetAccess):void 0),ret.addPropertyResult("iamRoleArn","IamRoleArn",properties.IamRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.IamRoleArn):void 0),ret.addPropertyResult("imageArn","ImageArn",properties.ImageArn!=null?cfn_parse().FromCloudFormation.getString(properties.ImageArn):void 0),ret.addPropertyResult("imageName","ImageName",properties.ImageName!=null?cfn_parse().FromCloudFormation.getString(properties.ImageName):void 0),ret.addPropertyResult("instanceType","InstanceType",properties.InstanceType!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceType):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("rootVolumeConfig","RootVolumeConfig",properties.RootVolumeConfig!=null?CfnImageBuilderVolumeConfigPropertyFromCloudFormation(properties.RootVolumeConfig):void 0),ret.addPropertyResult("softwaresToInstall","SoftwaresToInstall",properties.SoftwaresToInstall!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SoftwaresToInstall):void 0),ret.addPropertyResult("softwaresToUninstall","SoftwaresToUninstall",properties.SoftwaresToUninstall!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SoftwaresToUninstall):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("vpcConfig","VpcConfig",properties.VpcConfig!=null?CfnImageBuilderVpcConfigPropertyFromCloudFormation(properties.VpcConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnStack extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_appstream.CfnStack",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::AppStream::Stack";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnStackPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnStack(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 isCfnStack(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnStack.CFN_RESOURCE_TYPE_NAME}static fromStackName(scope,id,stackName){class Import extends cdk().Resource{stackRef;constructor(scope2,id2,stackName2){super(scope2,id2),this.stackRef={stackName:stackName2}}}return new Import(scope,id,stackName)}static arnForStack(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_appstream_IStackRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForStack),error}return new(cfn_parse()).TemplateString("arn:${Partition}:appstream:${Region}:${Account}:stack/${StackName}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,StackName:resource.stackRef.stackName})}_accessEndpoints;_applicationSettings;_attributesToDelete;_deleteStorageConnectors;_description;_displayName;_embedHostDomains;_feedbackUrl;_name;_redirectUrl;_storageConnectors;_streamingExperienceSettings;tags;_tagsRaw;_userSettings;cfnPropertyNames={accessEndpoints:"AccessEndpoints",applicationSettings:"ApplicationSettings",attributesToDelete:"AttributesToDelete",deleteStorageConnectors:"DeleteStorageConnectors",description:"Description",displayName:"DisplayName",embedHostDomains:"EmbedHostDomains",feedbackUrl:"FeedbackURL",name:"Name",redirectUrl:"RedirectURL",storageConnectors:"StorageConnectors",streamingExperienceSettings:"StreamingExperienceSettings",tags:"Tags",userSettings:"UserSettings"};constructor(scope,id,props={}){super(scope,id,{type:CfnStack.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_appstream_CfnStackProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnStack),error}this._accessEndpoints=props.accessEndpoints,this._applicationSettings=props.applicationSettings,this._attributesToDelete=props.attributesToDelete,this._deleteStorageConnectors=props.deleteStorageConnectors,this._description=props.description,this._displayName=props.displayName,this._embedHostDomains=props.embedHostDomains,this._feedbackUrl=props.feedbackUrl,this._name=props.name,this._redirectUrl=props.redirectUrl,this._storageConnectors=props.storageConnectors,this._streamingExperienceSettings=props.streamingExperienceSettings,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::AppStream::Stack",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._userSettings=props.userSettings}get stackRef(){return{stackName:this.ref}}get accessEndpoints(){return this._accessEndpoints}set accessEndpoints(value){cdk().traceProperty(this.node,"AccessEndpoints"),this._accessEndpoints=value}get applicationSettings(){return this._applicationSettings}set applicationSettings(value){cdk().traceProperty(this.node,"ApplicationSettings"),this._applicationSettings=value}get attributesToDelete(){return this._attributesToDelete}set attributesToDelete(value){cdk().traceProperty(this.node,"AttributesToDelete"),this._attributesToDelete=value}get deleteStorageConnectors(){return this._deleteStorageConnectors}set deleteStorageConnectors(value){cdk().traceProperty(this.node,"DeleteStorageConnectors"),this._deleteStorageConnectors=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get displayName(){return this._displayName}set displayName(value){cdk().traceProperty(this.node,"DisplayName"),this._displayName=value}get embedHostDomains(){return this._embedHostDomains}set embedHostDomains(value){cdk().traceProperty(this.node,"EmbedHostDomains"),this._embedHostDomains=value}get feedbackUrl(){return this._feedbackUrl}set feedbackUrl(value){cdk().traceProperty(this.node,"FeedbackURL"),this._feedbackUrl=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get redirectUrl(){return this._redirectUrl}set redirectUrl(value){cdk().traceProperty(this.node,"RedirectURL"),this._redirectUrl=value}get storageConnectors(){return this._storageConnectors}set storageConnectors(value){cdk().traceProperty(this.node,"StorageConnectors"),this._storageConnectors=value}get streamingExperienceSettings(){return this._streamingExperienceSettings}set streamingExperienceSettings(value){cdk().traceProperty(this.node,"StreamingExperienceSettings"),this._streamingExperienceSettings=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get userSettings(){return this._userSettings}set userSettings(value){cdk().traceProperty(this.node,"UserSettings"),this._userSettings=value}get cfnProperties(){return{accessEndpoints:this._accessEndpoints,applicationSettings:this._applicationSettings,attributesToDelete:this._attributesToDelete,deleteStorageConnectors:this._deleteStorageConnectors,description:this._description,displayName:this._displayName,embedHostDomains:this._embedHostDomains,feedbackUrl:this._feedbackUrl,name:this._name,redirectUrl:this._redirectUrl,storageConnectors:this._storageConnectors,streamingExperienceSettings:this._streamingExperienceSettings,tags:this.tags.renderTags(),userSettings:this._userSettings}}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",CfnStack.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnStackPropsToCloudFormation(props)}}exports.CfnStack=CfnStack;function CfnStackStorageConnectorPropertyValidator(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("connectorType",cdk().requiredValidator)(properties.connectorType)),errors.collect(cdk().propertyValidator("connectorType",cdk().validateString)(properties.connectorType)),errors.collect(cdk().propertyValidator("domains",cdk().listValidator(cdk().validateString))(properties.domains)),errors.collect(cdk().propertyValidator("resourceIdentifier",cdk().validateString)(properties.resourceIdentifier)),errors.wrap('supplied properties not correct for "StorageConnectorProperty"')}function convertCfnStackStorageConnectorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStackStorageConnectorPropertyValidator(properties).assertSuccess(),{ConnectorType:cdk().stringToCloudFormation(properties.connectorType),Domains:cdk().listMapper(cdk().stringToCloudFormation)(properties.domains),ResourceIdentifier:cdk().stringToCloudFormation(properties.resourceIdentifier)}):properties}function CfnStackStorageConnectorPropertyFromCloudFormation(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("connectorType","ConnectorType",properties.ConnectorType!=null?cfn_parse().FromCloudFormation.getString(properties.ConnectorType):void 0),ret.addPropertyResult("domains","Domains",properties.Domains!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Domains):void 0),ret.addPropertyResult("resourceIdentifier","ResourceIdentifier",properties.ResourceIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceIdentifier):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStackUserSettingPropertyValidator(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("action",cdk().requiredValidator)(properties.action)),errors.collect(cdk().propertyValidator("action",cdk().validateString)(properties.action)),errors.collect(cdk().propertyValidator("maximumLength",cdk().validateNumber)(properties.maximumLength)),errors.collect(cdk().propertyValidator("permission",cdk().requiredValidator)(properties.permission)),errors.collect(cdk().propertyValidator("permission",cdk().validateString)(properties.permission)),errors.wrap('supplied properties not correct for "UserSettingProperty"')}function convertCfnStackUserSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStackUserSettingPropertyValidator(properties).assertSuccess(),{Action:cdk().stringToCloudFormation(properties.action),MaximumLength:cdk().numberToCloudFormation(properties.maximumLength),Permission:cdk().stringToCloudFormation(properties.permission)}):properties}function CfnStackUserSettingPropertyFromCloudFormation(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("action","Action",properties.Action!=null?cfn_parse().FromCloudFormation.getString(properties.Action):void 0),ret.addPropertyResult("maximumLength","MaximumLength",properties.MaximumLength!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaximumLength):void 0),ret.addPropertyResult("permission","Permission",properties.Permission!=null?cfn_parse().FromCloudFormation.getString(properties.Permission):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStackStreamingExperienceSettingsPropertyValidator(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("preferredProtocol",cdk().validateString)(properties.preferredProtocol)),errors.wrap('supplied properties not correct for "StreamingExperienceSettingsProperty"')}function convertCfnStackStreamingExperienceSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStackStreamingExperienceSettingsPropertyValidator(properties).assertSuccess(),{PreferredProtocol:cdk().stringToCloudFormation(properties.preferredProtocol)}):properties}function CfnStackStreamingExperienceSettingsPropertyFromCloudFormation(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("preferredProtocol","PreferredProtocol",properties.PreferredProtocol!=null?cfn_parse().FromCloudFormation.getString(properties.PreferredProtocol):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStackApplicationSettingsPropertyValidator(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("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("settingsGroup",cdk().validateString)(properties.settingsGroup)),errors.wrap('supplied properties not correct for "ApplicationSettingsProperty"')}function convertCfnStackApplicationSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStackApplicationSettingsPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled),SettingsGroup:cdk().stringToCloudFormation(properties.settingsGroup)}):properties}function CfnStackApplicationSettingsPropertyFromCloudFormation(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("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("settingsGroup","SettingsGroup",properties.SettingsGroup!=null?cfn_parse().FromCloudFormation.getString(properties.SettingsGroup):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStackAccessEndpointPropertyValidator(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("endpointType",cdk().requiredValidator)(properties.endpointType)),errors.collect(cdk().propertyValidator("endpointType",cdk().validateString)(properties.endpointType)),errors.collect(cdk().propertyValidator("vpceId",cdk().requiredValidator)(properties.vpceId)),errors.collect(cdk().propertyValidator("vpceId",cdk().validateString)(properties.vpceId)),errors.wrap('supplied properties not correct for "AccessEndpointProperty"')}function convertCfnStackAccessEndpointPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStackAccessEndpointPropertyValidator(properties).assertSuccess(),{EndpointType:cdk().stringToCloudFormation(properties.endpointType),VpceId:cdk().stringToCloudFormation(properties.vpceId)}):properties}function CfnStackAccessEndpointPropertyFromCloudFormation(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("endpointType","EndpointType",properties.EndpointType!=null?cfn_parse().FromCloudFormation.getString(properties.EndpointType):void 0),ret.addPropertyResult("vpceId","VpceId",properties.VpceId!=null?cfn_parse().FromCloudFormation.getString(properties.VpceId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStackPropsValidator(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("accessEndpoints",cdk().listValidator(CfnStackAccessEndpointPropertyValidator))(properties.accessEndpoints)),errors.collect(cdk().propertyValidator("applicationSettings",CfnStackApplicationSettingsPropertyValidator)(properties.applicationSettings)),errors.collect(cdk().propertyValidator("attributesToDelete",cdk().listValidator(cdk().validateString))(properties.attributesToDelete)),errors.collect(cdk().propertyValidator("deleteStorageConnectors",cdk().validateBoolean)(properties.deleteStorageConnectors)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("displayName",cdk().validateString)(properties.displayName)),errors.collect(cdk().propertyValidator("embedHostDomains",cdk().listValidator(cdk().validateString))(properties.embedHostDomains)),errors.collect(cdk().propertyValidator("feedbackUrl",cdk().validateString)(properties.feedbackUrl)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("redirectUrl",cdk().validateString)(properties.redirectUrl)),errors.collect(cdk().propertyValidator("storageConnectors",cdk().listValidator(CfnStackStorageConnectorPropertyValidator))(properties.storageConnectors)),errors.collect(cdk().propertyValidator("streamingExperienceSettings",CfnStackStreamingExperienceSettingsPropertyValidator)(properties.streamingExperienceSettings)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("userSettings",cdk().listValidator(CfnStackUserSettingPropertyValidator))(properties.userSettings)),errors.wrap('supplied properties not correct for "CfnStackProps"')}function convertCfnStackPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStackPropsValidator(properties).assertSuccess(),{AccessEndpoints:cdk().listMapper(convertCfnStackAccessEndpointPropertyToCloudFormation)(properties.accessEndpoints),ApplicationSettings:convertCfnStackApplicationSettingsPropertyToCloudFormation(properties.applicationSettings),AttributesToDelete:cdk().listMapper(cdk().stringToCloudFormation)(properties.attributesToDelete),DeleteStorageConnectors:cdk().booleanToCloudFormation(properties.deleteStorageConnectors),Description:cdk().stringToCloudFormation(properties.description),DisplayName:cdk().stringToCloudFormation(properties.displayName),EmbedHostDomains:cdk().listMapper(cdk().stringToCloudFormation)(properties.embedHostDomains),FeedbackURL:cdk().stringToCloudFormation(properties.feedbackUrl),Name:cdk().stringToCloudFormation(properties.name),RedirectURL:cdk().stringToCloudFormation(properties.redirectUrl),StorageConnectors:cdk().listMapper(convertCfnStackStorageConnectorPropertyToCloudFormation)(properties.storageConnectors),StreamingExperienceSettings:convertCfnStackStreamingExperienceSettingsPropertyToCloudFormation(properties.streamingExperienceSettings),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),UserSettings:cdk().listMapper(convertCfnStackUserSettingPropertyToCloudFormation)(properties.userSettings)}):properties}function CfnStackPropsFromCloudFormation(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("accessEndpoints","AccessEndpoints",properties.AccessEndpoints!=null?cfn_parse().FromCloudFormation.getArray(CfnStackAccessEndpointPropertyFromCloudFormation)(properties.AccessEndpoints):void 0),ret.addPropertyResult("applicationSettings","ApplicationSettings",properties.ApplicationSettings!=null?CfnStackApplicationSettingsPropertyFromCloudFormation(properties.ApplicationSettings):void 0),ret.addPropertyResult("attributesToDelete","AttributesToDelete",properties.AttributesToDelete!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AttributesToDelete):void 0),ret.addPropertyResult("deleteStorageConnectors","DeleteStorageConnectors",properties.DeleteStorageConnectors!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DeleteStorageConnectors):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("displayName","DisplayName",properties.DisplayName!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayName):void 0),ret.addPropertyResult("embedHostDomains","EmbedHostDomains",properties.EmbedHostDomains!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.EmbedHostDomains):void 0),ret.addPropertyResult("feedbackUrl","FeedbackURL",properties.FeedbackURL!=null?cfn_parse().FromCloudFormation.getString(properties.FeedbackURL):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("redirectUrl","RedirectURL",properties.RedirectURL!=null?cfn_parse().FromCloudFormation.getString(properties.RedirectURL):void 0),ret.addPropertyResult("storageConnectors","StorageConnectors",properties.StorageConnectors!=null?cfn_parse().FromCloudFormation.getArray(CfnStackStorageConnectorPropertyFromCloudFormation)(properties.StorageConnectors):void 0),ret.addPropertyResult("streamingExperienceSettings","StreamingExperienceSettings",properties.StreamingExperienceSettings!=null?CfnStackStreamingExperienceSettingsPropertyFromCloudFormation(properties.StreamingExperienceSettings):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("userSettings","UserSettings",properties.UserSettings!=null?cfn_parse().FromCloudFormation.getArray(CfnStackUserSettingPropertyFromCloudFormation)(properties.UserSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnStackFleetAssociation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_appstream.CfnStackFleetAssociation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::AppStream::StackFleetAssociation";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnStackFleetAssociationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnStackFleetAssociation(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 isCfnStackFleetAssociation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnStackFleetAssociation.CFN_RESOURCE_TYPE_NAME}_fleetName;_stackName;cfnPropertyNames={fleetName:"FleetName",stackName:"StackName"};constructor(scope,id,props){super(scope,id,{type:CfnStackFleetAssociation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_appstream_CfnStackFleetAssociationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnStackFleetAssociation),error}cdk().requireProperty(props,"fleetName",this),cdk().requireProperty(props,"stackName",this),this._fleetName=props.fleetName,this._stackName=props.stackName}get stackFleetAssociationRef(){return{stackFleetAssociationId:this.ref}}get fleetName(){return this._fleetName}set fleetName(value){cdk().traceProperty(this.node,"FleetName"),this._fleetName=value}get stackName(){return this._stackName}set stackName(value){cdk().traceProperty(this.node,"StackName"),this._stackName=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{fleetName:this._fleetName,stackName:this._stackName}}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",CfnStackFleetAssociation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnStackFleetAssociationPropsToCloudFormation(props)}}exports.CfnStackFleetAssociation=CfnStackFleetAssociation;function CfnStackFleetAssociationPropsValidator(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("fleetName",cdk().requiredValidator)(properties.fleetName)),errors.collect(cdk().propertyValidator("fleetName",cdk().validateString)(properties.fleetName)),errors.collect(cdk().propertyValidator("stackName",cdk().requiredValidator)(properties.stackName)),errors.collect(cdk().propertyValidator("stackName",cdk().validateString)(properties.stackName)),errors.wrap('supplied properties not correct for "CfnStackFleetAssociationProps"')}function convertCfnStackFleetAssociationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStackFleetAssociationPropsValidator(properties).assertSuccess(),{FleetName:cdk().stringToCloudFormation(properties.fleetName),StackName:cdk().stringToCloudFormation(properties.stackName)}):properties}function CfnStackFleetAssociationPropsFromCloudFormation(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("fleetName","FleetName",properties.FleetName!=null?cfn_parse().FromCloudFormation.getString(properties.FleetName):void 0),ret.addPropertyResult("stackName","StackName",properties.StackName!=null?cfn_parse().FromCloudFormation.getString(properties.StackName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnStackUserAssociation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_appstream.CfnStackUserAssociation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::AppStream::StackUserAssociation";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnStackUserAssociationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnStackUserAssociation(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 isCfnStackUserAssociation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnStackUserAssociation.CFN_RESOURCE_TYPE_NAME}_authenticationType;_sendEmailNotification;_stackName;_userName;cfnPropertyNames={authenticationType:"AuthenticationType",sendEmailNotification:"SendEmailNotification",stackName:"StackName",userName:"UserName"};constructor(scope,id,props){super(scope,id,{type:CfnStackUserAssociation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_appstream_CfnStackUserAssociationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnStackUserAssociation),error}cdk().requireProperty(props,"authenticationType",this),cdk().requireProperty(props,"stackName",this),cdk().requireProperty(props,"userName",this),this._authenticationType=props.authenticationType,this._sendEmailNotification=props.sendEmailNotification,this._stackName=props.stackName,this._userName=props.userName}get stackUserAssociationRef(){return{stackUserAssociationId:this.ref}}get authenticationType(){return this._authenticationType}set authenticationType(value){cdk().traceProperty(this.node,"AuthenticationType"),this._authenticationType=value}get sendEmailNotification(){return this._sendEmailNotification}set sendEmailNotification(value){cdk().traceProperty(this.node,"SendEmailNotification"),this._sendEmailNotification=value}get stackName(){return this._stackName}set stackName(value){cdk().traceProperty(this.node,"StackName"),this._stackName=value}get userName(){return this._userName}set userName(value){cdk().traceProperty(this.node,"UserName"),this._userName=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{authenticationType:this._authenticationType,sendEmailNotification:this._sendEmailNotification,stackName:this._stackName,userName:this._userName}}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",CfnStackUserAssociation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnStackUserAssociationPropsToCloudFormation(props)}}exports.CfnStackUserAssociation=CfnStackUserAssociation;function CfnStackUserAssociationPropsValidator(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("authenticationType",cdk().requiredValidator)(properties.authenticationType)),errors.collect(cdk().propertyValidator("authenticationType",cdk().validateString)(properties.authenticationType)),errors.collect(cdk().propertyValidator("sendEmailNotification",cdk().validateBoolean)(properties.sendEmailNotification)),errors.collect(cdk().propertyValidator("stackName",cdk().requiredValidator)(properties.stackName)),errors.collect(cdk().propertyValidator("stackName",cdk().validateString)(properties.stackName)),errors.collect(cdk().propertyValidator("userName",cdk().requiredValidator)(properties.userName)),errors.collect(cdk().propertyValidator("userName",cdk().validateString)(properties.userName)),errors.wrap('supplied properties not correct for "CfnStackUserAssociationProps"')}function convertCfnStackUserAssociationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStackUserAssociationPropsValidator(properties).assertSuccess(),{AuthenticationType:cdk().stringToCloudFormation(properties.authenticationType),SendEmailNotification:cdk().booleanToCloudFormation(properties.sendEmailNotification),StackName:cdk().stringToCloudFormation(properties.stackName),UserName:cdk().stringToCloudFormation(properties.userName)}):properties}function CfnStackUserAssociationPropsFromCloudFormation(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("authenticationType","AuthenticationType",properties.AuthenticationType!=null?cfn_parse().FromCloudFormation.getString(properties.AuthenticationType):void 0),ret.addPropertyResult("sendEmailNotification","SendEmailNotification",properties.SendEmailNotification!=null?cfn_parse().FromCloudFormation.getBoolean(properties.SendEmailNotification):void 0),ret.addPropertyResult("stackName","StackName",properties.StackName!=null?cfn_parse().FromCloudFormation.getString(properties.StackName):void 0),ret.addPropertyResult("userName","UserName",properties.UserName!=null?cfn_parse().FromCloudFormation.getString(properties.UserName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnUser extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_appstream.CfnUser",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::AppStream::User";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnUserPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnUser(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 isCfnUser(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnUser.CFN_RESOURCE_TYPE_NAME}_authenticationType;_firstName;_lastName;_messageAction;_userName;cfnPropertyNames={authenticationType:"AuthenticationType",firstName:"FirstName",lastName:"LastName",messageAction:"MessageAction",userName:"UserName"};constructor(scope,id,props){super(scope,id,{type:CfnUser.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_appstream_CfnUserProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnUser),error}cdk().requireProperty(props,"authenticationType",this),cdk().requireProperty(props,"userName",this),this._authenticationType=props.authenticationType,this._firstName=props.firstName,this._lastName=props.lastName,this._messageAction=props.messageAction,this._userName=props.userName}get userRef(){return{userId:this.ref}}get authenticationType(){return this._authenticationType}set authenticationType(value){cdk().traceProperty(this.node,"AuthenticationType"),this._authenticationType=value}get firstName(){return this._firstName}set firstName(value){cdk().traceProperty(this.node,"FirstName"),this._firstName=value}get lastName(){return this._lastName}set lastName(value){cdk().traceProperty(this.node,"LastName"),this._lastName=value}get messageAction(){return this._messageAction}set messageAction(value){cdk().traceProperty(this.node,"MessageAction"),this._messageAction=value}get userName(){return this._userName}set userName(value){cdk().traceProperty(this.node,"UserName"),this._userName=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{authenticationType:this._authenticationType,firstName:this._firstName,lastName:this._lastName,messageAction:this._messageAction,userName:this._userName}}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",CfnUser.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnUserPropsToCloudFormation(props)}}exports.CfnUser=CfnUser;function CfnUserPropsValidator(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("authenticationType",cdk().requiredValidator)(properties.authenticationType)),errors.collect(cdk().propertyValidator("authenticationType",cdk().validateString)(properties.authenticationType)),errors.collect(cdk().propertyValidator("firstName",cdk().validateString)(properties.firstName)),errors.collect(cdk().propertyValidator("lastName",cdk().validateString)(properties.lastName)),errors.collect(cdk().propertyValidator("messageAction",cdk().validateString)(properties.messageAction)),errors.collect(cdk().propertyValidator("userName",cdk().requiredValidator)(properties.userName)),errors.collect(cdk().propertyValidator("userName",cdk().validateString)(properties.userName)),errors.wrap('supplied properties not correct for "CfnUserProps"')}function convertCfnUserPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserPropsValidator(properties).assertSuccess(),{AuthenticationType:cdk().stringToCloudFormation(properties.authenticationType),FirstName:cdk().stringToCloudFormation(properties.firstName),LastName:cdk().stringToCloudFormation(properties.lastName),MessageAction:cdk().stringToCloudFormation(properties.messageAction),UserName:cdk().stringToCloudFormation(properties.userName)}):properties}function CfnUserPropsFromCloudFormation(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("authenticationType","AuthenticationType",properties.AuthenticationType!=null?cfn_parse().FromCloudFormation.getString(properties.AuthenticationType):void 0),ret.addPropertyResult("firstName","FirstName",properties.FirstName!=null?cfn_parse().FromCloudFormation.getString(properties.FirstName):void 0),ret.addPropertyResult("lastName","LastName",properties.LastName!=null?cfn_parse().FromCloudFormation.getString(properties.LastName):void 0),ret.addPropertyResult("messageAction","MessageAction",properties.MessageAction!=null?cfn_parse().FromCloudFormation.getString(properties.MessageAction):void 0),ret.addPropertyResult("userName","UserName",properties.UserName!=null?cfn_parse().FromCloudFormation.getString(properties.UserName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}