"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnWebApp=exports.CfnWorkflow=exports.CfnUser=exports.CfnServer=exports.CfnProfile=exports.CfnConnector=exports.CfnCertificate=exports.CfnAgreement=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 CfnAgreement extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_transfer.CfnAgreement",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Transfer::Agreement";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAgreementPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnAgreement(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 isCfnAgreement(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAgreement.CFN_RESOURCE_TYPE_NAME}static arnForAgreement(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_transfer_IAgreementRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAgreement),error}return resource.agreementRef.agreementArn}_accessRole;_baseDirectory;_customDirectories;_description;_enforceMessageSigning;_localProfileId;_partnerProfileId;_preserveFilename;_serverId;_status;tags;_tagsRaw;cfnPropertyNames={accessRole:"AccessRole",baseDirectory:"BaseDirectory",customDirectories:"CustomDirectories",description:"Description",enforceMessageSigning:"EnforceMessageSigning",localProfileId:"LocalProfileId",partnerProfileId:"PartnerProfileId",preserveFilename:"PreserveFilename",serverId:"ServerId",status:"Status",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnAgreement.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_transfer_CfnAgreementProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAgreement),error}cdk().requireProperty(props,"accessRole",this),cdk().requireProperty(props,"localProfileId",this),cdk().requireProperty(props,"partnerProfileId",this),cdk().requireProperty(props,"serverId",this),this._accessRole=props.accessRole,this._baseDirectory=props.baseDirectory,this._customDirectories=props.customDirectories,this._description=props.description,this._enforceMessageSigning=props.enforceMessageSigning,this._localProfileId=props.localProfileId,this._partnerProfileId=props.partnerProfileId,this._preserveFilename=props.preserveFilename,this._serverId=props.serverId,this._status=props.status,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Transfer::Agreement",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get agreementRef(){return{agreementId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),serverId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),agreementArn:this.attrArn}}get accessRole(){return this._accessRole}set accessRole(value){cdk().traceProperty(this.node,"AccessRole"),this._accessRole=value}get baseDirectory(){return this._baseDirectory}set baseDirectory(value){cdk().traceProperty(this.node,"BaseDirectory"),this._baseDirectory=value}get customDirectories(){return this._customDirectories}set customDirectories(value){cdk().traceProperty(this.node,"CustomDirectories"),this._customDirectories=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get enforceMessageSigning(){return this._enforceMessageSigning}set enforceMessageSigning(value){cdk().traceProperty(this.node,"EnforceMessageSigning"),this._enforceMessageSigning=value}get localProfileId(){return this._localProfileId}set localProfileId(value){cdk().traceProperty(this.node,"LocalProfileId"),this._localProfileId=value}get partnerProfileId(){return this._partnerProfileId}set partnerProfileId(value){cdk().traceProperty(this.node,"PartnerProfileId"),this._partnerProfileId=value}get preserveFilename(){return this._preserveFilename}set preserveFilename(value){cdk().traceProperty(this.node,"PreserveFilename"),this._preserveFilename=value}get serverId(){return this._serverId}set serverId(value){cdk().traceProperty(this.node,"ServerId"),this._serverId=value}get status(){return this._status}set status(value){cdk().traceProperty(this.node,"Status"),this._status=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrAgreementId(){return cdk().Token.asString(this.getAtt("AgreementId",cdk().ResolutionTypeHint.STRING))}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{accessRole:this._accessRole,baseDirectory:this._baseDirectory,customDirectories:this._customDirectories,description:this._description,enforceMessageSigning:this._enforceMessageSigning,localProfileId:this._localProfileId,partnerProfileId:this._partnerProfileId,preserveFilename:this._preserveFilename,serverId:this._serverId,status:this._status,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",CfnAgreement.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAgreementPropsToCloudFormation(props)}}exports.CfnAgreement=CfnAgreement;function CfnAgreementCustomDirectoriesPropertyValidator(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("failedFilesDirectory",cdk().requiredValidator)(properties.failedFilesDirectory)),errors.collect(cdk().propertyValidator("failedFilesDirectory",cdk().validateString)(properties.failedFilesDirectory)),errors.collect(cdk().propertyValidator("mdnFilesDirectory",cdk().requiredValidator)(properties.mdnFilesDirectory)),errors.collect(cdk().propertyValidator("mdnFilesDirectory",cdk().validateString)(properties.mdnFilesDirectory)),errors.collect(cdk().propertyValidator("payloadFilesDirectory",cdk().requiredValidator)(properties.payloadFilesDirectory)),errors.collect(cdk().propertyValidator("payloadFilesDirectory",cdk().validateString)(properties.payloadFilesDirectory)),errors.collect(cdk().propertyValidator("statusFilesDirectory",cdk().requiredValidator)(properties.statusFilesDirectory)),errors.collect(cdk().propertyValidator("statusFilesDirectory",cdk().validateString)(properties.statusFilesDirectory)),errors.collect(cdk().propertyValidator("temporaryFilesDirectory",cdk().requiredValidator)(properties.temporaryFilesDirectory)),errors.collect(cdk().propertyValidator("temporaryFilesDirectory",cdk().validateString)(properties.temporaryFilesDirectory)),errors.wrap('supplied properties not correct for "CustomDirectoriesProperty"')}function convertCfnAgreementCustomDirectoriesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgreementCustomDirectoriesPropertyValidator(properties).assertSuccess(),{FailedFilesDirectory:cdk().stringToCloudFormation(properties.failedFilesDirectory),MdnFilesDirectory:cdk().stringToCloudFormation(properties.mdnFilesDirectory),PayloadFilesDirectory:cdk().stringToCloudFormation(properties.payloadFilesDirectory),StatusFilesDirectory:cdk().stringToCloudFormation(properties.statusFilesDirectory),TemporaryFilesDirectory:cdk().stringToCloudFormation(properties.temporaryFilesDirectory)}):properties}function CfnAgreementCustomDirectoriesPropertyFromCloudFormation(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("failedFilesDirectory","FailedFilesDirectory",properties.FailedFilesDirectory!=null?cfn_parse().FromCloudFormation.getString(properties.FailedFilesDirectory):void 0),ret.addPropertyResult("mdnFilesDirectory","MdnFilesDirectory",properties.MdnFilesDirectory!=null?cfn_parse().FromCloudFormation.getString(properties.MdnFilesDirectory):void 0),ret.addPropertyResult("payloadFilesDirectory","PayloadFilesDirectory",properties.PayloadFilesDirectory!=null?cfn_parse().FromCloudFormation.getString(properties.PayloadFilesDirectory):void 0),ret.addPropertyResult("statusFilesDirectory","StatusFilesDirectory",properties.StatusFilesDirectory!=null?cfn_parse().FromCloudFormation.getString(properties.StatusFilesDirectory):void 0),ret.addPropertyResult("temporaryFilesDirectory","TemporaryFilesDirectory",properties.TemporaryFilesDirectory!=null?cfn_parse().FromCloudFormation.getString(properties.TemporaryFilesDirectory):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAgreementPropsValidator(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("accessRole",cdk().requiredValidator)(properties.accessRole)),errors.collect(cdk().propertyValidator("accessRole",cdk().validateString)(properties.accessRole)),errors.collect(cdk().propertyValidator("baseDirectory",cdk().validateString)(properties.baseDirectory)),errors.collect(cdk().propertyValidator("customDirectories",CfnAgreementCustomDirectoriesPropertyValidator)(properties.customDirectories)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("enforceMessageSigning",cdk().validateString)(properties.enforceMessageSigning)),errors.collect(cdk().propertyValidator("localProfileId",cdk().requiredValidator)(properties.localProfileId)),errors.collect(cdk().propertyValidator("localProfileId",cdk().validateString)(properties.localProfileId)),errors.collect(cdk().propertyValidator("partnerProfileId",cdk().requiredValidator)(properties.partnerProfileId)),errors.collect(cdk().propertyValidator("partnerProfileId",cdk().validateString)(properties.partnerProfileId)),errors.collect(cdk().propertyValidator("preserveFilename",cdk().validateString)(properties.preserveFilename)),errors.collect(cdk().propertyValidator("serverId",cdk().requiredValidator)(properties.serverId)),errors.collect(cdk().propertyValidator("serverId",cdk().validateString)(properties.serverId)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnAgreementProps"')}function convertCfnAgreementPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgreementPropsValidator(properties).assertSuccess(),{AccessRole:cdk().stringToCloudFormation(properties.accessRole),BaseDirectory:cdk().stringToCloudFormation(properties.baseDirectory),CustomDirectories:convertCfnAgreementCustomDirectoriesPropertyToCloudFormation(properties.customDirectories),Description:cdk().stringToCloudFormation(properties.description),EnforceMessageSigning:cdk().stringToCloudFormation(properties.enforceMessageSigning),LocalProfileId:cdk().stringToCloudFormation(properties.localProfileId),PartnerProfileId:cdk().stringToCloudFormation(properties.partnerProfileId),PreserveFilename:cdk().stringToCloudFormation(properties.preserveFilename),ServerId:cdk().stringToCloudFormation(properties.serverId),Status:cdk().stringToCloudFormation(properties.status),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnAgreementPropsFromCloudFormation(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("accessRole","AccessRole",properties.AccessRole!=null?cfn_parse().FromCloudFormation.getString(properties.AccessRole):void 0),ret.addPropertyResult("baseDirectory","BaseDirectory",properties.BaseDirectory!=null?cfn_parse().FromCloudFormation.getString(properties.BaseDirectory):void 0),ret.addPropertyResult("customDirectories","CustomDirectories",properties.CustomDirectories!=null?CfnAgreementCustomDirectoriesPropertyFromCloudFormation(properties.CustomDirectories):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("enforceMessageSigning","EnforceMessageSigning",properties.EnforceMessageSigning!=null?cfn_parse().FromCloudFormation.getString(properties.EnforceMessageSigning):void 0),ret.addPropertyResult("localProfileId","LocalProfileId",properties.LocalProfileId!=null?cfn_parse().FromCloudFormation.getString(properties.LocalProfileId):void 0),ret.addPropertyResult("partnerProfileId","PartnerProfileId",properties.PartnerProfileId!=null?cfn_parse().FromCloudFormation.getString(properties.PartnerProfileId):void 0),ret.addPropertyResult("preserveFilename","PreserveFilename",properties.PreserveFilename!=null?cfn_parse().FromCloudFormation.getString(properties.PreserveFilename):void 0),ret.addPropertyResult("serverId","ServerId",properties.ServerId!=null?cfn_parse().FromCloudFormation.getString(properties.ServerId):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):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 CfnCertificate extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_transfer.CfnCertificate",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Transfer::Certificate";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnCertificatePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnCertificate(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 isCfnCertificate(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnCertificate.CFN_RESOURCE_TYPE_NAME}static fromCertificateArn(scope,id,arn){class Import extends cdk().Resource{certificateRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:transfer:${Region}:${Account}:certificate/${CertificateId}").parse(arn2);this.certificateRef={certificateId:variables.CertificateId,certificateArn:arn2}}}return new Import(scope,id,arn)}static fromCertificateId(scope,id,certificateId){class Import extends cdk().Resource{certificateRef;constructor(scope2,id2,certificateId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:transfer:${Region}:${Account}:certificate/${CertificateId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,CertificateId:certificateId2});super(scope2,id2,{environmentFromArn:arn}),this.certificateRef={certificateId:certificateId2,certificateArn:arn}}}return new Import(scope,id,certificateId)}static arnForCertificate(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_transfer_ICertificateRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForCertificate),error}return resource.certificateRef.certificateArn}_activeDate;_certificate;_certificateChain;_description;_inactiveDate;_privateKey;tags;_tagsRaw;_usage;cfnPropertyNames={activeDate:"ActiveDate",certificate:"Certificate",certificateChain:"CertificateChain",description:"Description",inactiveDate:"InactiveDate",privateKey:"PrivateKey",tags:"Tags",usage:"Usage"};constructor(scope,id,props){super(scope,id,{type:CfnCertificate.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_transfer_CfnCertificateProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnCertificate),error}cdk().requireProperty(props,"certificate",this),cdk().requireProperty(props,"usage",this),this._activeDate=props.activeDate,this._certificate=props.certificate,this._certificateChain=props.certificateChain,this._description=props.description,this._inactiveDate=props.inactiveDate,this._privateKey=props.privateKey,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Transfer::Certificate",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._usage=props.usage}get certificateRef(){return{certificateId:this.ref,certificateArn:this.attrArn}}get activeDate(){return this._activeDate}set activeDate(value){cdk().traceProperty(this.node,"ActiveDate"),this._activeDate=value}get certificate(){return this._certificate}set certificate(value){cdk().traceProperty(this.node,"Certificate"),this._certificate=value}get certificateChain(){return this._certificateChain}set certificateChain(value){cdk().traceProperty(this.node,"CertificateChain"),this._certificateChain=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get inactiveDate(){return this._inactiveDate}set inactiveDate(value){cdk().traceProperty(this.node,"InactiveDate"),this._inactiveDate=value}get privateKey(){return this._privateKey}set privateKey(value){cdk().traceProperty(this.node,"PrivateKey"),this._privateKey=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get usage(){return this._usage}set usage(value){cdk().traceProperty(this.node,"Usage"),this._usage=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCertificateId(){return cdk().Token.asString(this.getAtt("CertificateId",cdk().ResolutionTypeHint.STRING))}get attrNotAfterDate(){return cdk().Token.asString(this.getAtt("NotAfterDate",cdk().ResolutionTypeHint.STRING))}get attrNotBeforeDate(){return cdk().Token.asString(this.getAtt("NotBeforeDate",cdk().ResolutionTypeHint.STRING))}get attrSerial(){return cdk().Token.asString(this.getAtt("Serial",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrType(){return cdk().Token.asString(this.getAtt("Type",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{activeDate:this._activeDate,certificate:this._certificate,certificateChain:this._certificateChain,description:this._description,inactiveDate:this._inactiveDate,privateKey:this._privateKey,tags:this.tags.renderTags(),usage:this._usage}}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",CfnCertificate.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnCertificatePropsToCloudFormation(props)}}exports.CfnCertificate=CfnCertificate;function CfnCertificatePropsValidator(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("activeDate",cdk().validateString)(properties.activeDate)),errors.collect(cdk().propertyValidator("certificate",cdk().requiredValidator)(properties.certificate)),errors.collect(cdk().propertyValidator("certificate",cdk().validateString)(properties.certificate)),errors.collect(cdk().propertyValidator("certificateChain",cdk().validateString)(properties.certificateChain)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("inactiveDate",cdk().validateString)(properties.inactiveDate)),errors.collect(cdk().propertyValidator("privateKey",cdk().validateString)(properties.privateKey)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("usage",cdk().requiredValidator)(properties.usage)),errors.collect(cdk().propertyValidator("usage",cdk().validateString)(properties.usage)),errors.wrap('supplied properties not correct for "CfnCertificateProps"')}function convertCfnCertificatePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnCertificatePropsValidator(properties).assertSuccess(),{ActiveDate:cdk().stringToCloudFormation(properties.activeDate),Certificate:cdk().stringToCloudFormation(properties.certificate),CertificateChain:cdk().stringToCloudFormation(properties.certificateChain),Description:cdk().stringToCloudFormation(properties.description),InactiveDate:cdk().stringToCloudFormation(properties.inactiveDate),PrivateKey:cdk().stringToCloudFormation(properties.privateKey),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Usage:cdk().stringToCloudFormation(properties.usage)}):properties}function CfnCertificatePropsFromCloudFormation(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("activeDate","ActiveDate",properties.ActiveDate!=null?cfn_parse().FromCloudFormation.getString(properties.ActiveDate):void 0),ret.addPropertyResult("certificate","Certificate",properties.Certificate!=null?cfn_parse().FromCloudFormation.getString(properties.Certificate):void 0),ret.addPropertyResult("certificateChain","CertificateChain",properties.CertificateChain!=null?cfn_parse().FromCloudFormation.getString(properties.CertificateChain):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("inactiveDate","InactiveDate",properties.InactiveDate!=null?cfn_parse().FromCloudFormation.getString(properties.InactiveDate):void 0),ret.addPropertyResult("privateKey","PrivateKey",properties.PrivateKey!=null?cfn_parse().FromCloudFormation.getString(properties.PrivateKey):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("usage","Usage",properties.Usage!=null?cfn_parse().FromCloudFormation.getString(properties.Usage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnConnector extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_transfer.CfnConnector",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Transfer::Connector";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnConnectorPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnConnector(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 isCfnConnector(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnConnector.CFN_RESOURCE_TYPE_NAME}static fromConnectorArn(scope,id,arn){class Import extends cdk().Resource{connectorRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:transfer:${Region}:${Account}:connector/${ConnectorId}").parse(arn2);this.connectorRef={connectorId:variables.ConnectorId,connectorArn:arn2}}}return new Import(scope,id,arn)}static fromConnectorId(scope,id,connectorId){class Import extends cdk().Resource{connectorRef;constructor(scope2,id2,connectorId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:transfer:${Region}:${Account}:connector/${ConnectorId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,ConnectorId:connectorId2});super(scope2,id2,{environmentFromArn:arn}),this.connectorRef={connectorId:connectorId2,connectorArn:arn}}}return new Import(scope,id,connectorId)}static arnForConnector(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_transfer_IConnectorRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForConnector),error}return resource.connectorRef.connectorArn}_accessRole;_as2Config;_egressConfig;_egressType;_ipAddressType;_loggingRole;_securityPolicyName;_sftpConfig;tags;_tagsRaw;_url;cfnPropertyNames={accessRole:"AccessRole",as2Config:"As2Config",egressConfig:"EgressConfig",egressType:"EgressType",ipAddressType:"IpAddressType",loggingRole:"LoggingRole",securityPolicyName:"SecurityPolicyName",sftpConfig:"SftpConfig",tags:"Tags",url:"Url"};constructor(scope,id,props){super(scope,id,{type:CfnConnector.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_transfer_CfnConnectorProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnConnector),error}cdk().requireProperty(props,"accessRole",this),this._accessRole=props.accessRole,this._as2Config=props.as2Config,this._egressConfig=props.egressConfig,this._egressType=props.egressType,this._ipAddressType=props.ipAddressType,this._loggingRole=props.loggingRole,this._securityPolicyName=props.securityPolicyName,this._sftpConfig=props.sftpConfig,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Transfer::Connector",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._url=props.url}get connectorRef(){return{connectorId:this.ref,connectorArn:this.attrArn}}get accessRole(){return this._accessRole}set accessRole(value){cdk().traceProperty(this.node,"AccessRole"),this._accessRole=value}get as2Config(){return this._as2Config}set as2Config(value){cdk().traceProperty(this.node,"As2Config"),this._as2Config=value}get egressConfig(){return this._egressConfig}set egressConfig(value){cdk().traceProperty(this.node,"EgressConfig"),this._egressConfig=value}get egressType(){return this._egressType}set egressType(value){cdk().traceProperty(this.node,"EgressType"),this._egressType=value}get ipAddressType(){return this._ipAddressType}set ipAddressType(value){cdk().traceProperty(this.node,"IpAddressType"),this._ipAddressType=value}get loggingRole(){return this._loggingRole}set loggingRole(value){cdk().traceProperty(this.node,"LoggingRole"),this._loggingRole=value}get securityPolicyName(){return this._securityPolicyName}set securityPolicyName(value){cdk().traceProperty(this.node,"SecurityPolicyName"),this._securityPolicyName=value}get sftpConfig(){return this._sftpConfig}set sftpConfig(value){cdk().traceProperty(this.node,"SftpConfig"),this._sftpConfig=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get url(){return this._url}set url(value){cdk().traceProperty(this.node,"Url"),this._url=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrConnectorId(){return cdk().Token.asString(this.getAtt("ConnectorId",cdk().ResolutionTypeHint.STRING))}get attrErrorMessage(){return cdk().Token.asString(this.getAtt("ErrorMessage",cdk().ResolutionTypeHint.STRING))}get attrServiceManagedEgressIpAddresses(){return cdk().Token.asList(this.getAtt("ServiceManagedEgressIpAddresses",cdk().ResolutionTypeHint.STRING_LIST))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{accessRole:this._accessRole,as2Config:this._as2Config,egressConfig:this._egressConfig,egressType:this._egressType,ipAddressType:this._ipAddressType,loggingRole:this._loggingRole,securityPolicyName:this._securityPolicyName,sftpConfig:this._sftpConfig,tags:this.tags.renderTags(),url:this._url}}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",CfnConnector.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnConnectorPropsToCloudFormation(props)}}exports.CfnConnector=CfnConnector;function CfnConnectorConnectorAsyncMdnConfigPropertyValidator(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("serverIds",cdk().requiredValidator)(properties.serverIds)),errors.collect(cdk().propertyValidator("serverIds",cdk().listValidator(cdk().validateString))(properties.serverIds)),errors.collect(cdk().propertyValidator("url",cdk().requiredValidator)(properties.url)),errors.collect(cdk().propertyValidator("url",cdk().validateString)(properties.url)),errors.wrap('supplied properties not correct for "ConnectorAsyncMdnConfigProperty"')}function convertCfnConnectorConnectorAsyncMdnConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectorConnectorAsyncMdnConfigPropertyValidator(properties).assertSuccess(),{ServerIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.serverIds),Url:cdk().stringToCloudFormation(properties.url)}):properties}function CfnConnectorConnectorAsyncMdnConfigPropertyFromCloudFormation(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("serverIds","ServerIds",properties.ServerIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ServerIds):void 0),ret.addPropertyResult("url","Url",properties.Url!=null?cfn_parse().FromCloudFormation.getString(properties.Url):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConnectorAs2ConfigPropertyValidator(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("asyncMdnConfig",CfnConnectorConnectorAsyncMdnConfigPropertyValidator)(properties.asyncMdnConfig)),errors.collect(cdk().propertyValidator("basicAuthSecretId",cdk().validateString)(properties.basicAuthSecretId)),errors.collect(cdk().propertyValidator("compression",cdk().validateString)(properties.compression)),errors.collect(cdk().propertyValidator("encryptionAlgorithm",cdk().validateString)(properties.encryptionAlgorithm)),errors.collect(cdk().propertyValidator("localProfileId",cdk().validateString)(properties.localProfileId)),errors.collect(cdk().propertyValidator("mdnResponse",cdk().validateString)(properties.mdnResponse)),errors.collect(cdk().propertyValidator("mdnSigningAlgorithm",cdk().validateString)(properties.mdnSigningAlgorithm)),errors.collect(cdk().propertyValidator("messageSubject",cdk().validateString)(properties.messageSubject)),errors.collect(cdk().propertyValidator("partnerProfileId",cdk().validateString)(properties.partnerProfileId)),errors.collect(cdk().propertyValidator("preserveContentType",cdk().validateString)(properties.preserveContentType)),errors.collect(cdk().propertyValidator("signingAlgorithm",cdk().validateString)(properties.signingAlgorithm)),errors.wrap('supplied properties not correct for "As2ConfigProperty"')}function convertCfnConnectorAs2ConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectorAs2ConfigPropertyValidator(properties).assertSuccess(),{AsyncMdnConfig:convertCfnConnectorConnectorAsyncMdnConfigPropertyToCloudFormation(properties.asyncMdnConfig),BasicAuthSecretId:cdk().stringToCloudFormation(properties.basicAuthSecretId),Compression:cdk().stringToCloudFormation(properties.compression),EncryptionAlgorithm:cdk().stringToCloudFormation(properties.encryptionAlgorithm),LocalProfileId:cdk().stringToCloudFormation(properties.localProfileId),MdnResponse:cdk().stringToCloudFormation(properties.mdnResponse),MdnSigningAlgorithm:cdk().stringToCloudFormation(properties.mdnSigningAlgorithm),MessageSubject:cdk().stringToCloudFormation(properties.messageSubject),PartnerProfileId:cdk().stringToCloudFormation(properties.partnerProfileId),PreserveContentType:cdk().stringToCloudFormation(properties.preserveContentType),SigningAlgorithm:cdk().stringToCloudFormation(properties.signingAlgorithm)}):properties}function CfnConnectorAs2ConfigPropertyFromCloudFormation(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("asyncMdnConfig","AsyncMdnConfig",properties.AsyncMdnConfig!=null?CfnConnectorConnectorAsyncMdnConfigPropertyFromCloudFormation(properties.AsyncMdnConfig):void 0),ret.addPropertyResult("basicAuthSecretId","BasicAuthSecretId",properties.BasicAuthSecretId!=null?cfn_parse().FromCloudFormation.getString(properties.BasicAuthSecretId):void 0),ret.addPropertyResult("compression","Compression",properties.Compression!=null?cfn_parse().FromCloudFormation.getString(properties.Compression):void 0),ret.addPropertyResult("encryptionAlgorithm","EncryptionAlgorithm",properties.EncryptionAlgorithm!=null?cfn_parse().FromCloudFormation.getString(properties.EncryptionAlgorithm):void 0),ret.addPropertyResult("localProfileId","LocalProfileId",properties.LocalProfileId!=null?cfn_parse().FromCloudFormation.getString(properties.LocalProfileId):void 0),ret.addPropertyResult("mdnResponse","MdnResponse",properties.MdnResponse!=null?cfn_parse().FromCloudFormation.getString(properties.MdnResponse):void 0),ret.addPropertyResult("mdnSigningAlgorithm","MdnSigningAlgorithm",properties.MdnSigningAlgorithm!=null?cfn_parse().FromCloudFormation.getString(properties.MdnSigningAlgorithm):void 0),ret.addPropertyResult("messageSubject","MessageSubject",properties.MessageSubject!=null?cfn_parse().FromCloudFormation.getString(properties.MessageSubject):void 0),ret.addPropertyResult("partnerProfileId","PartnerProfileId",properties.PartnerProfileId!=null?cfn_parse().FromCloudFormation.getString(properties.PartnerProfileId):void 0),ret.addPropertyResult("preserveContentType","PreserveContentType",properties.PreserveContentType!=null?cfn_parse().FromCloudFormation.getString(properties.PreserveContentType):void 0),ret.addPropertyResult("signingAlgorithm","SigningAlgorithm",properties.SigningAlgorithm!=null?cfn_parse().FromCloudFormation.getString(properties.SigningAlgorithm):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConnectorSftpConfigPropertyValidator(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("maxConcurrentConnections",cdk().validateNumber)(properties.maxConcurrentConnections)),errors.collect(cdk().propertyValidator("trustedHostKeys",cdk().listValidator(cdk().validateString))(properties.trustedHostKeys)),errors.collect(cdk().propertyValidator("userSecretId",cdk().validateString)(properties.userSecretId)),errors.wrap('supplied properties not correct for "SftpConfigProperty"')}function convertCfnConnectorSftpConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectorSftpConfigPropertyValidator(properties).assertSuccess(),{MaxConcurrentConnections:cdk().numberToCloudFormation(properties.maxConcurrentConnections),TrustedHostKeys:cdk().listMapper(cdk().stringToCloudFormation)(properties.trustedHostKeys),UserSecretId:cdk().stringToCloudFormation(properties.userSecretId)}):properties}function CfnConnectorSftpConfigPropertyFromCloudFormation(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("maxConcurrentConnections","MaxConcurrentConnections",properties.MaxConcurrentConnections!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxConcurrentConnections):void 0),ret.addPropertyResult("trustedHostKeys","TrustedHostKeys",properties.TrustedHostKeys!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.TrustedHostKeys):void 0),ret.addPropertyResult("userSecretId","UserSecretId",properties.UserSecretId!=null?cfn_parse().FromCloudFormation.getString(properties.UserSecretId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConnectorConnectorVpcLatticeEgressConfigPropertyValidator(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("portNumber",cdk().validateNumber)(properties.portNumber)),errors.collect(cdk().propertyValidator("resourceConfigurationArn",cdk().requiredValidator)(properties.resourceConfigurationArn)),errors.collect(cdk().propertyValidator("resourceConfigurationArn",cdk().validateString)(properties.resourceConfigurationArn)),errors.wrap('supplied properties not correct for "ConnectorVpcLatticeEgressConfigProperty"')}function convertCfnConnectorConnectorVpcLatticeEgressConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectorConnectorVpcLatticeEgressConfigPropertyValidator(properties).assertSuccess(),{PortNumber:cdk().numberToCloudFormation(properties.portNumber),ResourceConfigurationArn:cdk().stringToCloudFormation(properties.resourceConfigurationArn)}):properties}function CfnConnectorConnectorVpcLatticeEgressConfigPropertyFromCloudFormation(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("portNumber","PortNumber",properties.PortNumber!=null?cfn_parse().FromCloudFormation.getNumber(properties.PortNumber):void 0),ret.addPropertyResult("resourceConfigurationArn","ResourceConfigurationArn",properties.ResourceConfigurationArn!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceConfigurationArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConnectorConnectorEgressConfigPropertyValidator(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("vpcLattice",cdk().requiredValidator)(properties.vpcLattice)),errors.collect(cdk().propertyValidator("vpcLattice",CfnConnectorConnectorVpcLatticeEgressConfigPropertyValidator)(properties.vpcLattice)),errors.wrap('supplied properties not correct for "ConnectorEgressConfigProperty"')}function convertCfnConnectorConnectorEgressConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectorConnectorEgressConfigPropertyValidator(properties).assertSuccess(),{VpcLattice:convertCfnConnectorConnectorVpcLatticeEgressConfigPropertyToCloudFormation(properties.vpcLattice)}):properties}function CfnConnectorConnectorEgressConfigPropertyFromCloudFormation(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("vpcLattice","VpcLattice",properties.VpcLattice!=null?CfnConnectorConnectorVpcLatticeEgressConfigPropertyFromCloudFormation(properties.VpcLattice):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConnectorPropsValidator(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("accessRole",cdk().requiredValidator)(properties.accessRole)),errors.collect(cdk().propertyValidator("accessRole",cdk().validateString)(properties.accessRole)),errors.collect(cdk().propertyValidator("as2Config",cdk().validateObject)(properties.as2Config)),errors.collect(cdk().propertyValidator("egressConfig",CfnConnectorConnectorEgressConfigPropertyValidator)(properties.egressConfig)),errors.collect(cdk().propertyValidator("egressType",cdk().validateString)(properties.egressType)),errors.collect(cdk().propertyValidator("ipAddressType",cdk().validateString)(properties.ipAddressType)),errors.collect(cdk().propertyValidator("loggingRole",cdk().validateString)(properties.loggingRole)),errors.collect(cdk().propertyValidator("securityPolicyName",cdk().validateString)(properties.securityPolicyName)),errors.collect(cdk().propertyValidator("sftpConfig",CfnConnectorSftpConfigPropertyValidator)(properties.sftpConfig)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("url",cdk().validateString)(properties.url)),errors.wrap('supplied properties not correct for "CfnConnectorProps"')}function convertCfnConnectorPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConnectorPropsValidator(properties).assertSuccess(),{AccessRole:cdk().stringToCloudFormation(properties.accessRole),As2Config:cdk().objectToCloudFormation(properties.as2Config),EgressConfig:convertCfnConnectorConnectorEgressConfigPropertyToCloudFormation(properties.egressConfig),EgressType:cdk().stringToCloudFormation(properties.egressType),IpAddressType:cdk().stringToCloudFormation(properties.ipAddressType),LoggingRole:cdk().stringToCloudFormation(properties.loggingRole),SecurityPolicyName:cdk().stringToCloudFormation(properties.securityPolicyName),SftpConfig:convertCfnConnectorSftpConfigPropertyToCloudFormation(properties.sftpConfig),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Url:cdk().stringToCloudFormation(properties.url)}):properties}function CfnConnectorPropsFromCloudFormation(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("accessRole","AccessRole",properties.AccessRole!=null?cfn_parse().FromCloudFormation.getString(properties.AccessRole):void 0),ret.addPropertyResult("as2Config","As2Config",properties.As2Config!=null?cfn_parse().FromCloudFormation.getAny(properties.As2Config):void 0),ret.addPropertyResult("egressConfig","EgressConfig",properties.EgressConfig!=null?CfnConnectorConnectorEgressConfigPropertyFromCloudFormation(properties.EgressConfig):void 0),ret.addPropertyResult("egressType","EgressType",properties.EgressType!=null?cfn_parse().FromCloudFormation.getString(properties.EgressType):void 0),ret.addPropertyResult("ipAddressType","IpAddressType",properties.IpAddressType!=null?cfn_parse().FromCloudFormation.getString(properties.IpAddressType):void 0),ret.addPropertyResult("loggingRole","LoggingRole",properties.LoggingRole!=null?cfn_parse().FromCloudFormation.getString(properties.LoggingRole):void 0),ret.addPropertyResult("securityPolicyName","SecurityPolicyName",properties.SecurityPolicyName!=null?cfn_parse().FromCloudFormation.getString(properties.SecurityPolicyName):void 0),ret.addPropertyResult("sftpConfig","SftpConfig",properties.SftpConfig!=null?CfnConnectorSftpConfigPropertyFromCloudFormation(properties.SftpConfig):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("url","Url",properties.Url!=null?cfn_parse().FromCloudFormation.getString(properties.Url):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnProfile extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_transfer.CfnProfile",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Transfer::Profile";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnProfilePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnProfile(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 isCfnProfile(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnProfile.CFN_RESOURCE_TYPE_NAME}static fromProfileArn(scope,id,arn){class Import extends cdk().Resource{profileRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:transfer:${Region}:${Account}:profile/${ProfileId}").parse(arn2);this.profileRef={profileId:variables.ProfileId,profileArn:arn2}}}return new Import(scope,id,arn)}static fromProfileId(scope,id,profileId){class Import extends cdk().Resource{profileRef;constructor(scope2,id2,profileId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:transfer:${Region}:${Account}:profile/${ProfileId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,ProfileId:profileId2});super(scope2,id2,{environmentFromArn:arn}),this.profileRef={profileId:profileId2,profileArn:arn}}}return new Import(scope,id,profileId)}static arnForProfile(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_transfer_IProfileRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForProfile),error}return resource.profileRef.profileArn}_as2Id;_certificateIds;_profileType;tags;_tagsRaw;cfnPropertyNames={as2Id:"As2Id",certificateIds:"CertificateIds",profileType:"ProfileType",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnProfile.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_transfer_CfnProfileProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnProfile),error}cdk().requireProperty(props,"as2Id",this),cdk().requireProperty(props,"profileType",this),this._as2Id=props.as2Id,this._certificateIds=props.certificateIds,this._profileType=props.profileType,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Transfer::Profile",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get profileRef(){return{profileId:this.ref,profileArn:this.attrArn}}get as2Id(){return this._as2Id}set as2Id(value){cdk().traceProperty(this.node,"As2Id"),this._as2Id=value}get certificateIds(){return this._certificateIds}set certificateIds(value){cdk().traceProperty(this.node,"CertificateIds"),this._certificateIds=value}get profileType(){return this._profileType}set profileType(value){cdk().traceProperty(this.node,"ProfileType"),this._profileType=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 attrProfileId(){return cdk().Token.asString(this.getAtt("ProfileId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{as2Id:this._as2Id,certificateIds:this._certificateIds,profileType:this._profileType,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",CfnProfile.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnProfilePropsToCloudFormation(props)}}exports.CfnProfile=CfnProfile;function CfnProfilePropsValidator(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("as2Id",cdk().requiredValidator)(properties.as2Id)),errors.collect(cdk().propertyValidator("as2Id",cdk().validateString)(properties.as2Id)),errors.collect(cdk().propertyValidator("certificateIds",cdk().listValidator(cdk().validateString))(properties.certificateIds)),errors.collect(cdk().propertyValidator("profileType",cdk().requiredValidator)(properties.profileType)),errors.collect(cdk().propertyValidator("profileType",cdk().validateString)(properties.profileType)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnProfileProps"')}function convertCfnProfilePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnProfilePropsValidator(properties).assertSuccess(),{As2Id:cdk().stringToCloudFormation(properties.as2Id),CertificateIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.certificateIds),ProfileType:cdk().stringToCloudFormation(properties.profileType),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnProfilePropsFromCloudFormation(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("as2Id","As2Id",properties.As2Id!=null?cfn_parse().FromCloudFormation.getString(properties.As2Id):void 0),ret.addPropertyResult("certificateIds","CertificateIds",properties.CertificateIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.CertificateIds):void 0),ret.addPropertyResult("profileType","ProfileType",properties.ProfileType!=null?cfn_parse().FromCloudFormation.getString(properties.ProfileType):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 CfnServer extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_transfer.CfnServer",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Transfer::Server";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnServerPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnServer(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 isCfnServer(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnServer.CFN_RESOURCE_TYPE_NAME}static arnForServer(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_transfer_IServerRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForServer),error}return resource.serverRef.serverArn}_certificate;_domain;_endpointDetails;_endpointType;_identityProviderDetails;_identityProviderType;_ipAddressType;_loggingRole;_postAuthenticationLoginBanner;_preAuthenticationLoginBanner;_protocolDetails;_protocols;_s3StorageOptions;_securityPolicyName;_structuredLogDestinations;tags;_tagsRaw;_workflowDetails;cfnPropertyNames={certificate:"Certificate",domain:"Domain",endpointDetails:"EndpointDetails",endpointType:"EndpointType",identityProviderDetails:"IdentityProviderDetails",identityProviderType:"IdentityProviderType",ipAddressType:"IpAddressType",loggingRole:"LoggingRole",postAuthenticationLoginBanner:"PostAuthenticationLoginBanner",preAuthenticationLoginBanner:"PreAuthenticationLoginBanner",protocolDetails:"ProtocolDetails",protocols:"Protocols",s3StorageOptions:"S3StorageOptions",securityPolicyName:"SecurityPolicyName",structuredLogDestinations:"StructuredLogDestinations",tags:"Tags",workflowDetails:"WorkflowDetails"};constructor(scope,id,props={}){super(scope,id,{type:CfnServer.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_transfer_CfnServerProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnServer),error}this._certificate=props.certificate,this._domain=props.domain,this._endpointDetails=props.endpointDetails,this._endpointType=props.endpointType,this._identityProviderDetails=props.identityProviderDetails,this._identityProviderType=props.identityProviderType,this._ipAddressType=props.ipAddressType,this._loggingRole=props.loggingRole,this._postAuthenticationLoginBanner=props.postAuthenticationLoginBanner,this._preAuthenticationLoginBanner=props.preAuthenticationLoginBanner,this._protocolDetails=props.protocolDetails,this._protocols=props.protocols,this._s3StorageOptions=props.s3StorageOptions,this._securityPolicyName=props.securityPolicyName,this._structuredLogDestinations=props.structuredLogDestinations,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Transfer::Server",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._workflowDetails=props.workflowDetails}get serverRef(){return{serverArn:this.ref}}get certificate(){return this._certificate}set certificate(value){cdk().traceProperty(this.node,"Certificate"),this._certificate=value}get domain(){return this._domain}set domain(value){cdk().traceProperty(this.node,"Domain"),this._domain=value}get endpointDetails(){return this._endpointDetails}set endpointDetails(value){cdk().traceProperty(this.node,"EndpointDetails"),this._endpointDetails=value}get endpointType(){return this._endpointType}set endpointType(value){cdk().traceProperty(this.node,"EndpointType"),this._endpointType=value}get identityProviderDetails(){return this._identityProviderDetails}set identityProviderDetails(value){cdk().traceProperty(this.node,"IdentityProviderDetails"),this._identityProviderDetails=value}get identityProviderType(){return this._identityProviderType}set identityProviderType(value){cdk().traceProperty(this.node,"IdentityProviderType"),this._identityProviderType=value}get ipAddressType(){return this._ipAddressType}set ipAddressType(value){cdk().traceProperty(this.node,"IpAddressType"),this._ipAddressType=value}get loggingRole(){return this._loggingRole}set loggingRole(value){cdk().traceProperty(this.node,"LoggingRole"),this._loggingRole=value}get postAuthenticationLoginBanner(){return this._postAuthenticationLoginBanner}set postAuthenticationLoginBanner(value){cdk().traceProperty(this.node,"PostAuthenticationLoginBanner"),this._postAuthenticationLoginBanner=value}get preAuthenticationLoginBanner(){return this._preAuthenticationLoginBanner}set preAuthenticationLoginBanner(value){cdk().traceProperty(this.node,"PreAuthenticationLoginBanner"),this._preAuthenticationLoginBanner=value}get protocolDetails(){return this._protocolDetails}set protocolDetails(value){cdk().traceProperty(this.node,"ProtocolDetails"),this._protocolDetails=value}get protocols(){return this._protocols}set protocols(value){cdk().traceProperty(this.node,"Protocols"),this._protocols=value}get s3StorageOptions(){return this._s3StorageOptions}set s3StorageOptions(value){cdk().traceProperty(this.node,"S3StorageOptions"),this._s3StorageOptions=value}get securityPolicyName(){return this._securityPolicyName}set securityPolicyName(value){cdk().traceProperty(this.node,"SecurityPolicyName"),this._securityPolicyName=value}get structuredLogDestinations(){return this._structuredLogDestinations}set structuredLogDestinations(value){cdk().traceProperty(this.node,"StructuredLogDestinations"),this._structuredLogDestinations=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get workflowDetails(){return this._workflowDetails}set workflowDetails(value){cdk().traceProperty(this.node,"WorkflowDetails"),this._workflowDetails=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrAs2ServiceManagedEgressIpAddresses(){return cdk().Token.asList(this.getAtt("As2ServiceManagedEgressIpAddresses",cdk().ResolutionTypeHint.STRING_LIST))}get attrServerId(){return cdk().Token.asString(this.getAtt("ServerId",cdk().ResolutionTypeHint.STRING))}get attrState(){return cdk().Token.asString(this.getAtt("State",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{certificate:this._certificate,domain:this._domain,endpointDetails:this._endpointDetails,endpointType:this._endpointType,identityProviderDetails:this._identityProviderDetails,identityProviderType:this._identityProviderType,ipAddressType:this._ipAddressType,loggingRole:this._loggingRole,postAuthenticationLoginBanner:this._postAuthenticationLoginBanner,preAuthenticationLoginBanner:this._preAuthenticationLoginBanner,protocolDetails:this._protocolDetails,protocols:this._protocols,s3StorageOptions:this._s3StorageOptions,securityPolicyName:this._securityPolicyName,structuredLogDestinations:this._structuredLogDestinations,tags:this.tags.renderTags(),workflowDetails:this._workflowDetails}}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",CfnServer.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnServerPropsToCloudFormation(props)}}exports.CfnServer=CfnServer;function CfnServerIdentityProviderDetailsPropertyValidator(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("directoryId",cdk().validateString)(properties.directoryId)),errors.collect(cdk().propertyValidator("function",cdk().validateString)(properties.function)),errors.collect(cdk().propertyValidator("invocationRole",cdk().validateString)(properties.invocationRole)),errors.collect(cdk().propertyValidator("sftpAuthenticationMethods",cdk().validateString)(properties.sftpAuthenticationMethods)),errors.collect(cdk().propertyValidator("url",cdk().validateString)(properties.url)),errors.wrap('supplied properties not correct for "IdentityProviderDetailsProperty"')}function convertCfnServerIdentityProviderDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServerIdentityProviderDetailsPropertyValidator(properties).assertSuccess(),{DirectoryId:cdk().stringToCloudFormation(properties.directoryId),Function:cdk().stringToCloudFormation(properties.function),InvocationRole:cdk().stringToCloudFormation(properties.invocationRole),SftpAuthenticationMethods:cdk().stringToCloudFormation(properties.sftpAuthenticationMethods),Url:cdk().stringToCloudFormation(properties.url)}):properties}function CfnServerIdentityProviderDetailsPropertyFromCloudFormation(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("directoryId","DirectoryId",properties.DirectoryId!=null?cfn_parse().FromCloudFormation.getString(properties.DirectoryId):void 0),ret.addPropertyResult("function","Function",properties.Function!=null?cfn_parse().FromCloudFormation.getString(properties.Function):void 0),ret.addPropertyResult("invocationRole","InvocationRole",properties.InvocationRole!=null?cfn_parse().FromCloudFormation.getString(properties.InvocationRole):void 0),ret.addPropertyResult("sftpAuthenticationMethods","SftpAuthenticationMethods",properties.SftpAuthenticationMethods!=null?cfn_parse().FromCloudFormation.getString(properties.SftpAuthenticationMethods):void 0),ret.addPropertyResult("url","Url",properties.Url!=null?cfn_parse().FromCloudFormation.getString(properties.Url):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServerEndpointDetailsPropertyValidator(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("addressAllocationIds",cdk().listValidator(cdk().validateString))(properties.addressAllocationIds)),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.collect(cdk().propertyValidator("vpcEndpointId",cdk().validateString)(properties.vpcEndpointId)),errors.collect(cdk().propertyValidator("vpcId",cdk().validateString)(properties.vpcId)),errors.wrap('supplied properties not correct for "EndpointDetailsProperty"')}function convertCfnServerEndpointDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServerEndpointDetailsPropertyValidator(properties).assertSuccess(),{AddressAllocationIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.addressAllocationIds),SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds),VpcEndpointId:cdk().stringToCloudFormation(properties.vpcEndpointId),VpcId:cdk().stringToCloudFormation(properties.vpcId)}):properties}function CfnServerEndpointDetailsPropertyFromCloudFormation(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("addressAllocationIds","AddressAllocationIds",properties.AddressAllocationIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AddressAllocationIds):void 0),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.addPropertyResult("vpcEndpointId","VpcEndpointId",properties.VpcEndpointId!=null?cfn_parse().FromCloudFormation.getString(properties.VpcEndpointId):void 0),ret.addPropertyResult("vpcId","VpcId",properties.VpcId!=null?cfn_parse().FromCloudFormation.getString(properties.VpcId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServerProtocolDetailsPropertyValidator(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("as2Transports",cdk().listValidator(cdk().validateString))(properties.as2Transports)),errors.collect(cdk().propertyValidator("passiveIp",cdk().validateString)(properties.passiveIp)),errors.collect(cdk().propertyValidator("setStatOption",cdk().validateString)(properties.setStatOption)),errors.collect(cdk().propertyValidator("tlsSessionResumptionMode",cdk().validateString)(properties.tlsSessionResumptionMode)),errors.wrap('supplied properties not correct for "ProtocolDetailsProperty"')}function convertCfnServerProtocolDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServerProtocolDetailsPropertyValidator(properties).assertSuccess(),{As2Transports:cdk().listMapper(cdk().stringToCloudFormation)(properties.as2Transports),PassiveIp:cdk().stringToCloudFormation(properties.passiveIp),SetStatOption:cdk().stringToCloudFormation(properties.setStatOption),TlsSessionResumptionMode:cdk().stringToCloudFormation(properties.tlsSessionResumptionMode)}):properties}function CfnServerProtocolDetailsPropertyFromCloudFormation(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("as2Transports","As2Transports",properties.As2Transports!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.As2Transports):void 0),ret.addPropertyResult("passiveIp","PassiveIp",properties.PassiveIp!=null?cfn_parse().FromCloudFormation.getString(properties.PassiveIp):void 0),ret.addPropertyResult("setStatOption","SetStatOption",properties.SetStatOption!=null?cfn_parse().FromCloudFormation.getString(properties.SetStatOption):void 0),ret.addPropertyResult("tlsSessionResumptionMode","TlsSessionResumptionMode",properties.TlsSessionResumptionMode!=null?cfn_parse().FromCloudFormation.getString(properties.TlsSessionResumptionMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServerWorkflowDetailPropertyValidator(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("executionRole",cdk().requiredValidator)(properties.executionRole)),errors.collect(cdk().propertyValidator("executionRole",cdk().validateString)(properties.executionRole)),errors.collect(cdk().propertyValidator("workflowId",cdk().requiredValidator)(properties.workflowId)),errors.collect(cdk().propertyValidator("workflowId",cdk().validateString)(properties.workflowId)),errors.wrap('supplied properties not correct for "WorkflowDetailProperty"')}function convertCfnServerWorkflowDetailPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServerWorkflowDetailPropertyValidator(properties).assertSuccess(),{ExecutionRole:cdk().stringToCloudFormation(properties.executionRole),WorkflowId:cdk().stringToCloudFormation(properties.workflowId)}):properties}function CfnServerWorkflowDetailPropertyFromCloudFormation(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("executionRole","ExecutionRole",properties.ExecutionRole!=null?cfn_parse().FromCloudFormation.getString(properties.ExecutionRole):void 0),ret.addPropertyResult("workflowId","WorkflowId",properties.WorkflowId!=null?cfn_parse().FromCloudFormation.getString(properties.WorkflowId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServerWorkflowDetailsPropertyValidator(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("onPartialUpload",cdk().listValidator(CfnServerWorkflowDetailPropertyValidator))(properties.onPartialUpload)),errors.collect(cdk().propertyValidator("onUpload",cdk().listValidator(CfnServerWorkflowDetailPropertyValidator))(properties.onUpload)),errors.wrap('supplied properties not correct for "WorkflowDetailsProperty"')}function convertCfnServerWorkflowDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServerWorkflowDetailsPropertyValidator(properties).assertSuccess(),{OnPartialUpload:cdk().listMapper(convertCfnServerWorkflowDetailPropertyToCloudFormation)(properties.onPartialUpload),OnUpload:cdk().listMapper(convertCfnServerWorkflowDetailPropertyToCloudFormation)(properties.onUpload)}):properties}function CfnServerWorkflowDetailsPropertyFromCloudFormation(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("onPartialUpload","OnPartialUpload",properties.OnPartialUpload!=null?cfn_parse().FromCloudFormation.getArray(CfnServerWorkflowDetailPropertyFromCloudFormation)(properties.OnPartialUpload):void 0),ret.addPropertyResult("onUpload","OnUpload",properties.OnUpload!=null?cfn_parse().FromCloudFormation.getArray(CfnServerWorkflowDetailPropertyFromCloudFormation)(properties.OnUpload):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServerS3StorageOptionsPropertyValidator(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("directoryListingOptimization",cdk().validateString)(properties.directoryListingOptimization)),errors.wrap('supplied properties not correct for "S3StorageOptionsProperty"')}function convertCfnServerS3StorageOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServerS3StorageOptionsPropertyValidator(properties).assertSuccess(),{DirectoryListingOptimization:cdk().stringToCloudFormation(properties.directoryListingOptimization)}):properties}function CfnServerS3StorageOptionsPropertyFromCloudFormation(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("directoryListingOptimization","DirectoryListingOptimization",properties.DirectoryListingOptimization!=null?cfn_parse().FromCloudFormation.getString(properties.DirectoryListingOptimization):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnServerPropsValidator(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("certificate",cdk().validateString)(properties.certificate)),errors.collect(cdk().propertyValidator("domain",cdk().validateString)(properties.domain)),errors.collect(cdk().propertyValidator("endpointDetails",CfnServerEndpointDetailsPropertyValidator)(properties.endpointDetails)),errors.collect(cdk().propertyValidator("endpointType",cdk().validateString)(properties.endpointType)),errors.collect(cdk().propertyValidator("identityProviderDetails",CfnServerIdentityProviderDetailsPropertyValidator)(properties.identityProviderDetails)),errors.collect(cdk().propertyValidator("identityProviderType",cdk().validateString)(properties.identityProviderType)),errors.collect(cdk().propertyValidator("ipAddressType",cdk().validateString)(properties.ipAddressType)),errors.collect(cdk().propertyValidator("loggingRole",cdk().validateString)(properties.loggingRole)),errors.collect(cdk().propertyValidator("postAuthenticationLoginBanner",cdk().validateString)(properties.postAuthenticationLoginBanner)),errors.collect(cdk().propertyValidator("preAuthenticationLoginBanner",cdk().validateString)(properties.preAuthenticationLoginBanner)),errors.collect(cdk().propertyValidator("protocolDetails",CfnServerProtocolDetailsPropertyValidator)(properties.protocolDetails)),errors.collect(cdk().propertyValidator("protocols",cdk().listValidator(cdk().validateString))(properties.protocols)),errors.collect(cdk().propertyValidator("s3StorageOptions",CfnServerS3StorageOptionsPropertyValidator)(properties.s3StorageOptions)),errors.collect(cdk().propertyValidator("securityPolicyName",cdk().validateString)(properties.securityPolicyName)),errors.collect(cdk().propertyValidator("structuredLogDestinations",cdk().listValidator(cdk().validateString))(properties.structuredLogDestinations)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("workflowDetails",CfnServerWorkflowDetailsPropertyValidator)(properties.workflowDetails)),errors.wrap('supplied properties not correct for "CfnServerProps"')}function convertCfnServerPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnServerPropsValidator(properties).assertSuccess(),{Certificate:cdk().stringToCloudFormation(properties.certificate),Domain:cdk().stringToCloudFormation(properties.domain),EndpointDetails:convertCfnServerEndpointDetailsPropertyToCloudFormation(properties.endpointDetails),EndpointType:cdk().stringToCloudFormation(properties.endpointType),IdentityProviderDetails:convertCfnServerIdentityProviderDetailsPropertyToCloudFormation(properties.identityProviderDetails),IdentityProviderType:cdk().stringToCloudFormation(properties.identityProviderType),IpAddressType:cdk().stringToCloudFormation(properties.ipAddressType),LoggingRole:cdk().stringToCloudFormation(properties.loggingRole),PostAuthenticationLoginBanner:cdk().stringToCloudFormation(properties.postAuthenticationLoginBanner),PreAuthenticationLoginBanner:cdk().stringToCloudFormation(properties.preAuthenticationLoginBanner),ProtocolDetails:convertCfnServerProtocolDetailsPropertyToCloudFormation(properties.protocolDetails),Protocols:cdk().listMapper(cdk().stringToCloudFormation)(properties.protocols),S3StorageOptions:convertCfnServerS3StorageOptionsPropertyToCloudFormation(properties.s3StorageOptions),SecurityPolicyName:cdk().stringToCloudFormation(properties.securityPolicyName),StructuredLogDestinations:cdk().listMapper(cdk().stringToCloudFormation)(properties.structuredLogDestinations),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),WorkflowDetails:convertCfnServerWorkflowDetailsPropertyToCloudFormation(properties.workflowDetails)}):properties}function CfnServerPropsFromCloudFormation(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("certificate","Certificate",properties.Certificate!=null?cfn_parse().FromCloudFormation.getString(properties.Certificate):void 0),ret.addPropertyResult("domain","Domain",properties.Domain!=null?cfn_parse().FromCloudFormation.getString(properties.Domain):void 0),ret.addPropertyResult("endpointDetails","EndpointDetails",properties.EndpointDetails!=null?CfnServerEndpointDetailsPropertyFromCloudFormation(properties.EndpointDetails):void 0),ret.addPropertyResult("endpointType","EndpointType",properties.EndpointType!=null?cfn_parse().FromCloudFormation.getString(properties.EndpointType):void 0),ret.addPropertyResult("identityProviderDetails","IdentityProviderDetails",properties.IdentityProviderDetails!=null?CfnServerIdentityProviderDetailsPropertyFromCloudFormation(properties.IdentityProviderDetails):void 0),ret.addPropertyResult("identityProviderType","IdentityProviderType",properties.IdentityProviderType!=null?cfn_parse().FromCloudFormation.getString(properties.IdentityProviderType):void 0),ret.addPropertyResult("ipAddressType","IpAddressType",properties.IpAddressType!=null?cfn_parse().FromCloudFormation.getString(properties.IpAddressType):void 0),ret.addPropertyResult("loggingRole","LoggingRole",properties.LoggingRole!=null?cfn_parse().FromCloudFormation.getString(properties.LoggingRole):void 0),ret.addPropertyResult("postAuthenticationLoginBanner","PostAuthenticationLoginBanner",properties.PostAuthenticationLoginBanner!=null?cfn_parse().FromCloudFormation.getString(properties.PostAuthenticationLoginBanner):void 0),ret.addPropertyResult("preAuthenticationLoginBanner","PreAuthenticationLoginBanner",properties.PreAuthenticationLoginBanner!=null?cfn_parse().FromCloudFormation.getString(properties.PreAuthenticationLoginBanner):void 0),ret.addPropertyResult("protocolDetails","ProtocolDetails",properties.ProtocolDetails!=null?CfnServerProtocolDetailsPropertyFromCloudFormation(properties.ProtocolDetails):void 0),ret.addPropertyResult("protocols","Protocols",properties.Protocols!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Protocols):void 0),ret.addPropertyResult("s3StorageOptions","S3StorageOptions",properties.S3StorageOptions!=null?CfnServerS3StorageOptionsPropertyFromCloudFormation(properties.S3StorageOptions):void 0),ret.addPropertyResult("securityPolicyName","SecurityPolicyName",properties.SecurityPolicyName!=null?cfn_parse().FromCloudFormation.getString(properties.SecurityPolicyName):void 0),ret.addPropertyResult("structuredLogDestinations","StructuredLogDestinations",properties.StructuredLogDestinations!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StructuredLogDestinations):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("workflowDetails","WorkflowDetails",properties.WorkflowDetails!=null?CfnServerWorkflowDetailsPropertyFromCloudFormation(properties.WorkflowDetails):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnUser extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_transfer.CfnUser",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Transfer::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}static arnForUser(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_transfer_IUserRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForUser),error}return resource.userRef.userArn}_homeDirectory;_homeDirectoryMappings;_homeDirectoryType;_policy;_posixProfile;_role;_serverId;_sshPublicKeys;tags;_tagsRaw;_userName;cfnPropertyNames={homeDirectory:"HomeDirectory",homeDirectoryMappings:"HomeDirectoryMappings",homeDirectoryType:"HomeDirectoryType",policy:"Policy",posixProfile:"PosixProfile",role:"Role",serverId:"ServerId",sshPublicKeys:"SshPublicKeys",tags:"Tags",userName:"UserName"};constructor(scope,id,props){super(scope,id,{type:CfnUser.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_transfer_CfnUserProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnUser),error}cdk().requireProperty(props,"role",this),cdk().requireProperty(props,"serverId",this),cdk().requireProperty(props,"userName",this),this._homeDirectory=props.homeDirectory,this._homeDirectoryMappings=props.homeDirectoryMappings,this._homeDirectoryType=props.homeDirectoryType,this._policy=props.policy,this._posixProfile=props.posixProfile,this._role=props.role,this._serverId=props.serverId,this._sshPublicKeys=props.sshPublicKeys,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Transfer::User",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._userName=props.userName}get userRef(){return{userArn:this.ref}}get homeDirectory(){return this._homeDirectory}set homeDirectory(value){cdk().traceProperty(this.node,"HomeDirectory"),this._homeDirectory=value}get homeDirectoryMappings(){return this._homeDirectoryMappings}set homeDirectoryMappings(value){cdk().traceProperty(this.node,"HomeDirectoryMappings"),this._homeDirectoryMappings=value}get homeDirectoryType(){return this._homeDirectoryType}set homeDirectoryType(value){cdk().traceProperty(this.node,"HomeDirectoryType"),this._homeDirectoryType=value}get policy(){return this._policy}set policy(value){cdk().traceProperty(this.node,"Policy"),this._policy=value}get posixProfile(){return this._posixProfile}set posixProfile(value){cdk().traceProperty(this.node,"PosixProfile"),this._posixProfile=value}get role(){return this._role}set role(value){cdk().traceProperty(this.node,"Role"),this._role=value}get serverId(){return this._serverId}set serverId(value){cdk().traceProperty(this.node,"ServerId"),this._serverId=value}get sshPublicKeys(){return this._sshPublicKeys}set sshPublicKeys(value){cdk().traceProperty(this.node,"SshPublicKeys"),this._sshPublicKeys=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get userName(){return this._userName}set userName(value){cdk().traceProperty(this.node,"UserName"),this._userName=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrServerId(){return cdk().Token.asString(this.getAtt("ServerId",cdk().ResolutionTypeHint.STRING))}get attrUserName(){return cdk().Token.asString(this.getAtt("UserName",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{homeDirectory:this._homeDirectory,homeDirectoryMappings:this._homeDirectoryMappings,homeDirectoryType:this._homeDirectoryType,policy:this._policy,posixProfile:this._posixProfile,role:this._role,serverId:this._serverId,sshPublicKeys:this._sshPublicKeys,tags:this.tags.renderTags(),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 CfnUserHomeDirectoryMapEntryPropertyValidator(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("entry",cdk().requiredValidator)(properties.entry)),errors.collect(cdk().propertyValidator("entry",cdk().validateString)(properties.entry)),errors.collect(cdk().propertyValidator("target",cdk().requiredValidator)(properties.target)),errors.collect(cdk().propertyValidator("target",cdk().validateString)(properties.target)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "HomeDirectoryMapEntryProperty"')}function convertCfnUserHomeDirectoryMapEntryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserHomeDirectoryMapEntryPropertyValidator(properties).assertSuccess(),{Entry:cdk().stringToCloudFormation(properties.entry),Target:cdk().stringToCloudFormation(properties.target),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnUserHomeDirectoryMapEntryPropertyFromCloudFormation(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("entry","Entry",properties.Entry!=null?cfn_parse().FromCloudFormation.getString(properties.Entry):void 0),ret.addPropertyResult("target","Target",properties.Target!=null?cfn_parse().FromCloudFormation.getString(properties.Target):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnUserPosixProfilePropertyValidator(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("gid",cdk().requiredValidator)(properties.gid)),errors.collect(cdk().propertyValidator("gid",cdk().validateNumber)(properties.gid)),errors.collect(cdk().propertyValidator("secondaryGids",cdk().listValidator(cdk().validateNumber))(properties.secondaryGids)),errors.collect(cdk().propertyValidator("uid",cdk().requiredValidator)(properties.uid)),errors.collect(cdk().propertyValidator("uid",cdk().validateNumber)(properties.uid)),errors.wrap('supplied properties not correct for "PosixProfileProperty"')}function convertCfnUserPosixProfilePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserPosixProfilePropertyValidator(properties).assertSuccess(),{Gid:cdk().numberToCloudFormation(properties.gid),SecondaryGids:cdk().listMapper(cdk().numberToCloudFormation)(properties.secondaryGids),Uid:cdk().numberToCloudFormation(properties.uid)}):properties}function CfnUserPosixProfilePropertyFromCloudFormation(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("gid","Gid",properties.Gid!=null?cfn_parse().FromCloudFormation.getNumber(properties.Gid):void 0),ret.addPropertyResult("secondaryGids","SecondaryGids",properties.SecondaryGids!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.SecondaryGids):void 0),ret.addPropertyResult("uid","Uid",properties.Uid!=null?cfn_parse().FromCloudFormation.getNumber(properties.Uid):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}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("homeDirectory",cdk().validateString)(properties.homeDirectory)),errors.collect(cdk().propertyValidator("homeDirectoryMappings",cdk().listValidator(CfnUserHomeDirectoryMapEntryPropertyValidator))(properties.homeDirectoryMappings)),errors.collect(cdk().propertyValidator("homeDirectoryType",cdk().validateString)(properties.homeDirectoryType)),errors.collect(cdk().propertyValidator("policy",cdk().validateString)(properties.policy)),errors.collect(cdk().propertyValidator("posixProfile",CfnUserPosixProfilePropertyValidator)(properties.posixProfile)),errors.collect(cdk().propertyValidator("role",cdk().requiredValidator)(properties.role)),errors.collect(cdk().propertyValidator("role",cdk().validateString)(properties.role)),errors.collect(cdk().propertyValidator("serverId",cdk().requiredValidator)(properties.serverId)),errors.collect(cdk().propertyValidator("serverId",cdk().validateString)(properties.serverId)),errors.collect(cdk().propertyValidator("sshPublicKeys",cdk().listValidator(cdk().validateString))(properties.sshPublicKeys)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),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(),{HomeDirectory:cdk().stringToCloudFormation(properties.homeDirectory),HomeDirectoryMappings:cdk().listMapper(convertCfnUserHomeDirectoryMapEntryPropertyToCloudFormation)(properties.homeDirectoryMappings),HomeDirectoryType:cdk().stringToCloudFormation(properties.homeDirectoryType),Policy:cdk().stringToCloudFormation(properties.policy),PosixProfile:convertCfnUserPosixProfilePropertyToCloudFormation(properties.posixProfile),Role:cdk().stringToCloudFormation(properties.role),ServerId:cdk().stringToCloudFormation(properties.serverId),SshPublicKeys:cdk().listMapper(cdk().stringToCloudFormation)(properties.sshPublicKeys),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),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("homeDirectory","HomeDirectory",properties.HomeDirectory!=null?cfn_parse().FromCloudFormation.getString(properties.HomeDirectory):void 0),ret.addPropertyResult("homeDirectoryMappings","HomeDirectoryMappings",properties.HomeDirectoryMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnUserHomeDirectoryMapEntryPropertyFromCloudFormation)(properties.HomeDirectoryMappings):void 0),ret.addPropertyResult("homeDirectoryType","HomeDirectoryType",properties.HomeDirectoryType!=null?cfn_parse().FromCloudFormation.getString(properties.HomeDirectoryType):void 0),ret.addPropertyResult("policy","Policy",properties.Policy!=null?cfn_parse().FromCloudFormation.getString(properties.Policy):void 0),ret.addPropertyResult("posixProfile","PosixProfile",properties.PosixProfile!=null?CfnUserPosixProfilePropertyFromCloudFormation(properties.PosixProfile):void 0),ret.addPropertyResult("role","Role",properties.Role!=null?cfn_parse().FromCloudFormation.getString(properties.Role):void 0),ret.addPropertyResult("serverId","ServerId",properties.ServerId!=null?cfn_parse().FromCloudFormation.getString(properties.ServerId):void 0),ret.addPropertyResult("sshPublicKeys","SshPublicKeys",properties.SshPublicKeys!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SshPublicKeys):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("userName","UserName",properties.UserName!=null?cfn_parse().FromCloudFormation.getString(properties.UserName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnWorkflow extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_transfer.CfnWorkflow",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Transfer::Workflow";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnWorkflowPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnWorkflow(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 isCfnWorkflow(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnWorkflow.CFN_RESOURCE_TYPE_NAME}static fromWorkflowArn(scope,id,arn){class Import extends cdk().Resource{workflowRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:transfer:${Region}:${Account}:workflow/${WorkflowId}").parse(arn2);this.workflowRef={workflowId:variables.WorkflowId,workflowArn:arn2}}}return new Import(scope,id,arn)}static fromWorkflowId(scope,id,workflowId){class Import extends cdk().Resource{workflowRef;constructor(scope2,id2,workflowId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:transfer:${Region}:${Account}:workflow/${WorkflowId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,WorkflowId:workflowId2});super(scope2,id2,{environmentFromArn:arn}),this.workflowRef={workflowId:workflowId2,workflowArn:arn}}}return new Import(scope,id,workflowId)}static arnForWorkflow(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_transfer_IWorkflowRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForWorkflow),error}return resource.workflowRef.workflowArn}_description;_onExceptionSteps;_steps;tags;_tagsRaw;cfnPropertyNames={description:"Description",onExceptionSteps:"OnExceptionSteps",steps:"Steps",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnWorkflow.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_transfer_CfnWorkflowProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnWorkflow),error}cdk().requireProperty(props,"steps",this),this._description=props.description,this._onExceptionSteps=props.onExceptionSteps,this._steps=props.steps,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Transfer::Workflow",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get workflowRef(){return{workflowId:this.ref,workflowArn:this.attrArn}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get onExceptionSteps(){return this._onExceptionSteps}set onExceptionSteps(value){cdk().traceProperty(this.node,"OnExceptionSteps"),this._onExceptionSteps=value}get steps(){return this._steps}set steps(value){cdk().traceProperty(this.node,"Steps"),this._steps=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 attrWorkflowId(){return cdk().Token.asString(this.getAtt("WorkflowId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{description:this._description,onExceptionSteps:this._onExceptionSteps,steps:this._steps,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",CfnWorkflow.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnWorkflowPropsToCloudFormation(props)}}exports.CfnWorkflow=CfnWorkflow;function CfnWorkflowEfsInputFileLocationPropertyValidator(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("fileSystemId",cdk().validateString)(properties.fileSystemId)),errors.collect(cdk().propertyValidator("path",cdk().validateString)(properties.path)),errors.wrap('supplied properties not correct for "EfsInputFileLocationProperty"')}function convertCfnWorkflowEfsInputFileLocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkflowEfsInputFileLocationPropertyValidator(properties).assertSuccess(),{FileSystemId:cdk().stringToCloudFormation(properties.fileSystemId),Path:cdk().stringToCloudFormation(properties.path)}):properties}function CfnWorkflowEfsInputFileLocationPropertyFromCloudFormation(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("fileSystemId","FileSystemId",properties.FileSystemId!=null?cfn_parse().FromCloudFormation.getString(properties.FileSystemId):void 0),ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse().FromCloudFormation.getString(properties.Path):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkflowS3InputFileLocationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bucket",cdk().validateString)(properties.bucket)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.wrap('supplied properties not correct for "S3InputFileLocationProperty"')}function convertCfnWorkflowS3InputFileLocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkflowS3InputFileLocationPropertyValidator(properties).assertSuccess(),{Bucket:cdk().stringToCloudFormation(properties.bucket),Key:cdk().stringToCloudFormation(properties.key)}):properties}function CfnWorkflowS3InputFileLocationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bucket","Bucket",properties.Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.Bucket):void 0),ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkflowInputFileLocationPropertyValidator(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("efsFileLocation",CfnWorkflowEfsInputFileLocationPropertyValidator)(properties.efsFileLocation)),errors.collect(cdk().propertyValidator("s3FileLocation",CfnWorkflowS3InputFileLocationPropertyValidator)(properties.s3FileLocation)),errors.wrap('supplied properties not correct for "InputFileLocationProperty"')}function convertCfnWorkflowInputFileLocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkflowInputFileLocationPropertyValidator(properties).assertSuccess(),{EfsFileLocation:convertCfnWorkflowEfsInputFileLocationPropertyToCloudFormation(properties.efsFileLocation),S3FileLocation:convertCfnWorkflowS3InputFileLocationPropertyToCloudFormation(properties.s3FileLocation)}):properties}function CfnWorkflowInputFileLocationPropertyFromCloudFormation(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("efsFileLocation","EfsFileLocation",properties.EfsFileLocation!=null?CfnWorkflowEfsInputFileLocationPropertyFromCloudFormation(properties.EfsFileLocation):void 0),ret.addPropertyResult("s3FileLocation","S3FileLocation",properties.S3FileLocation!=null?CfnWorkflowS3InputFileLocationPropertyFromCloudFormation(properties.S3FileLocation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkflowDecryptStepDetailsPropertyValidator(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("destinationFileLocation",cdk().requiredValidator)(properties.destinationFileLocation)),errors.collect(cdk().propertyValidator("destinationFileLocation",CfnWorkflowInputFileLocationPropertyValidator)(properties.destinationFileLocation)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("overwriteExisting",cdk().validateString)(properties.overwriteExisting)),errors.collect(cdk().propertyValidator("sourceFileLocation",cdk().validateString)(properties.sourceFileLocation)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "DecryptStepDetailsProperty"')}function convertCfnWorkflowDecryptStepDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkflowDecryptStepDetailsPropertyValidator(properties).assertSuccess(),{DestinationFileLocation:convertCfnWorkflowInputFileLocationPropertyToCloudFormation(properties.destinationFileLocation),Name:cdk().stringToCloudFormation(properties.name),OverwriteExisting:cdk().stringToCloudFormation(properties.overwriteExisting),SourceFileLocation:cdk().stringToCloudFormation(properties.sourceFileLocation),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnWorkflowDecryptStepDetailsPropertyFromCloudFormation(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("destinationFileLocation","DestinationFileLocation",properties.DestinationFileLocation!=null?CfnWorkflowInputFileLocationPropertyFromCloudFormation(properties.DestinationFileLocation):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("overwriteExisting","OverwriteExisting",properties.OverwriteExisting!=null?cfn_parse().FromCloudFormation.getString(properties.OverwriteExisting):void 0),ret.addPropertyResult("sourceFileLocation","SourceFileLocation",properties.SourceFileLocation!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFileLocation):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkflowWorkflowStepPropertyValidator(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("copyStepDetails",cdk().validateObject)(properties.copyStepDetails)),errors.collect(cdk().propertyValidator("customStepDetails",cdk().validateObject)(properties.customStepDetails)),errors.collect(cdk().propertyValidator("decryptStepDetails",CfnWorkflowDecryptStepDetailsPropertyValidator)(properties.decryptStepDetails)),errors.collect(cdk().propertyValidator("deleteStepDetails",cdk().validateObject)(properties.deleteStepDetails)),errors.collect(cdk().propertyValidator("tagStepDetails",cdk().validateObject)(properties.tagStepDetails)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "WorkflowStepProperty"')}function convertCfnWorkflowWorkflowStepPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkflowWorkflowStepPropertyValidator(properties).assertSuccess(),{CopyStepDetails:cdk().objectToCloudFormation(properties.copyStepDetails),CustomStepDetails:cdk().objectToCloudFormation(properties.customStepDetails),DecryptStepDetails:convertCfnWorkflowDecryptStepDetailsPropertyToCloudFormation(properties.decryptStepDetails),DeleteStepDetails:cdk().objectToCloudFormation(properties.deleteStepDetails),TagStepDetails:cdk().objectToCloudFormation(properties.tagStepDetails),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnWorkflowWorkflowStepPropertyFromCloudFormation(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("copyStepDetails","CopyStepDetails",properties.CopyStepDetails!=null?cfn_parse().FromCloudFormation.getAny(properties.CopyStepDetails):void 0),ret.addPropertyResult("customStepDetails","CustomStepDetails",properties.CustomStepDetails!=null?cfn_parse().FromCloudFormation.getAny(properties.CustomStepDetails):void 0),ret.addPropertyResult("decryptStepDetails","DecryptStepDetails",properties.DecryptStepDetails!=null?CfnWorkflowDecryptStepDetailsPropertyFromCloudFormation(properties.DecryptStepDetails):void 0),ret.addPropertyResult("deleteStepDetails","DeleteStepDetails",properties.DeleteStepDetails!=null?cfn_parse().FromCloudFormation.getAny(properties.DeleteStepDetails):void 0),ret.addPropertyResult("tagStepDetails","TagStepDetails",properties.TagStepDetails!=null?cfn_parse().FromCloudFormation.getAny(properties.TagStepDetails):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkflowPropsValidator(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("onExceptionSteps",cdk().listValidator(CfnWorkflowWorkflowStepPropertyValidator))(properties.onExceptionSteps)),errors.collect(cdk().propertyValidator("steps",cdk().requiredValidator)(properties.steps)),errors.collect(cdk().propertyValidator("steps",cdk().listValidator(CfnWorkflowWorkflowStepPropertyValidator))(properties.steps)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnWorkflowProps"')}function convertCfnWorkflowPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkflowPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),OnExceptionSteps:cdk().listMapper(convertCfnWorkflowWorkflowStepPropertyToCloudFormation)(properties.onExceptionSteps),Steps:cdk().listMapper(convertCfnWorkflowWorkflowStepPropertyToCloudFormation)(properties.steps),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnWorkflowPropsFromCloudFormation(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("onExceptionSteps","OnExceptionSteps",properties.OnExceptionSteps!=null?cfn_parse().FromCloudFormation.getArray(CfnWorkflowWorkflowStepPropertyFromCloudFormation)(properties.OnExceptionSteps):void 0),ret.addPropertyResult("steps","Steps",properties.Steps!=null?cfn_parse().FromCloudFormation.getArray(CfnWorkflowWorkflowStepPropertyFromCloudFormation)(properties.Steps):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}function CfnWorkflowS3FileLocationPropertyValidator(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("s3FileLocation",CfnWorkflowS3InputFileLocationPropertyValidator)(properties.s3FileLocation)),errors.wrap('supplied properties not correct for "S3FileLocationProperty"')}function convertCfnWorkflowS3FileLocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkflowS3FileLocationPropertyValidator(properties).assertSuccess(),{S3FileLocation:convertCfnWorkflowS3InputFileLocationPropertyToCloudFormation(properties.s3FileLocation)}):properties}function CfnWorkflowS3FileLocationPropertyFromCloudFormation(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("s3FileLocation","S3FileLocation",properties.S3FileLocation!=null?CfnWorkflowS3InputFileLocationPropertyFromCloudFormation(properties.S3FileLocation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkflowCopyStepDetailsPropertyValidator(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("destinationFileLocation",CfnWorkflowS3FileLocationPropertyValidator)(properties.destinationFileLocation)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("overwriteExisting",cdk().validateString)(properties.overwriteExisting)),errors.collect(cdk().propertyValidator("sourceFileLocation",cdk().validateString)(properties.sourceFileLocation)),errors.wrap('supplied properties not correct for "CopyStepDetailsProperty"')}function convertCfnWorkflowCopyStepDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkflowCopyStepDetailsPropertyValidator(properties).assertSuccess(),{DestinationFileLocation:convertCfnWorkflowS3FileLocationPropertyToCloudFormation(properties.destinationFileLocation),Name:cdk().stringToCloudFormation(properties.name),OverwriteExisting:cdk().stringToCloudFormation(properties.overwriteExisting),SourceFileLocation:cdk().stringToCloudFormation(properties.sourceFileLocation)}):properties}function CfnWorkflowCopyStepDetailsPropertyFromCloudFormation(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("destinationFileLocation","DestinationFileLocation",properties.DestinationFileLocation!=null?CfnWorkflowS3FileLocationPropertyFromCloudFormation(properties.DestinationFileLocation):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("overwriteExisting","OverwriteExisting",properties.OverwriteExisting!=null?cfn_parse().FromCloudFormation.getString(properties.OverwriteExisting):void 0),ret.addPropertyResult("sourceFileLocation","SourceFileLocation",properties.SourceFileLocation!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFileLocation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkflowCustomStepDetailsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("sourceFileLocation",cdk().validateString)(properties.sourceFileLocation)),errors.collect(cdk().propertyValidator("target",cdk().validateString)(properties.target)),errors.collect(cdk().propertyValidator("timeoutSeconds",cdk().validateNumber)(properties.timeoutSeconds)),errors.wrap('supplied properties not correct for "CustomStepDetailsProperty"')}function convertCfnWorkflowCustomStepDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkflowCustomStepDetailsPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),SourceFileLocation:cdk().stringToCloudFormation(properties.sourceFileLocation),Target:cdk().stringToCloudFormation(properties.target),TimeoutSeconds:cdk().numberToCloudFormation(properties.timeoutSeconds)}):properties}function CfnWorkflowCustomStepDetailsPropertyFromCloudFormation(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("sourceFileLocation","SourceFileLocation",properties.SourceFileLocation!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFileLocation):void 0),ret.addPropertyResult("target","Target",properties.Target!=null?cfn_parse().FromCloudFormation.getString(properties.Target):void 0),ret.addPropertyResult("timeoutSeconds","TimeoutSeconds",properties.TimeoutSeconds!=null?cfn_parse().FromCloudFormation.getNumber(properties.TimeoutSeconds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkflowDeleteStepDetailsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("sourceFileLocation",cdk().validateString)(properties.sourceFileLocation)),errors.wrap('supplied properties not correct for "DeleteStepDetailsProperty"')}function convertCfnWorkflowDeleteStepDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkflowDeleteStepDetailsPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),SourceFileLocation:cdk().stringToCloudFormation(properties.sourceFileLocation)}):properties}function CfnWorkflowDeleteStepDetailsPropertyFromCloudFormation(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("sourceFileLocation","SourceFileLocation",properties.SourceFileLocation!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFileLocation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkflowS3TagPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "S3TagProperty"')}function convertCfnWorkflowS3TagPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkflowS3TagPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnWorkflowS3TagPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkflowTagStepDetailsPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("sourceFileLocation",cdk().validateString)(properties.sourceFileLocation)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(CfnWorkflowS3TagPropertyValidator))(properties.tags)),errors.wrap('supplied properties not correct for "TagStepDetailsProperty"')}function convertCfnWorkflowTagStepDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkflowTagStepDetailsPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),SourceFileLocation:cdk().stringToCloudFormation(properties.sourceFileLocation),Tags:cdk().listMapper(convertCfnWorkflowS3TagPropertyToCloudFormation)(properties.tags)}):properties}function CfnWorkflowTagStepDetailsPropertyFromCloudFormation(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("sourceFileLocation","SourceFileLocation",properties.SourceFileLocation!=null?cfn_parse().FromCloudFormation.getString(properties.SourceFileLocation):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(CfnWorkflowS3TagPropertyFromCloudFormation)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnWebApp extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_transfer.CfnWebApp",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Transfer::WebApp";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnWebAppPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnWebApp(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 isCfnWebApp(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnWebApp.CFN_RESOURCE_TYPE_NAME}static arnForWebApp(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_transfer_IWebAppRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForWebApp),error}return resource.webAppRef.webAppArn}_accessEndpoint;cdkTagManager;_endpointDetails;_identityProviderDetails;_tags;_webAppCustomization;_webAppEndpointPolicy;_webAppUnits;cfnPropertyNames={accessEndpoint:"AccessEndpoint",tags:"Tags",endpointDetails:"EndpointDetails",identityProviderDetails:"IdentityProviderDetails",webAppCustomization:"WebAppCustomization",webAppEndpointPolicy:"WebAppEndpointPolicy",webAppUnits:"WebAppUnits"};constructor(scope,id,props){super(scope,id,{type:CfnWebApp.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_transfer_CfnWebAppProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnWebApp),error}cdk().requireProperty(props,"identityProviderDetails",this),this._accessEndpoint=props.accessEndpoint,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Transfer::WebApp",void 0,{tagPropertyName:"tags"}),this._endpointDetails=props.endpointDetails,this._identityProviderDetails=props.identityProviderDetails,this._tags=props.tags,this._webAppCustomization=props.webAppCustomization,this._webAppEndpointPolicy=props.webAppEndpointPolicy,this._webAppUnits=props.webAppUnits}get webAppRef(){return{webAppArn:this.ref}}get accessEndpoint(){return this._accessEndpoint}set accessEndpoint(value){cdk().traceProperty(this.node,"AccessEndpoint"),this._accessEndpoint=value}get endpointDetails(){return this._endpointDetails}set endpointDetails(value){cdk().traceProperty(this.node,"EndpointDetails"),this._endpointDetails=value}get identityProviderDetails(){return this._identityProviderDetails}set identityProviderDetails(value){cdk().traceProperty(this.node,"IdentityProviderDetails"),this._identityProviderDetails=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get webAppCustomization(){return this._webAppCustomization}set webAppCustomization(value){cdk().traceProperty(this.node,"WebAppCustomization"),this._webAppCustomization=value}get webAppEndpointPolicy(){return this._webAppEndpointPolicy}set webAppEndpointPolicy(value){cdk().traceProperty(this.node,"WebAppEndpointPolicy"),this._webAppEndpointPolicy=value}get webAppUnits(){return this._webAppUnits}set webAppUnits(value){cdk().traceProperty(this.node,"WebAppUnits"),this._webAppUnits=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrIdentityProviderDetailsApplicationArn(){return cdk().Token.asString(this.getAtt("IdentityProviderDetails.ApplicationArn",cdk().ResolutionTypeHint.STRING))}get attrVpcEndpointId(){return cdk().Token.asString(this.getAtt("VpcEndpointId",cdk().ResolutionTypeHint.STRING))}get attrWebAppId(){return cdk().Token.asString(this.getAtt("WebAppId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{accessEndpoint:this._accessEndpoint,tags:this.cdkTagManager.renderTags(this._tags),endpointDetails:this._endpointDetails,identityProviderDetails:this._identityProviderDetails,webAppCustomization:this._webAppCustomization,webAppEndpointPolicy:this._webAppEndpointPolicy,webAppUnits:this._webAppUnits}}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",CfnWebApp.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnWebAppPropsToCloudFormation(props)}}exports.CfnWebApp=CfnWebApp;function CfnWebAppIdentityProviderDetailsPropertyValidator(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().validateString)(properties.applicationArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("role",cdk().validateString)(properties.role)),errors.wrap('supplied properties not correct for "IdentityProviderDetailsProperty"')}function convertCfnWebAppIdentityProviderDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWebAppIdentityProviderDetailsPropertyValidator(properties).assertSuccess(),{ApplicationArn:cdk().stringToCloudFormation(properties.applicationArn),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Role:cdk().stringToCloudFormation(properties.role)}):properties}function CfnWebAppIdentityProviderDetailsPropertyFromCloudFormation(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("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("role","Role",properties.Role!=null?cfn_parse().FromCloudFormation.getString(properties.Role):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWebAppVpcPropertyValidator(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.collect(cdk().propertyValidator("vpcId",cdk().validateString)(properties.vpcId)),errors.wrap('supplied properties not correct for "VpcProperty"')}function convertCfnWebAppVpcPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWebAppVpcPropertyValidator(properties).assertSuccess(),{SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds),VpcId:cdk().stringToCloudFormation(properties.vpcId)}):properties}function CfnWebAppVpcPropertyFromCloudFormation(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.addPropertyResult("vpcId","VpcId",properties.VpcId!=null?cfn_parse().FromCloudFormation.getString(properties.VpcId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWebAppEndpointDetailsPropertyValidator(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("vpc",CfnWebAppVpcPropertyValidator)(properties.vpc)),errors.wrap('supplied properties not correct for "EndpointDetailsProperty"')}function convertCfnWebAppEndpointDetailsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWebAppEndpointDetailsPropertyValidator(properties).assertSuccess(),{Vpc:convertCfnWebAppVpcPropertyToCloudFormation(properties.vpc)}):properties}function CfnWebAppEndpointDetailsPropertyFromCloudFormation(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("vpc","Vpc",properties.Vpc!=null?CfnWebAppVpcPropertyFromCloudFormation(properties.Vpc):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWebAppWebAppUnitsPropertyValidator(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("provisioned",cdk().requiredValidator)(properties.provisioned)),errors.collect(cdk().propertyValidator("provisioned",cdk().validateNumber)(properties.provisioned)),errors.wrap('supplied properties not correct for "WebAppUnitsProperty"')}function convertCfnWebAppWebAppUnitsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWebAppWebAppUnitsPropertyValidator(properties).assertSuccess(),{Provisioned:cdk().numberToCloudFormation(properties.provisioned)}):properties}function CfnWebAppWebAppUnitsPropertyFromCloudFormation(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("provisioned","Provisioned",properties.Provisioned!=null?cfn_parse().FromCloudFormation.getNumber(properties.Provisioned):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWebAppWebAppCustomizationPropertyValidator(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("faviconFile",cdk().validateString)(properties.faviconFile)),errors.collect(cdk().propertyValidator("logoFile",cdk().validateString)(properties.logoFile)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "WebAppCustomizationProperty"')}function convertCfnWebAppWebAppCustomizationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWebAppWebAppCustomizationPropertyValidator(properties).assertSuccess(),{FaviconFile:cdk().stringToCloudFormation(properties.faviconFile),LogoFile:cdk().stringToCloudFormation(properties.logoFile),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnWebAppWebAppCustomizationPropertyFromCloudFormation(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("faviconFile","FaviconFile",properties.FaviconFile!=null?cfn_parse().FromCloudFormation.getString(properties.FaviconFile):void 0),ret.addPropertyResult("logoFile","LogoFile",properties.LogoFile!=null?cfn_parse().FromCloudFormation.getString(properties.LogoFile):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWebAppPropsValidator(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("accessEndpoint",cdk().validateString)(properties.accessEndpoint)),errors.collect(cdk().propertyValidator("endpointDetails",CfnWebAppEndpointDetailsPropertyValidator)(properties.endpointDetails)),errors.collect(cdk().propertyValidator("identityProviderDetails",cdk().requiredValidator)(properties.identityProviderDetails)),errors.collect(cdk().propertyValidator("identityProviderDetails",CfnWebAppIdentityProviderDetailsPropertyValidator)(properties.identityProviderDetails)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("webAppCustomization",CfnWebAppWebAppCustomizationPropertyValidator)(properties.webAppCustomization)),errors.collect(cdk().propertyValidator("webAppEndpointPolicy",cdk().validateString)(properties.webAppEndpointPolicy)),errors.collect(cdk().propertyValidator("webAppUnits",CfnWebAppWebAppUnitsPropertyValidator)(properties.webAppUnits)),errors.wrap('supplied properties not correct for "CfnWebAppProps"')}function convertCfnWebAppPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWebAppPropsValidator(properties).assertSuccess(),{AccessEndpoint:cdk().stringToCloudFormation(properties.accessEndpoint),EndpointDetails:convertCfnWebAppEndpointDetailsPropertyToCloudFormation(properties.endpointDetails),IdentityProviderDetails:convertCfnWebAppIdentityProviderDetailsPropertyToCloudFormation(properties.identityProviderDetails),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),WebAppCustomization:convertCfnWebAppWebAppCustomizationPropertyToCloudFormation(properties.webAppCustomization),WebAppEndpointPolicy:cdk().stringToCloudFormation(properties.webAppEndpointPolicy),WebAppUnits:convertCfnWebAppWebAppUnitsPropertyToCloudFormation(properties.webAppUnits)}):properties}function CfnWebAppPropsFromCloudFormation(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("accessEndpoint","AccessEndpoint",properties.AccessEndpoint!=null?cfn_parse().FromCloudFormation.getString(properties.AccessEndpoint):void 0),ret.addPropertyResult("endpointDetails","EndpointDetails",properties.EndpointDetails!=null?CfnWebAppEndpointDetailsPropertyFromCloudFormation(properties.EndpointDetails):void 0),ret.addPropertyResult("identityProviderDetails","IdentityProviderDetails",properties.IdentityProviderDetails!=null?CfnWebAppIdentityProviderDetailsPropertyFromCloudFormation(properties.IdentityProviderDetails):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("webAppCustomization","WebAppCustomization",properties.WebAppCustomization!=null?CfnWebAppWebAppCustomizationPropertyFromCloudFormation(properties.WebAppCustomization):void 0),ret.addPropertyResult("webAppEndpointPolicy","WebAppEndpointPolicy",properties.WebAppEndpointPolicy!=null?cfn_parse().FromCloudFormation.getString(properties.WebAppEndpointPolicy):void 0),ret.addPropertyResult("webAppUnits","WebAppUnits",properties.WebAppUnits!=null?CfnWebAppWebAppUnitsPropertyFromCloudFormation(properties.WebAppUnits):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}