2 lines
163 KiB
JavaScript
2 lines
163 KiB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnS3AccessPointAttachment=exports.CfnVolume=exports.CfnStorageVirtualMachine=exports.CfnSnapshot=exports.CfnFileSystem=exports.CfnDataRepositoryAssociation=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 CfnDataRepositoryAssociation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_fsx.CfnDataRepositoryAssociation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::FSx::DataRepositoryAssociation";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDataRepositoryAssociationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDataRepositoryAssociation(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 isCfnDataRepositoryAssociation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDataRepositoryAssociation.CFN_RESOURCE_TYPE_NAME}_batchImportMetaDataOnCreate;_dataRepositoryPath;_fileSystemId;_fileSystemPath;_importedFileChunkSize;_s3;tags;_tagsRaw;cfnPropertyNames={batchImportMetaDataOnCreate:"BatchImportMetaDataOnCreate",dataRepositoryPath:"DataRepositoryPath",fileSystemId:"FileSystemId",fileSystemPath:"FileSystemPath",importedFileChunkSize:"ImportedFileChunkSize",s3:"S3",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnDataRepositoryAssociation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_fsx_CfnDataRepositoryAssociationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDataRepositoryAssociation),error}cdk().requireProperty(props,"dataRepositoryPath",this),cdk().requireProperty(props,"fileSystemId",this),cdk().requireProperty(props,"fileSystemPath",this),this._batchImportMetaDataOnCreate=props.batchImportMetaDataOnCreate,this._dataRepositoryPath=props.dataRepositoryPath,this._fileSystemId=props.fileSystemId,this._fileSystemPath=props.fileSystemPath,this._importedFileChunkSize=props.importedFileChunkSize,this._s3=props.s3,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::FSx::DataRepositoryAssociation",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get dataRepositoryAssociationRef(){return{associationId:this.ref}}get batchImportMetaDataOnCreate(){return this._batchImportMetaDataOnCreate}set batchImportMetaDataOnCreate(value){cdk().traceProperty(this.node,"BatchImportMetaDataOnCreate"),this._batchImportMetaDataOnCreate=value}get dataRepositoryPath(){return this._dataRepositoryPath}set dataRepositoryPath(value){cdk().traceProperty(this.node,"DataRepositoryPath"),this._dataRepositoryPath=value}get fileSystemId(){return this._fileSystemId}set fileSystemId(value){cdk().traceProperty(this.node,"FileSystemId"),this._fileSystemId=value}get fileSystemPath(){return this._fileSystemPath}set fileSystemPath(value){cdk().traceProperty(this.node,"FileSystemPath"),this._fileSystemPath=value}get importedFileChunkSize(){return this._importedFileChunkSize}set importedFileChunkSize(value){cdk().traceProperty(this.node,"ImportedFileChunkSize"),this._importedFileChunkSize=value}get s3(){return this._s3}set s3(value){cdk().traceProperty(this.node,"S3"),this._s3=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrAssociationId(){return cdk().Token.asString(this.getAtt("AssociationId",cdk().ResolutionTypeHint.STRING))}get attrResourceArn(){return cdk().Token.asString(this.getAtt("ResourceARN",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{batchImportMetaDataOnCreate:this._batchImportMetaDataOnCreate,dataRepositoryPath:this._dataRepositoryPath,fileSystemId:this._fileSystemId,fileSystemPath:this._fileSystemPath,importedFileChunkSize:this._importedFileChunkSize,s3:this._s3,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",CfnDataRepositoryAssociation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDataRepositoryAssociationPropsToCloudFormation(props)}}exports.CfnDataRepositoryAssociation=CfnDataRepositoryAssociation;function CfnDataRepositoryAssociationAutoImportPolicyPropertyValidator(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("events",cdk().requiredValidator)(properties.events)),errors.collect(cdk().propertyValidator("events",cdk().listValidator(cdk().validateString))(properties.events)),errors.wrap('supplied properties not correct for "AutoImportPolicyProperty"')}function convertCfnDataRepositoryAssociationAutoImportPolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataRepositoryAssociationAutoImportPolicyPropertyValidator(properties).assertSuccess(),{Events:cdk().listMapper(cdk().stringToCloudFormation)(properties.events)}):properties}function CfnDataRepositoryAssociationAutoImportPolicyPropertyFromCloudFormation(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("events","Events",properties.Events!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Events):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataRepositoryAssociationAutoExportPolicyPropertyValidator(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("events",cdk().requiredValidator)(properties.events)),errors.collect(cdk().propertyValidator("events",cdk().listValidator(cdk().validateString))(properties.events)),errors.wrap('supplied properties not correct for "AutoExportPolicyProperty"')}function convertCfnDataRepositoryAssociationAutoExportPolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataRepositoryAssociationAutoExportPolicyPropertyValidator(properties).assertSuccess(),{Events:cdk().listMapper(cdk().stringToCloudFormation)(properties.events)}):properties}function CfnDataRepositoryAssociationAutoExportPolicyPropertyFromCloudFormation(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("events","Events",properties.Events!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Events):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataRepositoryAssociationS3PropertyValidator(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("autoExportPolicy",CfnDataRepositoryAssociationAutoExportPolicyPropertyValidator)(properties.autoExportPolicy)),errors.collect(cdk().propertyValidator("autoImportPolicy",CfnDataRepositoryAssociationAutoImportPolicyPropertyValidator)(properties.autoImportPolicy)),errors.wrap('supplied properties not correct for "S3Property"')}function convertCfnDataRepositoryAssociationS3PropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataRepositoryAssociationS3PropertyValidator(properties).assertSuccess(),{AutoExportPolicy:convertCfnDataRepositoryAssociationAutoExportPolicyPropertyToCloudFormation(properties.autoExportPolicy),AutoImportPolicy:convertCfnDataRepositoryAssociationAutoImportPolicyPropertyToCloudFormation(properties.autoImportPolicy)}):properties}function CfnDataRepositoryAssociationS3PropertyFromCloudFormation(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("autoExportPolicy","AutoExportPolicy",properties.AutoExportPolicy!=null?CfnDataRepositoryAssociationAutoExportPolicyPropertyFromCloudFormation(properties.AutoExportPolicy):void 0),ret.addPropertyResult("autoImportPolicy","AutoImportPolicy",properties.AutoImportPolicy!=null?CfnDataRepositoryAssociationAutoImportPolicyPropertyFromCloudFormation(properties.AutoImportPolicy):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataRepositoryAssociationPropsValidator(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("batchImportMetaDataOnCreate",cdk().validateBoolean)(properties.batchImportMetaDataOnCreate)),errors.collect(cdk().propertyValidator("dataRepositoryPath",cdk().requiredValidator)(properties.dataRepositoryPath)),errors.collect(cdk().propertyValidator("dataRepositoryPath",cdk().validateString)(properties.dataRepositoryPath)),errors.collect(cdk().propertyValidator("fileSystemId",cdk().requiredValidator)(properties.fileSystemId)),errors.collect(cdk().propertyValidator("fileSystemId",cdk().validateString)(properties.fileSystemId)),errors.collect(cdk().propertyValidator("fileSystemPath",cdk().requiredValidator)(properties.fileSystemPath)),errors.collect(cdk().propertyValidator("fileSystemPath",cdk().validateString)(properties.fileSystemPath)),errors.collect(cdk().propertyValidator("importedFileChunkSize",cdk().validateNumber)(properties.importedFileChunkSize)),errors.collect(cdk().propertyValidator("s3",CfnDataRepositoryAssociationS3PropertyValidator)(properties.s3)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDataRepositoryAssociationProps"')}function convertCfnDataRepositoryAssociationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataRepositoryAssociationPropsValidator(properties).assertSuccess(),{BatchImportMetaDataOnCreate:cdk().booleanToCloudFormation(properties.batchImportMetaDataOnCreate),DataRepositoryPath:cdk().stringToCloudFormation(properties.dataRepositoryPath),FileSystemId:cdk().stringToCloudFormation(properties.fileSystemId),FileSystemPath:cdk().stringToCloudFormation(properties.fileSystemPath),ImportedFileChunkSize:cdk().numberToCloudFormation(properties.importedFileChunkSize),S3:convertCfnDataRepositoryAssociationS3PropertyToCloudFormation(properties.s3),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDataRepositoryAssociationPropsFromCloudFormation(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("batchImportMetaDataOnCreate","BatchImportMetaDataOnCreate",properties.BatchImportMetaDataOnCreate!=null?cfn_parse().FromCloudFormation.getBoolean(properties.BatchImportMetaDataOnCreate):void 0),ret.addPropertyResult("dataRepositoryPath","DataRepositoryPath",properties.DataRepositoryPath!=null?cfn_parse().FromCloudFormation.getString(properties.DataRepositoryPath):void 0),ret.addPropertyResult("fileSystemId","FileSystemId",properties.FileSystemId!=null?cfn_parse().FromCloudFormation.getString(properties.FileSystemId):void 0),ret.addPropertyResult("fileSystemPath","FileSystemPath",properties.FileSystemPath!=null?cfn_parse().FromCloudFormation.getString(properties.FileSystemPath):void 0),ret.addPropertyResult("importedFileChunkSize","ImportedFileChunkSize",properties.ImportedFileChunkSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.ImportedFileChunkSize):void 0),ret.addPropertyResult("s3","S3",properties.S3!=null?CfnDataRepositoryAssociationS3PropertyFromCloudFormation(properties.S3):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 CfnFileSystem extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_fsx.CfnFileSystem",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::FSx::FileSystem";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFileSystemPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnFileSystem(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 isCfnFileSystem(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnFileSystem.CFN_RESOURCE_TYPE_NAME}_backupId;_fileSystemType;_fileSystemTypeVersion;_kmsKeyId;_lustreConfiguration;_networkType;_ontapConfiguration;_openZfsConfiguration;_securityGroupIds;_storageCapacity;_storageType;_subnetIds;tags;_tagsRaw;_windowsConfiguration;cfnPropertyNames={backupId:"BackupId",fileSystemType:"FileSystemType",fileSystemTypeVersion:"FileSystemTypeVersion",kmsKeyId:"KmsKeyId",lustreConfiguration:"LustreConfiguration",networkType:"NetworkType",ontapConfiguration:"OntapConfiguration",openZfsConfiguration:"OpenZFSConfiguration",securityGroupIds:"SecurityGroupIds",storageCapacity:"StorageCapacity",storageType:"StorageType",subnetIds:"SubnetIds",tags:"Tags",windowsConfiguration:"WindowsConfiguration"};constructor(scope,id,props){super(scope,id,{type:CfnFileSystem.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_fsx_CfnFileSystemProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFileSystem),error}cdk().requireProperty(props,"fileSystemType",this),cdk().requireProperty(props,"subnetIds",this),this._backupId=props.backupId,this._fileSystemType=props.fileSystemType,this._fileSystemTypeVersion=props.fileSystemTypeVersion,this._kmsKeyId=props.kmsKeyId,this._lustreConfiguration=props.lustreConfiguration,this._networkType=props.networkType,this._ontapConfiguration=props.ontapConfiguration,this._openZfsConfiguration=props.openZfsConfiguration,this._securityGroupIds=props.securityGroupIds,this._storageCapacity=props.storageCapacity,this._storageType=props.storageType,this._subnetIds=props.subnetIds,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::FSx::FileSystem",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._windowsConfiguration=props.windowsConfiguration,this.node.scope!=null&&cdk().Resource.isResource(this.node.scope)&&this.node.addValidation({validate:()=>this.cfnOptions.deletionPolicy===void 0?["'AWS::FSx::FileSystem' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}get fileSystemRef(){return{fileSystemId:this.ref}}get backupId(){return this._backupId}set backupId(value){cdk().traceProperty(this.node,"BackupId"),this._backupId=value}get fileSystemType(){return this._fileSystemType}set fileSystemType(value){cdk().traceProperty(this.node,"FileSystemType"),this._fileSystemType=value}get fileSystemTypeVersion(){return this._fileSystemTypeVersion}set fileSystemTypeVersion(value){cdk().traceProperty(this.node,"FileSystemTypeVersion"),this._fileSystemTypeVersion=value}get kmsKeyId(){return this._kmsKeyId}set kmsKeyId(value){cdk().traceProperty(this.node,"KmsKeyId"),this._kmsKeyId=value}get lustreConfiguration(){return this._lustreConfiguration}set lustreConfiguration(value){cdk().traceProperty(this.node,"LustreConfiguration"),this._lustreConfiguration=value}get networkType(){return this._networkType}set networkType(value){cdk().traceProperty(this.node,"NetworkType"),this._networkType=value}get ontapConfiguration(){return this._ontapConfiguration}set ontapConfiguration(value){cdk().traceProperty(this.node,"OntapConfiguration"),this._ontapConfiguration=value}get openZfsConfiguration(){return this._openZfsConfiguration}set openZfsConfiguration(value){cdk().traceProperty(this.node,"OpenZFSConfiguration"),this._openZfsConfiguration=value}get securityGroupIds(){return this._securityGroupIds}set securityGroupIds(value){cdk().traceProperty(this.node,"SecurityGroupIds"),this._securityGroupIds=value}get storageCapacity(){return this._storageCapacity}set storageCapacity(value){cdk().traceProperty(this.node,"StorageCapacity"),this._storageCapacity=value}get storageType(){return this._storageType}set storageType(value){cdk().traceProperty(this.node,"StorageType"),this._storageType=value}get subnetIds(){return this._subnetIds}set subnetIds(value){cdk().traceProperty(this.node,"SubnetIds"),this._subnetIds=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get windowsConfiguration(){return this._windowsConfiguration}set windowsConfiguration(value){cdk().traceProperty(this.node,"WindowsConfiguration"),this._windowsConfiguration=value}get attrDnsName(){return cdk().Token.asString(this.getAtt("DNSName",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrLustreMountName(){return cdk().Token.asString(this.getAtt("LustreMountName",cdk().ResolutionTypeHint.STRING))}get attrResourceArn(){return cdk().Token.asString(this.getAtt("ResourceARN",cdk().ResolutionTypeHint.STRING))}get attrRootVolumeId(){return cdk().Token.asString(this.getAtt("RootVolumeId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{backupId:this._backupId,fileSystemType:this._fileSystemType,fileSystemTypeVersion:this._fileSystemTypeVersion,kmsKeyId:this._kmsKeyId,lustreConfiguration:this._lustreConfiguration,networkType:this._networkType,ontapConfiguration:this._ontapConfiguration,openZfsConfiguration:this._openZfsConfiguration,securityGroupIds:this._securityGroupIds,storageCapacity:this._storageCapacity,storageType:this._storageType,subnetIds:this._subnetIds,tags:this.tags.renderTags(),windowsConfiguration:this._windowsConfiguration}}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",CfnFileSystem.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFileSystemPropsToCloudFormation(props)}}exports.CfnFileSystem=CfnFileSystem;function CfnFileSystemDataReadCacheConfigurationPropertyValidator(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("sizeGiB",cdk().validateNumber)(properties.sizeGiB)),errors.collect(cdk().propertyValidator("sizingMode",cdk().validateString)(properties.sizingMode)),errors.wrap('supplied properties not correct for "DataReadCacheConfigurationProperty"')}function convertCfnFileSystemDataReadCacheConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFileSystemDataReadCacheConfigurationPropertyValidator(properties).assertSuccess(),{SizeGiB:cdk().numberToCloudFormation(properties.sizeGiB),SizingMode:cdk().stringToCloudFormation(properties.sizingMode)}):properties}function CfnFileSystemDataReadCacheConfigurationPropertyFromCloudFormation(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("sizeGiB","SizeGiB",properties.SizeGiB!=null?cfn_parse().FromCloudFormation.getNumber(properties.SizeGiB):void 0),ret.addPropertyResult("sizingMode","SizingMode",properties.SizingMode!=null?cfn_parse().FromCloudFormation.getString(properties.SizingMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFileSystemMetadataConfigurationPropertyValidator(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("iops",cdk().validateNumber)(properties.iops)),errors.collect(cdk().propertyValidator("mode",cdk().validateString)(properties.mode)),errors.wrap('supplied properties not correct for "MetadataConfigurationProperty"')}function convertCfnFileSystemMetadataConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFileSystemMetadataConfigurationPropertyValidator(properties).assertSuccess(),{Iops:cdk().numberToCloudFormation(properties.iops),Mode:cdk().stringToCloudFormation(properties.mode)}):properties}function CfnFileSystemMetadataConfigurationPropertyFromCloudFormation(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("iops","Iops",properties.Iops!=null?cfn_parse().FromCloudFormation.getNumber(properties.Iops):void 0),ret.addPropertyResult("mode","Mode",properties.Mode!=null?cfn_parse().FromCloudFormation.getString(properties.Mode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFileSystemLustreConfigurationPropertyValidator(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("autoImportPolicy",cdk().validateString)(properties.autoImportPolicy)),errors.collect(cdk().propertyValidator("automaticBackupRetentionDays",cdk().validateNumber)(properties.automaticBackupRetentionDays)),errors.collect(cdk().propertyValidator("copyTagsToBackups",cdk().validateBoolean)(properties.copyTagsToBackups)),errors.collect(cdk().propertyValidator("dailyAutomaticBackupStartTime",cdk().validateString)(properties.dailyAutomaticBackupStartTime)),errors.collect(cdk().propertyValidator("dataCompressionType",cdk().validateString)(properties.dataCompressionType)),errors.collect(cdk().propertyValidator("dataReadCacheConfiguration",CfnFileSystemDataReadCacheConfigurationPropertyValidator)(properties.dataReadCacheConfiguration)),errors.collect(cdk().propertyValidator("deploymentType",cdk().validateString)(properties.deploymentType)),errors.collect(cdk().propertyValidator("driveCacheType",cdk().validateString)(properties.driveCacheType)),errors.collect(cdk().propertyValidator("efaEnabled",cdk().validateBoolean)(properties.efaEnabled)),errors.collect(cdk().propertyValidator("exportPath",cdk().validateString)(properties.exportPath)),errors.collect(cdk().propertyValidator("importPath",cdk().validateString)(properties.importPath)),errors.collect(cdk().propertyValidator("importedFileChunkSize",cdk().validateNumber)(properties.importedFileChunkSize)),errors.collect(cdk().propertyValidator("metadataConfiguration",CfnFileSystemMetadataConfigurationPropertyValidator)(properties.metadataConfiguration)),errors.collect(cdk().propertyValidator("perUnitStorageThroughput",cdk().validateNumber)(properties.perUnitStorageThroughput)),errors.collect(cdk().propertyValidator("throughputCapacity",cdk().validateNumber)(properties.throughputCapacity)),errors.collect(cdk().propertyValidator("weeklyMaintenanceStartTime",cdk().validateString)(properties.weeklyMaintenanceStartTime)),errors.wrap('supplied properties not correct for "LustreConfigurationProperty"')}function convertCfnFileSystemLustreConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFileSystemLustreConfigurationPropertyValidator(properties).assertSuccess(),{AutoImportPolicy:cdk().stringToCloudFormation(properties.autoImportPolicy),AutomaticBackupRetentionDays:cdk().numberToCloudFormation(properties.automaticBackupRetentionDays),CopyTagsToBackups:cdk().booleanToCloudFormation(properties.copyTagsToBackups),DailyAutomaticBackupStartTime:cdk().stringToCloudFormation(properties.dailyAutomaticBackupStartTime),DataCompressionType:cdk().stringToCloudFormation(properties.dataCompressionType),DataReadCacheConfiguration:convertCfnFileSystemDataReadCacheConfigurationPropertyToCloudFormation(properties.dataReadCacheConfiguration),DeploymentType:cdk().stringToCloudFormation(properties.deploymentType),DriveCacheType:cdk().stringToCloudFormation(properties.driveCacheType),EfaEnabled:cdk().booleanToCloudFormation(properties.efaEnabled),ExportPath:cdk().stringToCloudFormation(properties.exportPath),ImportPath:cdk().stringToCloudFormation(properties.importPath),ImportedFileChunkSize:cdk().numberToCloudFormation(properties.importedFileChunkSize),MetadataConfiguration:convertCfnFileSystemMetadataConfigurationPropertyToCloudFormation(properties.metadataConfiguration),PerUnitStorageThroughput:cdk().numberToCloudFormation(properties.perUnitStorageThroughput),ThroughputCapacity:cdk().numberToCloudFormation(properties.throughputCapacity),WeeklyMaintenanceStartTime:cdk().stringToCloudFormation(properties.weeklyMaintenanceStartTime)}):properties}function CfnFileSystemLustreConfigurationPropertyFromCloudFormation(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("autoImportPolicy","AutoImportPolicy",properties.AutoImportPolicy!=null?cfn_parse().FromCloudFormation.getString(properties.AutoImportPolicy):void 0),ret.addPropertyResult("automaticBackupRetentionDays","AutomaticBackupRetentionDays",properties.AutomaticBackupRetentionDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.AutomaticBackupRetentionDays):void 0),ret.addPropertyResult("copyTagsToBackups","CopyTagsToBackups",properties.CopyTagsToBackups!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CopyTagsToBackups):void 0),ret.addPropertyResult("dailyAutomaticBackupStartTime","DailyAutomaticBackupStartTime",properties.DailyAutomaticBackupStartTime!=null?cfn_parse().FromCloudFormation.getString(properties.DailyAutomaticBackupStartTime):void 0),ret.addPropertyResult("dataCompressionType","DataCompressionType",properties.DataCompressionType!=null?cfn_parse().FromCloudFormation.getString(properties.DataCompressionType):void 0),ret.addPropertyResult("dataReadCacheConfiguration","DataReadCacheConfiguration",properties.DataReadCacheConfiguration!=null?CfnFileSystemDataReadCacheConfigurationPropertyFromCloudFormation(properties.DataReadCacheConfiguration):void 0),ret.addPropertyResult("deploymentType","DeploymentType",properties.DeploymentType!=null?cfn_parse().FromCloudFormation.getString(properties.DeploymentType):void 0),ret.addPropertyResult("driveCacheType","DriveCacheType",properties.DriveCacheType!=null?cfn_parse().FromCloudFormation.getString(properties.DriveCacheType):void 0),ret.addPropertyResult("efaEnabled","EfaEnabled",properties.EfaEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EfaEnabled):void 0),ret.addPropertyResult("exportPath","ExportPath",properties.ExportPath!=null?cfn_parse().FromCloudFormation.getString(properties.ExportPath):void 0),ret.addPropertyResult("importedFileChunkSize","ImportedFileChunkSize",properties.ImportedFileChunkSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.ImportedFileChunkSize):void 0),ret.addPropertyResult("importPath","ImportPath",properties.ImportPath!=null?cfn_parse().FromCloudFormation.getString(properties.ImportPath):void 0),ret.addPropertyResult("metadataConfiguration","MetadataConfiguration",properties.MetadataConfiguration!=null?CfnFileSystemMetadataConfigurationPropertyFromCloudFormation(properties.MetadataConfiguration):void 0),ret.addPropertyResult("perUnitStorageThroughput","PerUnitStorageThroughput",properties.PerUnitStorageThroughput!=null?cfn_parse().FromCloudFormation.getNumber(properties.PerUnitStorageThroughput):void 0),ret.addPropertyResult("throughputCapacity","ThroughputCapacity",properties.ThroughputCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.ThroughputCapacity):void 0),ret.addPropertyResult("weeklyMaintenanceStartTime","WeeklyMaintenanceStartTime",properties.WeeklyMaintenanceStartTime!=null?cfn_parse().FromCloudFormation.getString(properties.WeeklyMaintenanceStartTime):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFileSystemDiskIopsConfigurationPropertyValidator(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("iops",cdk().validateNumber)(properties.iops)),errors.collect(cdk().propertyValidator("mode",cdk().validateString)(properties.mode)),errors.wrap('supplied properties not correct for "DiskIopsConfigurationProperty"')}function convertCfnFileSystemDiskIopsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFileSystemDiskIopsConfigurationPropertyValidator(properties).assertSuccess(),{Iops:cdk().numberToCloudFormation(properties.iops),Mode:cdk().stringToCloudFormation(properties.mode)}):properties}function CfnFileSystemDiskIopsConfigurationPropertyFromCloudFormation(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("iops","Iops",properties.Iops!=null?cfn_parse().FromCloudFormation.getNumber(properties.Iops):void 0),ret.addPropertyResult("mode","Mode",properties.Mode!=null?cfn_parse().FromCloudFormation.getString(properties.Mode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFileSystemOntapConfigurationPropertyValidator(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("automaticBackupRetentionDays",cdk().validateNumber)(properties.automaticBackupRetentionDays)),errors.collect(cdk().propertyValidator("dailyAutomaticBackupStartTime",cdk().validateString)(properties.dailyAutomaticBackupStartTime)),errors.collect(cdk().propertyValidator("deploymentType",cdk().requiredValidator)(properties.deploymentType)),errors.collect(cdk().propertyValidator("deploymentType",cdk().validateString)(properties.deploymentType)),errors.collect(cdk().propertyValidator("diskIopsConfiguration",CfnFileSystemDiskIopsConfigurationPropertyValidator)(properties.diskIopsConfiguration)),errors.collect(cdk().propertyValidator("endpointIpAddressRange",cdk().validateString)(properties.endpointIpAddressRange)),errors.collect(cdk().propertyValidator("endpointIpv6AddressRange",cdk().validateString)(properties.endpointIpv6AddressRange)),errors.collect(cdk().propertyValidator("fsxAdminPassword",cdk().validateString)(properties.fsxAdminPassword)),errors.collect(cdk().propertyValidator("haPairs",cdk().validateNumber)(properties.haPairs)),errors.collect(cdk().propertyValidator("preferredSubnetId",cdk().validateString)(properties.preferredSubnetId)),errors.collect(cdk().propertyValidator("routeTableIds",cdk().listValidator(cdk().validateString))(properties.routeTableIds)),errors.collect(cdk().propertyValidator("throughputCapacity",cdk().validateNumber)(properties.throughputCapacity)),errors.collect(cdk().propertyValidator("throughputCapacityPerHaPair",cdk().validateNumber)(properties.throughputCapacityPerHaPair)),errors.collect(cdk().propertyValidator("weeklyMaintenanceStartTime",cdk().validateString)(properties.weeklyMaintenanceStartTime)),errors.wrap('supplied properties not correct for "OntapConfigurationProperty"')}function convertCfnFileSystemOntapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFileSystemOntapConfigurationPropertyValidator(properties).assertSuccess(),{AutomaticBackupRetentionDays:cdk().numberToCloudFormation(properties.automaticBackupRetentionDays),DailyAutomaticBackupStartTime:cdk().stringToCloudFormation(properties.dailyAutomaticBackupStartTime),DeploymentType:cdk().stringToCloudFormation(properties.deploymentType),DiskIopsConfiguration:convertCfnFileSystemDiskIopsConfigurationPropertyToCloudFormation(properties.diskIopsConfiguration),EndpointIpAddressRange:cdk().stringToCloudFormation(properties.endpointIpAddressRange),EndpointIpv6AddressRange:cdk().stringToCloudFormation(properties.endpointIpv6AddressRange),FsxAdminPassword:cdk().stringToCloudFormation(properties.fsxAdminPassword),HAPairs:cdk().numberToCloudFormation(properties.haPairs),PreferredSubnetId:cdk().stringToCloudFormation(properties.preferredSubnetId),RouteTableIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.routeTableIds),ThroughputCapacity:cdk().numberToCloudFormation(properties.throughputCapacity),ThroughputCapacityPerHAPair:cdk().numberToCloudFormation(properties.throughputCapacityPerHaPair),WeeklyMaintenanceStartTime:cdk().stringToCloudFormation(properties.weeklyMaintenanceStartTime)}):properties}function CfnFileSystemOntapConfigurationPropertyFromCloudFormation(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("automaticBackupRetentionDays","AutomaticBackupRetentionDays",properties.AutomaticBackupRetentionDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.AutomaticBackupRetentionDays):void 0),ret.addPropertyResult("dailyAutomaticBackupStartTime","DailyAutomaticBackupStartTime",properties.DailyAutomaticBackupStartTime!=null?cfn_parse().FromCloudFormation.getString(properties.DailyAutomaticBackupStartTime):void 0),ret.addPropertyResult("deploymentType","DeploymentType",properties.DeploymentType!=null?cfn_parse().FromCloudFormation.getString(properties.DeploymentType):void 0),ret.addPropertyResult("diskIopsConfiguration","DiskIopsConfiguration",properties.DiskIopsConfiguration!=null?CfnFileSystemDiskIopsConfigurationPropertyFromCloudFormation(properties.DiskIopsConfiguration):void 0),ret.addPropertyResult("endpointIpAddressRange","EndpointIpAddressRange",properties.EndpointIpAddressRange!=null?cfn_parse().FromCloudFormation.getString(properties.EndpointIpAddressRange):void 0),ret.addPropertyResult("endpointIpv6AddressRange","EndpointIpv6AddressRange",properties.EndpointIpv6AddressRange!=null?cfn_parse().FromCloudFormation.getString(properties.EndpointIpv6AddressRange):void 0),ret.addPropertyResult("fsxAdminPassword","FsxAdminPassword",properties.FsxAdminPassword!=null?cfn_parse().FromCloudFormation.getString(properties.FsxAdminPassword):void 0),ret.addPropertyResult("haPairs","HAPairs",properties.HAPairs!=null?cfn_parse().FromCloudFormation.getNumber(properties.HAPairs):void 0),ret.addPropertyResult("preferredSubnetId","PreferredSubnetId",properties.PreferredSubnetId!=null?cfn_parse().FromCloudFormation.getString(properties.PreferredSubnetId):void 0),ret.addPropertyResult("routeTableIds","RouteTableIds",properties.RouteTableIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.RouteTableIds):void 0),ret.addPropertyResult("throughputCapacity","ThroughputCapacity",properties.ThroughputCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.ThroughputCapacity):void 0),ret.addPropertyResult("throughputCapacityPerHaPair","ThroughputCapacityPerHAPair",properties.ThroughputCapacityPerHAPair!=null?cfn_parse().FromCloudFormation.getNumber(properties.ThroughputCapacityPerHAPair):void 0),ret.addPropertyResult("weeklyMaintenanceStartTime","WeeklyMaintenanceStartTime",properties.WeeklyMaintenanceStartTime!=null?cfn_parse().FromCloudFormation.getString(properties.WeeklyMaintenanceStartTime):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFileSystemSelfManagedActiveDirectoryConfigurationPropertyValidator(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("dnsIps",cdk().listValidator(cdk().validateString))(properties.dnsIps)),errors.collect(cdk().propertyValidator("domainJoinServiceAccountSecret",cdk().validateString)(properties.domainJoinServiceAccountSecret)),errors.collect(cdk().propertyValidator("domainName",cdk().validateString)(properties.domainName)),errors.collect(cdk().propertyValidator("fileSystemAdministratorsGroup",cdk().validateString)(properties.fileSystemAdministratorsGroup)),errors.collect(cdk().propertyValidator("organizationalUnitDistinguishedName",cdk().validateString)(properties.organizationalUnitDistinguishedName)),errors.collect(cdk().propertyValidator("password",cdk().validateString)(properties.password)),errors.collect(cdk().propertyValidator("userName",cdk().validateString)(properties.userName)),errors.wrap('supplied properties not correct for "SelfManagedActiveDirectoryConfigurationProperty"')}function convertCfnFileSystemSelfManagedActiveDirectoryConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFileSystemSelfManagedActiveDirectoryConfigurationPropertyValidator(properties).assertSuccess(),{DnsIps:cdk().listMapper(cdk().stringToCloudFormation)(properties.dnsIps),DomainJoinServiceAccountSecret:cdk().stringToCloudFormation(properties.domainJoinServiceAccountSecret),DomainName:cdk().stringToCloudFormation(properties.domainName),FileSystemAdministratorsGroup:cdk().stringToCloudFormation(properties.fileSystemAdministratorsGroup),OrganizationalUnitDistinguishedName:cdk().stringToCloudFormation(properties.organizationalUnitDistinguishedName),Password:cdk().stringToCloudFormation(properties.password),UserName:cdk().stringToCloudFormation(properties.userName)}):properties}function CfnFileSystemSelfManagedActiveDirectoryConfigurationPropertyFromCloudFormation(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("dnsIps","DnsIps",properties.DnsIps!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DnsIps):void 0),ret.addPropertyResult("domainJoinServiceAccountSecret","DomainJoinServiceAccountSecret",properties.DomainJoinServiceAccountSecret!=null?cfn_parse().FromCloudFormation.getString(properties.DomainJoinServiceAccountSecret):void 0),ret.addPropertyResult("domainName","DomainName",properties.DomainName!=null?cfn_parse().FromCloudFormation.getString(properties.DomainName):void 0),ret.addPropertyResult("fileSystemAdministratorsGroup","FileSystemAdministratorsGroup",properties.FileSystemAdministratorsGroup!=null?cfn_parse().FromCloudFormation.getString(properties.FileSystemAdministratorsGroup):void 0),ret.addPropertyResult("organizationalUnitDistinguishedName","OrganizationalUnitDistinguishedName",properties.OrganizationalUnitDistinguishedName!=null?cfn_parse().FromCloudFormation.getString(properties.OrganizationalUnitDistinguishedName):void 0),ret.addPropertyResult("password","Password",properties.Password!=null?cfn_parse().FromCloudFormation.getString(properties.Password):void 0),ret.addPropertyResult("userName","UserName",properties.UserName!=null?cfn_parse().FromCloudFormation.getString(properties.UserName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFileSystemAuditLogConfigurationPropertyValidator(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("auditLogDestination",cdk().validateString)(properties.auditLogDestination)),errors.collect(cdk().propertyValidator("fileAccessAuditLogLevel",cdk().requiredValidator)(properties.fileAccessAuditLogLevel)),errors.collect(cdk().propertyValidator("fileAccessAuditLogLevel",cdk().validateString)(properties.fileAccessAuditLogLevel)),errors.collect(cdk().propertyValidator("fileShareAccessAuditLogLevel",cdk().requiredValidator)(properties.fileShareAccessAuditLogLevel)),errors.collect(cdk().propertyValidator("fileShareAccessAuditLogLevel",cdk().validateString)(properties.fileShareAccessAuditLogLevel)),errors.wrap('supplied properties not correct for "AuditLogConfigurationProperty"')}function convertCfnFileSystemAuditLogConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFileSystemAuditLogConfigurationPropertyValidator(properties).assertSuccess(),{AuditLogDestination:cdk().stringToCloudFormation(properties.auditLogDestination),FileAccessAuditLogLevel:cdk().stringToCloudFormation(properties.fileAccessAuditLogLevel),FileShareAccessAuditLogLevel:cdk().stringToCloudFormation(properties.fileShareAccessAuditLogLevel)}):properties}function CfnFileSystemAuditLogConfigurationPropertyFromCloudFormation(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("auditLogDestination","AuditLogDestination",properties.AuditLogDestination!=null?cfn_parse().FromCloudFormation.getString(properties.AuditLogDestination):void 0),ret.addPropertyResult("fileAccessAuditLogLevel","FileAccessAuditLogLevel",properties.FileAccessAuditLogLevel!=null?cfn_parse().FromCloudFormation.getString(properties.FileAccessAuditLogLevel):void 0),ret.addPropertyResult("fileShareAccessAuditLogLevel","FileShareAccessAuditLogLevel",properties.FileShareAccessAuditLogLevel!=null?cfn_parse().FromCloudFormation.getString(properties.FileShareAccessAuditLogLevel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFileSystemFsrmConfigurationPropertyValidator(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("eventLogDestination",cdk().validateString)(properties.eventLogDestination)),errors.collect(cdk().propertyValidator("fsrmServiceEnabled",cdk().requiredValidator)(properties.fsrmServiceEnabled)),errors.collect(cdk().propertyValidator("fsrmServiceEnabled",cdk().validateBoolean)(properties.fsrmServiceEnabled)),errors.wrap('supplied properties not correct for "FsrmConfigurationProperty"')}function convertCfnFileSystemFsrmConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFileSystemFsrmConfigurationPropertyValidator(properties).assertSuccess(),{EventLogDestination:cdk().stringToCloudFormation(properties.eventLogDestination),FsrmServiceEnabled:cdk().booleanToCloudFormation(properties.fsrmServiceEnabled)}):properties}function CfnFileSystemFsrmConfigurationPropertyFromCloudFormation(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("eventLogDestination","EventLogDestination",properties.EventLogDestination!=null?cfn_parse().FromCloudFormation.getString(properties.EventLogDestination):void 0),ret.addPropertyResult("fsrmServiceEnabled","FsrmServiceEnabled",properties.FsrmServiceEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.FsrmServiceEnabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFileSystemWindowsConfigurationPropertyValidator(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("activeDirectoryId",cdk().validateString)(properties.activeDirectoryId)),errors.collect(cdk().propertyValidator("aliases",cdk().listValidator(cdk().validateString))(properties.aliases)),errors.collect(cdk().propertyValidator("auditLogConfiguration",CfnFileSystemAuditLogConfigurationPropertyValidator)(properties.auditLogConfiguration)),errors.collect(cdk().propertyValidator("automaticBackupRetentionDays",cdk().validateNumber)(properties.automaticBackupRetentionDays)),errors.collect(cdk().propertyValidator("copyTagsToBackups",cdk().validateBoolean)(properties.copyTagsToBackups)),errors.collect(cdk().propertyValidator("dailyAutomaticBackupStartTime",cdk().validateString)(properties.dailyAutomaticBackupStartTime)),errors.collect(cdk().propertyValidator("deploymentType",cdk().validateString)(properties.deploymentType)),errors.collect(cdk().propertyValidator("diskIopsConfiguration",CfnFileSystemDiskIopsConfigurationPropertyValidator)(properties.diskIopsConfiguration)),errors.collect(cdk().propertyValidator("fsrmConfiguration",CfnFileSystemFsrmConfigurationPropertyValidator)(properties.fsrmConfiguration)),errors.collect(cdk().propertyValidator("preferredSubnetId",cdk().validateString)(properties.preferredSubnetId)),errors.collect(cdk().propertyValidator("selfManagedActiveDirectoryConfiguration",CfnFileSystemSelfManagedActiveDirectoryConfigurationPropertyValidator)(properties.selfManagedActiveDirectoryConfiguration)),errors.collect(cdk().propertyValidator("throughputCapacity",cdk().requiredValidator)(properties.throughputCapacity)),errors.collect(cdk().propertyValidator("throughputCapacity",cdk().validateNumber)(properties.throughputCapacity)),errors.collect(cdk().propertyValidator("weeklyMaintenanceStartTime",cdk().validateString)(properties.weeklyMaintenanceStartTime)),errors.wrap('supplied properties not correct for "WindowsConfigurationProperty"')}function convertCfnFileSystemWindowsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFileSystemWindowsConfigurationPropertyValidator(properties).assertSuccess(),{ActiveDirectoryId:cdk().stringToCloudFormation(properties.activeDirectoryId),Aliases:cdk().listMapper(cdk().stringToCloudFormation)(properties.aliases),AuditLogConfiguration:convertCfnFileSystemAuditLogConfigurationPropertyToCloudFormation(properties.auditLogConfiguration),AutomaticBackupRetentionDays:cdk().numberToCloudFormation(properties.automaticBackupRetentionDays),CopyTagsToBackups:cdk().booleanToCloudFormation(properties.copyTagsToBackups),DailyAutomaticBackupStartTime:cdk().stringToCloudFormation(properties.dailyAutomaticBackupStartTime),DeploymentType:cdk().stringToCloudFormation(properties.deploymentType),DiskIopsConfiguration:convertCfnFileSystemDiskIopsConfigurationPropertyToCloudFormation(properties.diskIopsConfiguration),FsrmConfiguration:convertCfnFileSystemFsrmConfigurationPropertyToCloudFormation(properties.fsrmConfiguration),PreferredSubnetId:cdk().stringToCloudFormation(properties.preferredSubnetId),SelfManagedActiveDirectoryConfiguration:convertCfnFileSystemSelfManagedActiveDirectoryConfigurationPropertyToCloudFormation(properties.selfManagedActiveDirectoryConfiguration),ThroughputCapacity:cdk().numberToCloudFormation(properties.throughputCapacity),WeeklyMaintenanceStartTime:cdk().stringToCloudFormation(properties.weeklyMaintenanceStartTime)}):properties}function CfnFileSystemWindowsConfigurationPropertyFromCloudFormation(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("activeDirectoryId","ActiveDirectoryId",properties.ActiveDirectoryId!=null?cfn_parse().FromCloudFormation.getString(properties.ActiveDirectoryId):void 0),ret.addPropertyResult("aliases","Aliases",properties.Aliases!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Aliases):void 0),ret.addPropertyResult("auditLogConfiguration","AuditLogConfiguration",properties.AuditLogConfiguration!=null?CfnFileSystemAuditLogConfigurationPropertyFromCloudFormation(properties.AuditLogConfiguration):void 0),ret.addPropertyResult("automaticBackupRetentionDays","AutomaticBackupRetentionDays",properties.AutomaticBackupRetentionDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.AutomaticBackupRetentionDays):void 0),ret.addPropertyResult("copyTagsToBackups","CopyTagsToBackups",properties.CopyTagsToBackups!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CopyTagsToBackups):void 0),ret.addPropertyResult("dailyAutomaticBackupStartTime","DailyAutomaticBackupStartTime",properties.DailyAutomaticBackupStartTime!=null?cfn_parse().FromCloudFormation.getString(properties.DailyAutomaticBackupStartTime):void 0),ret.addPropertyResult("deploymentType","DeploymentType",properties.DeploymentType!=null?cfn_parse().FromCloudFormation.getString(properties.DeploymentType):void 0),ret.addPropertyResult("diskIopsConfiguration","DiskIopsConfiguration",properties.DiskIopsConfiguration!=null?CfnFileSystemDiskIopsConfigurationPropertyFromCloudFormation(properties.DiskIopsConfiguration):void 0),ret.addPropertyResult("fsrmConfiguration","FsrmConfiguration",properties.FsrmConfiguration!=null?CfnFileSystemFsrmConfigurationPropertyFromCloudFormation(properties.FsrmConfiguration):void 0),ret.addPropertyResult("preferredSubnetId","PreferredSubnetId",properties.PreferredSubnetId!=null?cfn_parse().FromCloudFormation.getString(properties.PreferredSubnetId):void 0),ret.addPropertyResult("selfManagedActiveDirectoryConfiguration","SelfManagedActiveDirectoryConfiguration",properties.SelfManagedActiveDirectoryConfiguration!=null?CfnFileSystemSelfManagedActiveDirectoryConfigurationPropertyFromCloudFormation(properties.SelfManagedActiveDirectoryConfiguration):void 0),ret.addPropertyResult("throughputCapacity","ThroughputCapacity",properties.ThroughputCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.ThroughputCapacity):void 0),ret.addPropertyResult("weeklyMaintenanceStartTime","WeeklyMaintenanceStartTime",properties.WeeklyMaintenanceStartTime!=null?cfn_parse().FromCloudFormation.getString(properties.WeeklyMaintenanceStartTime):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFileSystemClientConfigurationsPropertyValidator(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("clients",cdk().validateString)(properties.clients)),errors.collect(cdk().propertyValidator("options",cdk().listValidator(cdk().validateString))(properties.options)),errors.wrap('supplied properties not correct for "ClientConfigurationsProperty"')}function convertCfnFileSystemClientConfigurationsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFileSystemClientConfigurationsPropertyValidator(properties).assertSuccess(),{Clients:cdk().stringToCloudFormation(properties.clients),Options:cdk().listMapper(cdk().stringToCloudFormation)(properties.options)}):properties}function CfnFileSystemClientConfigurationsPropertyFromCloudFormation(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("clients","Clients",properties.Clients!=null?cfn_parse().FromCloudFormation.getString(properties.Clients):void 0),ret.addPropertyResult("options","Options",properties.Options!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Options):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFileSystemNfsExportsPropertyValidator(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("clientConfigurations",cdk().listValidator(CfnFileSystemClientConfigurationsPropertyValidator))(properties.clientConfigurations)),errors.wrap('supplied properties not correct for "NfsExportsProperty"')}function convertCfnFileSystemNfsExportsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFileSystemNfsExportsPropertyValidator(properties).assertSuccess(),{ClientConfigurations:cdk().listMapper(convertCfnFileSystemClientConfigurationsPropertyToCloudFormation)(properties.clientConfigurations)}):properties}function CfnFileSystemNfsExportsPropertyFromCloudFormation(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("clientConfigurations","ClientConfigurations",properties.ClientConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnFileSystemClientConfigurationsPropertyFromCloudFormation)(properties.ClientConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFileSystemUserAndGroupQuotasPropertyValidator(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("id",cdk().validateNumber)(properties.id)),errors.collect(cdk().propertyValidator("storageCapacityQuotaGiB",cdk().validateNumber)(properties.storageCapacityQuotaGiB)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "UserAndGroupQuotasProperty"')}function convertCfnFileSystemUserAndGroupQuotasPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFileSystemUserAndGroupQuotasPropertyValidator(properties).assertSuccess(),{Id:cdk().numberToCloudFormation(properties.id),StorageCapacityQuotaGiB:cdk().numberToCloudFormation(properties.storageCapacityQuotaGiB),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnFileSystemUserAndGroupQuotasPropertyFromCloudFormation(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("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getNumber(properties.Id):void 0),ret.addPropertyResult("storageCapacityQuotaGiB","StorageCapacityQuotaGiB",properties.StorageCapacityQuotaGiB!=null?cfn_parse().FromCloudFormation.getNumber(properties.StorageCapacityQuotaGiB):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFileSystemRootVolumeConfigurationPropertyValidator(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("copyTagsToSnapshots",cdk().validateBoolean)(properties.copyTagsToSnapshots)),errors.collect(cdk().propertyValidator("dataCompressionType",cdk().validateString)(properties.dataCompressionType)),errors.collect(cdk().propertyValidator("nfsExports",cdk().listValidator(CfnFileSystemNfsExportsPropertyValidator))(properties.nfsExports)),errors.collect(cdk().propertyValidator("readOnly",cdk().validateBoolean)(properties.readOnly)),errors.collect(cdk().propertyValidator("recordSizeKiB",cdk().validateNumber)(properties.recordSizeKiB)),errors.collect(cdk().propertyValidator("userAndGroupQuotas",cdk().listValidator(CfnFileSystemUserAndGroupQuotasPropertyValidator))(properties.userAndGroupQuotas)),errors.wrap('supplied properties not correct for "RootVolumeConfigurationProperty"')}function convertCfnFileSystemRootVolumeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFileSystemRootVolumeConfigurationPropertyValidator(properties).assertSuccess(),{CopyTagsToSnapshots:cdk().booleanToCloudFormation(properties.copyTagsToSnapshots),DataCompressionType:cdk().stringToCloudFormation(properties.dataCompressionType),NfsExports:cdk().listMapper(convertCfnFileSystemNfsExportsPropertyToCloudFormation)(properties.nfsExports),ReadOnly:cdk().booleanToCloudFormation(properties.readOnly),RecordSizeKiB:cdk().numberToCloudFormation(properties.recordSizeKiB),UserAndGroupQuotas:cdk().listMapper(convertCfnFileSystemUserAndGroupQuotasPropertyToCloudFormation)(properties.userAndGroupQuotas)}):properties}function CfnFileSystemRootVolumeConfigurationPropertyFromCloudFormation(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("copyTagsToSnapshots","CopyTagsToSnapshots",properties.CopyTagsToSnapshots!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CopyTagsToSnapshots):void 0),ret.addPropertyResult("dataCompressionType","DataCompressionType",properties.DataCompressionType!=null?cfn_parse().FromCloudFormation.getString(properties.DataCompressionType):void 0),ret.addPropertyResult("nfsExports","NfsExports",properties.NfsExports!=null?cfn_parse().FromCloudFormation.getArray(CfnFileSystemNfsExportsPropertyFromCloudFormation)(properties.NfsExports):void 0),ret.addPropertyResult("readOnly","ReadOnly",properties.ReadOnly!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ReadOnly):void 0),ret.addPropertyResult("recordSizeKiB","RecordSizeKiB",properties.RecordSizeKiB!=null?cfn_parse().FromCloudFormation.getNumber(properties.RecordSizeKiB):void 0),ret.addPropertyResult("userAndGroupQuotas","UserAndGroupQuotas",properties.UserAndGroupQuotas!=null?cfn_parse().FromCloudFormation.getArray(CfnFileSystemUserAndGroupQuotasPropertyFromCloudFormation)(properties.UserAndGroupQuotas):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFileSystemReadCacheConfigurationPropertyValidator(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("sizeGiB",cdk().validateNumber)(properties.sizeGiB)),errors.collect(cdk().propertyValidator("sizingMode",cdk().validateString)(properties.sizingMode)),errors.wrap('supplied properties not correct for "ReadCacheConfigurationProperty"')}function convertCfnFileSystemReadCacheConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFileSystemReadCacheConfigurationPropertyValidator(properties).assertSuccess(),{SizeGiB:cdk().numberToCloudFormation(properties.sizeGiB),SizingMode:cdk().stringToCloudFormation(properties.sizingMode)}):properties}function CfnFileSystemReadCacheConfigurationPropertyFromCloudFormation(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("sizeGiB","SizeGiB",properties.SizeGiB!=null?cfn_parse().FromCloudFormation.getNumber(properties.SizeGiB):void 0),ret.addPropertyResult("sizingMode","SizingMode",properties.SizingMode!=null?cfn_parse().FromCloudFormation.getString(properties.SizingMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFileSystemOpenZFSConfigurationPropertyValidator(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("automaticBackupRetentionDays",cdk().validateNumber)(properties.automaticBackupRetentionDays)),errors.collect(cdk().propertyValidator("copyTagsToBackups",cdk().validateBoolean)(properties.copyTagsToBackups)),errors.collect(cdk().propertyValidator("copyTagsToVolumes",cdk().validateBoolean)(properties.copyTagsToVolumes)),errors.collect(cdk().propertyValidator("dailyAutomaticBackupStartTime",cdk().validateString)(properties.dailyAutomaticBackupStartTime)),errors.collect(cdk().propertyValidator("deploymentType",cdk().requiredValidator)(properties.deploymentType)),errors.collect(cdk().propertyValidator("deploymentType",cdk().validateString)(properties.deploymentType)),errors.collect(cdk().propertyValidator("diskIopsConfiguration",CfnFileSystemDiskIopsConfigurationPropertyValidator)(properties.diskIopsConfiguration)),errors.collect(cdk().propertyValidator("endpointIpAddressRange",cdk().validateString)(properties.endpointIpAddressRange)),errors.collect(cdk().propertyValidator("endpointIpv6AddressRange",cdk().validateString)(properties.endpointIpv6AddressRange)),errors.collect(cdk().propertyValidator("options",cdk().listValidator(cdk().validateString))(properties.options)),errors.collect(cdk().propertyValidator("preferredSubnetId",cdk().validateString)(properties.preferredSubnetId)),errors.collect(cdk().propertyValidator("readCacheConfiguration",CfnFileSystemReadCacheConfigurationPropertyValidator)(properties.readCacheConfiguration)),errors.collect(cdk().propertyValidator("rootVolumeConfiguration",CfnFileSystemRootVolumeConfigurationPropertyValidator)(properties.rootVolumeConfiguration)),errors.collect(cdk().propertyValidator("routeTableIds",cdk().listValidator(cdk().validateString))(properties.routeTableIds)),errors.collect(cdk().propertyValidator("throughputCapacity",cdk().validateNumber)(properties.throughputCapacity)),errors.collect(cdk().propertyValidator("weeklyMaintenanceStartTime",cdk().validateString)(properties.weeklyMaintenanceStartTime)),errors.wrap('supplied properties not correct for "OpenZFSConfigurationProperty"')}function convertCfnFileSystemOpenZFSConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFileSystemOpenZFSConfigurationPropertyValidator(properties).assertSuccess(),{AutomaticBackupRetentionDays:cdk().numberToCloudFormation(properties.automaticBackupRetentionDays),CopyTagsToBackups:cdk().booleanToCloudFormation(properties.copyTagsToBackups),CopyTagsToVolumes:cdk().booleanToCloudFormation(properties.copyTagsToVolumes),DailyAutomaticBackupStartTime:cdk().stringToCloudFormation(properties.dailyAutomaticBackupStartTime),DeploymentType:cdk().stringToCloudFormation(properties.deploymentType),DiskIopsConfiguration:convertCfnFileSystemDiskIopsConfigurationPropertyToCloudFormation(properties.diskIopsConfiguration),EndpointIpAddressRange:cdk().stringToCloudFormation(properties.endpointIpAddressRange),EndpointIpv6AddressRange:cdk().stringToCloudFormation(properties.endpointIpv6AddressRange),Options:cdk().listMapper(cdk().stringToCloudFormation)(properties.options),PreferredSubnetId:cdk().stringToCloudFormation(properties.preferredSubnetId),ReadCacheConfiguration:convertCfnFileSystemReadCacheConfigurationPropertyToCloudFormation(properties.readCacheConfiguration),RootVolumeConfiguration:convertCfnFileSystemRootVolumeConfigurationPropertyToCloudFormation(properties.rootVolumeConfiguration),RouteTableIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.routeTableIds),ThroughputCapacity:cdk().numberToCloudFormation(properties.throughputCapacity),WeeklyMaintenanceStartTime:cdk().stringToCloudFormation(properties.weeklyMaintenanceStartTime)}):properties}function CfnFileSystemOpenZFSConfigurationPropertyFromCloudFormation(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("automaticBackupRetentionDays","AutomaticBackupRetentionDays",properties.AutomaticBackupRetentionDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.AutomaticBackupRetentionDays):void 0),ret.addPropertyResult("copyTagsToBackups","CopyTagsToBackups",properties.CopyTagsToBackups!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CopyTagsToBackups):void 0),ret.addPropertyResult("copyTagsToVolumes","CopyTagsToVolumes",properties.CopyTagsToVolumes!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CopyTagsToVolumes):void 0),ret.addPropertyResult("dailyAutomaticBackupStartTime","DailyAutomaticBackupStartTime",properties.DailyAutomaticBackupStartTime!=null?cfn_parse().FromCloudFormation.getString(properties.DailyAutomaticBackupStartTime):void 0),ret.addPropertyResult("deploymentType","DeploymentType",properties.DeploymentType!=null?cfn_parse().FromCloudFormation.getString(properties.DeploymentType):void 0),ret.addPropertyResult("diskIopsConfiguration","DiskIopsConfiguration",properties.DiskIopsConfiguration!=null?CfnFileSystemDiskIopsConfigurationPropertyFromCloudFormation(properties.DiskIopsConfiguration):void 0),ret.addPropertyResult("endpointIpAddressRange","EndpointIpAddressRange",properties.EndpointIpAddressRange!=null?cfn_parse().FromCloudFormation.getString(properties.EndpointIpAddressRange):void 0),ret.addPropertyResult("endpointIpv6AddressRange","EndpointIpv6AddressRange",properties.EndpointIpv6AddressRange!=null?cfn_parse().FromCloudFormation.getString(properties.EndpointIpv6AddressRange):void 0),ret.addPropertyResult("options","Options",properties.Options!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Options):void 0),ret.addPropertyResult("preferredSubnetId","PreferredSubnetId",properties.PreferredSubnetId!=null?cfn_parse().FromCloudFormation.getString(properties.PreferredSubnetId):void 0),ret.addPropertyResult("readCacheConfiguration","ReadCacheConfiguration",properties.ReadCacheConfiguration!=null?CfnFileSystemReadCacheConfigurationPropertyFromCloudFormation(properties.ReadCacheConfiguration):void 0),ret.addPropertyResult("rootVolumeConfiguration","RootVolumeConfiguration",properties.RootVolumeConfiguration!=null?CfnFileSystemRootVolumeConfigurationPropertyFromCloudFormation(properties.RootVolumeConfiguration):void 0),ret.addPropertyResult("routeTableIds","RouteTableIds",properties.RouteTableIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.RouteTableIds):void 0),ret.addPropertyResult("throughputCapacity","ThroughputCapacity",properties.ThroughputCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.ThroughputCapacity):void 0),ret.addPropertyResult("weeklyMaintenanceStartTime","WeeklyMaintenanceStartTime",properties.WeeklyMaintenanceStartTime!=null?cfn_parse().FromCloudFormation.getString(properties.WeeklyMaintenanceStartTime):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFileSystemPropsValidator(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("backupId",cdk().validateString)(properties.backupId)),errors.collect(cdk().propertyValidator("fileSystemType",cdk().requiredValidator)(properties.fileSystemType)),errors.collect(cdk().propertyValidator("fileSystemType",cdk().validateString)(properties.fileSystemType)),errors.collect(cdk().propertyValidator("fileSystemTypeVersion",cdk().validateString)(properties.fileSystemTypeVersion)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("lustreConfiguration",CfnFileSystemLustreConfigurationPropertyValidator)(properties.lustreConfiguration)),errors.collect(cdk().propertyValidator("networkType",cdk().validateString)(properties.networkType)),errors.collect(cdk().propertyValidator("ontapConfiguration",CfnFileSystemOntapConfigurationPropertyValidator)(properties.ontapConfiguration)),errors.collect(cdk().propertyValidator("openZfsConfiguration",CfnFileSystemOpenZFSConfigurationPropertyValidator)(properties.openZfsConfiguration)),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("storageCapacity",cdk().validateNumber)(properties.storageCapacity)),errors.collect(cdk().propertyValidator("storageType",cdk().validateString)(properties.storageType)),errors.collect(cdk().propertyValidator("subnetIds",cdk().requiredValidator)(properties.subnetIds)),errors.collect(cdk().propertyValidator("subnetIds",cdk().listValidator(cdk().validateString))(properties.subnetIds)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("windowsConfiguration",CfnFileSystemWindowsConfigurationPropertyValidator)(properties.windowsConfiguration)),errors.wrap('supplied properties not correct for "CfnFileSystemProps"')}function convertCfnFileSystemPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFileSystemPropsValidator(properties).assertSuccess(),{BackupId:cdk().stringToCloudFormation(properties.backupId),FileSystemType:cdk().stringToCloudFormation(properties.fileSystemType),FileSystemTypeVersion:cdk().stringToCloudFormation(properties.fileSystemTypeVersion),KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),LustreConfiguration:convertCfnFileSystemLustreConfigurationPropertyToCloudFormation(properties.lustreConfiguration),NetworkType:cdk().stringToCloudFormation(properties.networkType),OntapConfiguration:convertCfnFileSystemOntapConfigurationPropertyToCloudFormation(properties.ontapConfiguration),OpenZFSConfiguration:convertCfnFileSystemOpenZFSConfigurationPropertyToCloudFormation(properties.openZfsConfiguration),SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),StorageCapacity:cdk().numberToCloudFormation(properties.storageCapacity),StorageType:cdk().stringToCloudFormation(properties.storageType),SubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.subnetIds),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),WindowsConfiguration:convertCfnFileSystemWindowsConfigurationPropertyToCloudFormation(properties.windowsConfiguration)}):properties}function CfnFileSystemPropsFromCloudFormation(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("backupId","BackupId",properties.BackupId!=null?cfn_parse().FromCloudFormation.getString(properties.BackupId):void 0),ret.addPropertyResult("fileSystemType","FileSystemType",properties.FileSystemType!=null?cfn_parse().FromCloudFormation.getString(properties.FileSystemType):void 0),ret.addPropertyResult("fileSystemTypeVersion","FileSystemTypeVersion",properties.FileSystemTypeVersion!=null?cfn_parse().FromCloudFormation.getString(properties.FileSystemTypeVersion):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("lustreConfiguration","LustreConfiguration",properties.LustreConfiguration!=null?CfnFileSystemLustreConfigurationPropertyFromCloudFormation(properties.LustreConfiguration):void 0),ret.addPropertyResult("networkType","NetworkType",properties.NetworkType!=null?cfn_parse().FromCloudFormation.getString(properties.NetworkType):void 0),ret.addPropertyResult("ontapConfiguration","OntapConfiguration",properties.OntapConfiguration!=null?CfnFileSystemOntapConfigurationPropertyFromCloudFormation(properties.OntapConfiguration):void 0),ret.addPropertyResult("openZfsConfiguration","OpenZFSConfiguration",properties.OpenZFSConfiguration!=null?CfnFileSystemOpenZFSConfigurationPropertyFromCloudFormation(properties.OpenZFSConfiguration):void 0),ret.addPropertyResult("securityGroupIds","SecurityGroupIds",properties.SecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupIds):void 0),ret.addPropertyResult("storageCapacity","StorageCapacity",properties.StorageCapacity!=null?cfn_parse().FromCloudFormation.getNumber(properties.StorageCapacity):void 0),ret.addPropertyResult("storageType","StorageType",properties.StorageType!=null?cfn_parse().FromCloudFormation.getString(properties.StorageType):void 0),ret.addPropertyResult("subnetIds","SubnetIds",properties.SubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SubnetIds):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("windowsConfiguration","WindowsConfiguration",properties.WindowsConfiguration!=null?CfnFileSystemWindowsConfigurationPropertyFromCloudFormation(properties.WindowsConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnSnapshot extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_fsx.CfnSnapshot",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::FSx::Snapshot";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSnapshotPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnSnapshot(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 isCfnSnapshot(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnSnapshot.CFN_RESOURCE_TYPE_NAME}_name;tags;_tagsRaw;_volumeId;cfnPropertyNames={name:"Name",tags:"Tags",volumeId:"VolumeId"};constructor(scope,id,props){super(scope,id,{type:CfnSnapshot.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_fsx_CfnSnapshotProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnSnapshot),error}cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"volumeId",this),this._name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::FSx::Snapshot",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._volumeId=props.volumeId}get snapshotRef(){return{snapshotId:this.ref}}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get volumeId(){return this._volumeId}set volumeId(value){cdk().traceProperty(this.node,"VolumeId"),this._volumeId=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrResourceArn(){return cdk().Token.asString(this.getAtt("ResourceARN",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{name:this._name,tags:this.tags.renderTags(),volumeId:this._volumeId}}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",CfnSnapshot.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnSnapshotPropsToCloudFormation(props)}}exports.CfnSnapshot=CfnSnapshot;function CfnSnapshotPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("volumeId",cdk().requiredValidator)(properties.volumeId)),errors.collect(cdk().propertyValidator("volumeId",cdk().validateString)(properties.volumeId)),errors.wrap('supplied properties not correct for "CfnSnapshotProps"')}function convertCfnSnapshotPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSnapshotPropsValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),VolumeId:cdk().stringToCloudFormation(properties.volumeId)}):properties}function CfnSnapshotPropsFromCloudFormation(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("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("volumeId","VolumeId",properties.VolumeId!=null?cfn_parse().FromCloudFormation.getString(properties.VolumeId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnStorageVirtualMachine extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_fsx.CfnStorageVirtualMachine",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::FSx::StorageVirtualMachine";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnStorageVirtualMachinePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnStorageVirtualMachine(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 isCfnStorageVirtualMachine(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnStorageVirtualMachine.CFN_RESOURCE_TYPE_NAME}_activeDirectoryConfiguration;_fileSystemId;_name;_rootVolumeSecurityStyle;_svmAdminPassword;tags;_tagsRaw;cfnPropertyNames={activeDirectoryConfiguration:"ActiveDirectoryConfiguration",fileSystemId:"FileSystemId",name:"Name",rootVolumeSecurityStyle:"RootVolumeSecurityStyle",svmAdminPassword:"SvmAdminPassword",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnStorageVirtualMachine.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_fsx_CfnStorageVirtualMachineProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnStorageVirtualMachine),error}cdk().requireProperty(props,"fileSystemId",this),cdk().requireProperty(props,"name",this),this._activeDirectoryConfiguration=props.activeDirectoryConfiguration,this._fileSystemId=props.fileSystemId,this._name=props.name,this._rootVolumeSecurityStyle=props.rootVolumeSecurityStyle,this._svmAdminPassword=props.svmAdminPassword,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::FSx::StorageVirtualMachine",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get storageVirtualMachineRef(){return{storageVirtualMachineId:this.ref}}get activeDirectoryConfiguration(){return this._activeDirectoryConfiguration}set activeDirectoryConfiguration(value){cdk().traceProperty(this.node,"ActiveDirectoryConfiguration"),this._activeDirectoryConfiguration=value}get fileSystemId(){return this._fileSystemId}set fileSystemId(value){cdk().traceProperty(this.node,"FileSystemId"),this._fileSystemId=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get rootVolumeSecurityStyle(){return this._rootVolumeSecurityStyle}set rootVolumeSecurityStyle(value){cdk().traceProperty(this.node,"RootVolumeSecurityStyle"),this._rootVolumeSecurityStyle=value}get svmAdminPassword(){return this._svmAdminPassword}set svmAdminPassword(value){cdk().traceProperty(this.node,"SvmAdminPassword"),this._svmAdminPassword=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrResourceArn(){return cdk().Token.asString(this.getAtt("ResourceARN",cdk().ResolutionTypeHint.STRING))}get attrStorageVirtualMachineId(){return cdk().Token.asString(this.getAtt("StorageVirtualMachineId",cdk().ResolutionTypeHint.STRING))}get attrUuid(){return cdk().Token.asString(this.getAtt("UUID",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{activeDirectoryConfiguration:this._activeDirectoryConfiguration,fileSystemId:this._fileSystemId,name:this._name,rootVolumeSecurityStyle:this._rootVolumeSecurityStyle,svmAdminPassword:this._svmAdminPassword,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",CfnStorageVirtualMachine.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnStorageVirtualMachinePropsToCloudFormation(props)}}exports.CfnStorageVirtualMachine=CfnStorageVirtualMachine;function CfnStorageVirtualMachineSelfManagedActiveDirectoryConfigurationPropertyValidator(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("dnsIps",cdk().listValidator(cdk().validateString))(properties.dnsIps)),errors.collect(cdk().propertyValidator("domainJoinServiceAccountSecret",cdk().validateString)(properties.domainJoinServiceAccountSecret)),errors.collect(cdk().propertyValidator("domainName",cdk().validateString)(properties.domainName)),errors.collect(cdk().propertyValidator("fileSystemAdministratorsGroup",cdk().validateString)(properties.fileSystemAdministratorsGroup)),errors.collect(cdk().propertyValidator("organizationalUnitDistinguishedName",cdk().validateString)(properties.organizationalUnitDistinguishedName)),errors.collect(cdk().propertyValidator("password",cdk().validateString)(properties.password)),errors.collect(cdk().propertyValidator("userName",cdk().validateString)(properties.userName)),errors.wrap('supplied properties not correct for "SelfManagedActiveDirectoryConfigurationProperty"')}function convertCfnStorageVirtualMachineSelfManagedActiveDirectoryConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStorageVirtualMachineSelfManagedActiveDirectoryConfigurationPropertyValidator(properties).assertSuccess(),{DnsIps:cdk().listMapper(cdk().stringToCloudFormation)(properties.dnsIps),DomainJoinServiceAccountSecret:cdk().stringToCloudFormation(properties.domainJoinServiceAccountSecret),DomainName:cdk().stringToCloudFormation(properties.domainName),FileSystemAdministratorsGroup:cdk().stringToCloudFormation(properties.fileSystemAdministratorsGroup),OrganizationalUnitDistinguishedName:cdk().stringToCloudFormation(properties.organizationalUnitDistinguishedName),Password:cdk().stringToCloudFormation(properties.password),UserName:cdk().stringToCloudFormation(properties.userName)}):properties}function CfnStorageVirtualMachineSelfManagedActiveDirectoryConfigurationPropertyFromCloudFormation(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("dnsIps","DnsIps",properties.DnsIps!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DnsIps):void 0),ret.addPropertyResult("domainJoinServiceAccountSecret","DomainJoinServiceAccountSecret",properties.DomainJoinServiceAccountSecret!=null?cfn_parse().FromCloudFormation.getString(properties.DomainJoinServiceAccountSecret):void 0),ret.addPropertyResult("domainName","DomainName",properties.DomainName!=null?cfn_parse().FromCloudFormation.getString(properties.DomainName):void 0),ret.addPropertyResult("fileSystemAdministratorsGroup","FileSystemAdministratorsGroup",properties.FileSystemAdministratorsGroup!=null?cfn_parse().FromCloudFormation.getString(properties.FileSystemAdministratorsGroup):void 0),ret.addPropertyResult("organizationalUnitDistinguishedName","OrganizationalUnitDistinguishedName",properties.OrganizationalUnitDistinguishedName!=null?cfn_parse().FromCloudFormation.getString(properties.OrganizationalUnitDistinguishedName):void 0),ret.addPropertyResult("password","Password",properties.Password!=null?cfn_parse().FromCloudFormation.getString(properties.Password):void 0),ret.addPropertyResult("userName","UserName",properties.UserName!=null?cfn_parse().FromCloudFormation.getString(properties.UserName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageVirtualMachineActiveDirectoryConfigurationPropertyValidator(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("netBiosName",cdk().validateString)(properties.netBiosName)),errors.collect(cdk().propertyValidator("selfManagedActiveDirectoryConfiguration",CfnStorageVirtualMachineSelfManagedActiveDirectoryConfigurationPropertyValidator)(properties.selfManagedActiveDirectoryConfiguration)),errors.wrap('supplied properties not correct for "ActiveDirectoryConfigurationProperty"')}function convertCfnStorageVirtualMachineActiveDirectoryConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStorageVirtualMachineActiveDirectoryConfigurationPropertyValidator(properties).assertSuccess(),{NetBiosName:cdk().stringToCloudFormation(properties.netBiosName),SelfManagedActiveDirectoryConfiguration:convertCfnStorageVirtualMachineSelfManagedActiveDirectoryConfigurationPropertyToCloudFormation(properties.selfManagedActiveDirectoryConfiguration)}):properties}function CfnStorageVirtualMachineActiveDirectoryConfigurationPropertyFromCloudFormation(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("netBiosName","NetBiosName",properties.NetBiosName!=null?cfn_parse().FromCloudFormation.getString(properties.NetBiosName):void 0),ret.addPropertyResult("selfManagedActiveDirectoryConfiguration","SelfManagedActiveDirectoryConfiguration",properties.SelfManagedActiveDirectoryConfiguration!=null?CfnStorageVirtualMachineSelfManagedActiveDirectoryConfigurationPropertyFromCloudFormation(properties.SelfManagedActiveDirectoryConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnStorageVirtualMachinePropsValidator(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("activeDirectoryConfiguration",CfnStorageVirtualMachineActiveDirectoryConfigurationPropertyValidator)(properties.activeDirectoryConfiguration)),errors.collect(cdk().propertyValidator("fileSystemId",cdk().requiredValidator)(properties.fileSystemId)),errors.collect(cdk().propertyValidator("fileSystemId",cdk().validateString)(properties.fileSystemId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("rootVolumeSecurityStyle",cdk().validateString)(properties.rootVolumeSecurityStyle)),errors.collect(cdk().propertyValidator("svmAdminPassword",cdk().validateString)(properties.svmAdminPassword)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnStorageVirtualMachineProps"')}function convertCfnStorageVirtualMachinePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnStorageVirtualMachinePropsValidator(properties).assertSuccess(),{ActiveDirectoryConfiguration:convertCfnStorageVirtualMachineActiveDirectoryConfigurationPropertyToCloudFormation(properties.activeDirectoryConfiguration),FileSystemId:cdk().stringToCloudFormation(properties.fileSystemId),Name:cdk().stringToCloudFormation(properties.name),RootVolumeSecurityStyle:cdk().stringToCloudFormation(properties.rootVolumeSecurityStyle),SvmAdminPassword:cdk().stringToCloudFormation(properties.svmAdminPassword),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnStorageVirtualMachinePropsFromCloudFormation(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("activeDirectoryConfiguration","ActiveDirectoryConfiguration",properties.ActiveDirectoryConfiguration!=null?CfnStorageVirtualMachineActiveDirectoryConfigurationPropertyFromCloudFormation(properties.ActiveDirectoryConfiguration):void 0),ret.addPropertyResult("fileSystemId","FileSystemId",properties.FileSystemId!=null?cfn_parse().FromCloudFormation.getString(properties.FileSystemId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("rootVolumeSecurityStyle","RootVolumeSecurityStyle",properties.RootVolumeSecurityStyle!=null?cfn_parse().FromCloudFormation.getString(properties.RootVolumeSecurityStyle):void 0),ret.addPropertyResult("svmAdminPassword","SvmAdminPassword",properties.SvmAdminPassword!=null?cfn_parse().FromCloudFormation.getString(properties.SvmAdminPassword):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 CfnVolume extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_fsx.CfnVolume",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::FSx::Volume";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnVolumePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnVolume(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 isCfnVolume(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnVolume.CFN_RESOURCE_TYPE_NAME}_backupId;_name;_ontapConfiguration;_openZfsConfiguration;tags;_tagsRaw;_volumeType;cfnPropertyNames={backupId:"BackupId",name:"Name",ontapConfiguration:"OntapConfiguration",openZfsConfiguration:"OpenZFSConfiguration",tags:"Tags",volumeType:"VolumeType"};constructor(scope,id,props){super(scope,id,{type:CfnVolume.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_fsx_CfnVolumeProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnVolume),error}cdk().requireProperty(props,"name",this),this._backupId=props.backupId,this._name=props.name,this._ontapConfiguration=props.ontapConfiguration,this._openZfsConfiguration=props.openZfsConfiguration,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::FSx::Volume",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._volumeType=props.volumeType}get volumeRef(){return{volumeId:this.ref}}get backupId(){return this._backupId}set backupId(value){cdk().traceProperty(this.node,"BackupId"),this._backupId=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get ontapConfiguration(){return this._ontapConfiguration}set ontapConfiguration(value){cdk().traceProperty(this.node,"OntapConfiguration"),this._ontapConfiguration=value}get openZfsConfiguration(){return this._openZfsConfiguration}set openZfsConfiguration(value){cdk().traceProperty(this.node,"OpenZFSConfiguration"),this._openZfsConfiguration=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get volumeType(){return this._volumeType}set volumeType(value){cdk().traceProperty(this.node,"VolumeType"),this._volumeType=value}get attrResourceArn(){return cdk().Token.asString(this.getAtt("ResourceARN",cdk().ResolutionTypeHint.STRING))}get attrUuid(){return cdk().Token.asString(this.getAtt("UUID",cdk().ResolutionTypeHint.STRING))}get attrVolumeId(){return cdk().Token.asString(this.getAtt("VolumeId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{backupId:this._backupId,name:this._name,ontapConfiguration:this._ontapConfiguration,openZfsConfiguration:this._openZfsConfiguration,tags:this.tags.renderTags(),volumeType:this._volumeType}}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",CfnVolume.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnVolumePropsToCloudFormation(props)}}exports.CfnVolume=CfnVolume;function CfnVolumeClientConfigurationsPropertyValidator(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("clients",cdk().requiredValidator)(properties.clients)),errors.collect(cdk().propertyValidator("clients",cdk().validateString)(properties.clients)),errors.collect(cdk().propertyValidator("options",cdk().requiredValidator)(properties.options)),errors.collect(cdk().propertyValidator("options",cdk().listValidator(cdk().validateString))(properties.options)),errors.wrap('supplied properties not correct for "ClientConfigurationsProperty"')}function convertCfnVolumeClientConfigurationsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnVolumeClientConfigurationsPropertyValidator(properties).assertSuccess(),{Clients:cdk().stringToCloudFormation(properties.clients),Options:cdk().listMapper(cdk().stringToCloudFormation)(properties.options)}):properties}function CfnVolumeClientConfigurationsPropertyFromCloudFormation(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("clients","Clients",properties.Clients!=null?cfn_parse().FromCloudFormation.getString(properties.Clients):void 0),ret.addPropertyResult("options","Options",properties.Options!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Options):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnVolumeNfsExportsPropertyValidator(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("clientConfigurations",cdk().requiredValidator)(properties.clientConfigurations)),errors.collect(cdk().propertyValidator("clientConfigurations",cdk().listValidator(CfnVolumeClientConfigurationsPropertyValidator))(properties.clientConfigurations)),errors.wrap('supplied properties not correct for "NfsExportsProperty"')}function convertCfnVolumeNfsExportsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnVolumeNfsExportsPropertyValidator(properties).assertSuccess(),{ClientConfigurations:cdk().listMapper(convertCfnVolumeClientConfigurationsPropertyToCloudFormation)(properties.clientConfigurations)}):properties}function CfnVolumeNfsExportsPropertyFromCloudFormation(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("clientConfigurations","ClientConfigurations",properties.ClientConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnVolumeClientConfigurationsPropertyFromCloudFormation)(properties.ClientConfigurations):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnVolumeOriginSnapshotPropertyValidator(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("copyStrategy",cdk().requiredValidator)(properties.copyStrategy)),errors.collect(cdk().propertyValidator("copyStrategy",cdk().validateString)(properties.copyStrategy)),errors.collect(cdk().propertyValidator("snapshotArn",cdk().requiredValidator)(properties.snapshotArn)),errors.collect(cdk().propertyValidator("snapshotArn",cdk().validateString)(properties.snapshotArn)),errors.wrap('supplied properties not correct for "OriginSnapshotProperty"')}function convertCfnVolumeOriginSnapshotPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnVolumeOriginSnapshotPropertyValidator(properties).assertSuccess(),{CopyStrategy:cdk().stringToCloudFormation(properties.copyStrategy),SnapshotARN:cdk().stringToCloudFormation(properties.snapshotArn)}):properties}function CfnVolumeOriginSnapshotPropertyFromCloudFormation(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("copyStrategy","CopyStrategy",properties.CopyStrategy!=null?cfn_parse().FromCloudFormation.getString(properties.CopyStrategy):void 0),ret.addPropertyResult("snapshotArn","SnapshotARN",properties.SnapshotARN!=null?cfn_parse().FromCloudFormation.getString(properties.SnapshotARN):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnVolumeUserAndGroupQuotasPropertyValidator(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("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateNumber)(properties.id)),errors.collect(cdk().propertyValidator("storageCapacityQuotaGiB",cdk().requiredValidator)(properties.storageCapacityQuotaGiB)),errors.collect(cdk().propertyValidator("storageCapacityQuotaGiB",cdk().validateNumber)(properties.storageCapacityQuotaGiB)),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 "UserAndGroupQuotasProperty"')}function convertCfnVolumeUserAndGroupQuotasPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnVolumeUserAndGroupQuotasPropertyValidator(properties).assertSuccess(),{Id:cdk().numberToCloudFormation(properties.id),StorageCapacityQuotaGiB:cdk().numberToCloudFormation(properties.storageCapacityQuotaGiB),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnVolumeUserAndGroupQuotasPropertyFromCloudFormation(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("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getNumber(properties.Id):void 0),ret.addPropertyResult("storageCapacityQuotaGiB","StorageCapacityQuotaGiB",properties.StorageCapacityQuotaGiB!=null?cfn_parse().FromCloudFormation.getNumber(properties.StorageCapacityQuotaGiB):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnVolumeOpenZFSConfigurationPropertyValidator(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("copyTagsToSnapshots",cdk().validateBoolean)(properties.copyTagsToSnapshots)),errors.collect(cdk().propertyValidator("dataCompressionType",cdk().validateString)(properties.dataCompressionType)),errors.collect(cdk().propertyValidator("nfsExports",cdk().listValidator(CfnVolumeNfsExportsPropertyValidator))(properties.nfsExports)),errors.collect(cdk().propertyValidator("options",cdk().listValidator(cdk().validateString))(properties.options)),errors.collect(cdk().propertyValidator("originSnapshot",CfnVolumeOriginSnapshotPropertyValidator)(properties.originSnapshot)),errors.collect(cdk().propertyValidator("parentVolumeId",cdk().requiredValidator)(properties.parentVolumeId)),errors.collect(cdk().propertyValidator("parentVolumeId",cdk().validateString)(properties.parentVolumeId)),errors.collect(cdk().propertyValidator("readOnly",cdk().validateBoolean)(properties.readOnly)),errors.collect(cdk().propertyValidator("recordSizeKiB",cdk().validateNumber)(properties.recordSizeKiB)),errors.collect(cdk().propertyValidator("storageCapacityQuotaGiB",cdk().validateNumber)(properties.storageCapacityQuotaGiB)),errors.collect(cdk().propertyValidator("storageCapacityReservationGiB",cdk().validateNumber)(properties.storageCapacityReservationGiB)),errors.collect(cdk().propertyValidator("userAndGroupQuotas",cdk().listValidator(CfnVolumeUserAndGroupQuotasPropertyValidator))(properties.userAndGroupQuotas)),errors.wrap('supplied properties not correct for "OpenZFSConfigurationProperty"')}function convertCfnVolumeOpenZFSConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnVolumeOpenZFSConfigurationPropertyValidator(properties).assertSuccess(),{CopyTagsToSnapshots:cdk().booleanToCloudFormation(properties.copyTagsToSnapshots),DataCompressionType:cdk().stringToCloudFormation(properties.dataCompressionType),NfsExports:cdk().listMapper(convertCfnVolumeNfsExportsPropertyToCloudFormation)(properties.nfsExports),Options:cdk().listMapper(cdk().stringToCloudFormation)(properties.options),OriginSnapshot:convertCfnVolumeOriginSnapshotPropertyToCloudFormation(properties.originSnapshot),ParentVolumeId:cdk().stringToCloudFormation(properties.parentVolumeId),ReadOnly:cdk().booleanToCloudFormation(properties.readOnly),RecordSizeKiB:cdk().numberToCloudFormation(properties.recordSizeKiB),StorageCapacityQuotaGiB:cdk().numberToCloudFormation(properties.storageCapacityQuotaGiB),StorageCapacityReservationGiB:cdk().numberToCloudFormation(properties.storageCapacityReservationGiB),UserAndGroupQuotas:cdk().listMapper(convertCfnVolumeUserAndGroupQuotasPropertyToCloudFormation)(properties.userAndGroupQuotas)}):properties}function CfnVolumeOpenZFSConfigurationPropertyFromCloudFormation(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("copyTagsToSnapshots","CopyTagsToSnapshots",properties.CopyTagsToSnapshots!=null?cfn_parse().FromCloudFormation.getBoolean(properties.CopyTagsToSnapshots):void 0),ret.addPropertyResult("dataCompressionType","DataCompressionType",properties.DataCompressionType!=null?cfn_parse().FromCloudFormation.getString(properties.DataCompressionType):void 0),ret.addPropertyResult("nfsExports","NfsExports",properties.NfsExports!=null?cfn_parse().FromCloudFormation.getArray(CfnVolumeNfsExportsPropertyFromCloudFormation)(properties.NfsExports):void 0),ret.addPropertyResult("options","Options",properties.Options!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Options):void 0),ret.addPropertyResult("originSnapshot","OriginSnapshot",properties.OriginSnapshot!=null?CfnVolumeOriginSnapshotPropertyFromCloudFormation(properties.OriginSnapshot):void 0),ret.addPropertyResult("parentVolumeId","ParentVolumeId",properties.ParentVolumeId!=null?cfn_parse().FromCloudFormation.getString(properties.ParentVolumeId):void 0),ret.addPropertyResult("readOnly","ReadOnly",properties.ReadOnly!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ReadOnly):void 0),ret.addPropertyResult("recordSizeKiB","RecordSizeKiB",properties.RecordSizeKiB!=null?cfn_parse().FromCloudFormation.getNumber(properties.RecordSizeKiB):void 0),ret.addPropertyResult("storageCapacityQuotaGiB","StorageCapacityQuotaGiB",properties.StorageCapacityQuotaGiB!=null?cfn_parse().FromCloudFormation.getNumber(properties.StorageCapacityQuotaGiB):void 0),ret.addPropertyResult("storageCapacityReservationGiB","StorageCapacityReservationGiB",properties.StorageCapacityReservationGiB!=null?cfn_parse().FromCloudFormation.getNumber(properties.StorageCapacityReservationGiB):void 0),ret.addPropertyResult("userAndGroupQuotas","UserAndGroupQuotas",properties.UserAndGroupQuotas!=null?cfn_parse().FromCloudFormation.getArray(CfnVolumeUserAndGroupQuotasPropertyFromCloudFormation)(properties.UserAndGroupQuotas):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnVolumeTieringPolicyPropertyValidator(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("coolingPeriod",cdk().validateNumber)(properties.coolingPeriod)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "TieringPolicyProperty"')}function convertCfnVolumeTieringPolicyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnVolumeTieringPolicyPropertyValidator(properties).assertSuccess(),{CoolingPeriod:cdk().numberToCloudFormation(properties.coolingPeriod),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnVolumeTieringPolicyPropertyFromCloudFormation(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("coolingPeriod","CoolingPeriod",properties.CoolingPeriod!=null?cfn_parse().FromCloudFormation.getNumber(properties.CoolingPeriod):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnVolumeAutocommitPeriodPropertyValidator(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("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "AutocommitPeriodProperty"')}function convertCfnVolumeAutocommitPeriodPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnVolumeAutocommitPeriodPropertyValidator(properties).assertSuccess(),{Type:cdk().stringToCloudFormation(properties.type),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnVolumeAutocommitPeriodPropertyFromCloudFormation(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("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnVolumeRetentionPeriodPropertyValidator(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("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("value",cdk().validateNumber)(properties.value)),errors.wrap('supplied properties not correct for "RetentionPeriodProperty"')}function convertCfnVolumeRetentionPeriodPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnVolumeRetentionPeriodPropertyValidator(properties).assertSuccess(),{Type:cdk().stringToCloudFormation(properties.type),Value:cdk().numberToCloudFormation(properties.value)}):properties}function CfnVolumeRetentionPeriodPropertyFromCloudFormation(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("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getNumber(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnVolumeSnaplockRetentionPeriodPropertyValidator(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("defaultRetention",cdk().requiredValidator)(properties.defaultRetention)),errors.collect(cdk().propertyValidator("defaultRetention",CfnVolumeRetentionPeriodPropertyValidator)(properties.defaultRetention)),errors.collect(cdk().propertyValidator("maximumRetention",cdk().requiredValidator)(properties.maximumRetention)),errors.collect(cdk().propertyValidator("maximumRetention",CfnVolumeRetentionPeriodPropertyValidator)(properties.maximumRetention)),errors.collect(cdk().propertyValidator("minimumRetention",cdk().requiredValidator)(properties.minimumRetention)),errors.collect(cdk().propertyValidator("minimumRetention",CfnVolumeRetentionPeriodPropertyValidator)(properties.minimumRetention)),errors.wrap('supplied properties not correct for "SnaplockRetentionPeriodProperty"')}function convertCfnVolumeSnaplockRetentionPeriodPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnVolumeSnaplockRetentionPeriodPropertyValidator(properties).assertSuccess(),{DefaultRetention:convertCfnVolumeRetentionPeriodPropertyToCloudFormation(properties.defaultRetention),MaximumRetention:convertCfnVolumeRetentionPeriodPropertyToCloudFormation(properties.maximumRetention),MinimumRetention:convertCfnVolumeRetentionPeriodPropertyToCloudFormation(properties.minimumRetention)}):properties}function CfnVolumeSnaplockRetentionPeriodPropertyFromCloudFormation(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("defaultRetention","DefaultRetention",properties.DefaultRetention!=null?CfnVolumeRetentionPeriodPropertyFromCloudFormation(properties.DefaultRetention):void 0),ret.addPropertyResult("maximumRetention","MaximumRetention",properties.MaximumRetention!=null?CfnVolumeRetentionPeriodPropertyFromCloudFormation(properties.MaximumRetention):void 0),ret.addPropertyResult("minimumRetention","MinimumRetention",properties.MinimumRetention!=null?CfnVolumeRetentionPeriodPropertyFromCloudFormation(properties.MinimumRetention):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnVolumeSnaplockConfigurationPropertyValidator(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("auditLogVolume",cdk().validateString)(properties.auditLogVolume)),errors.collect(cdk().propertyValidator("autocommitPeriod",CfnVolumeAutocommitPeriodPropertyValidator)(properties.autocommitPeriod)),errors.collect(cdk().propertyValidator("privilegedDelete",cdk().validateString)(properties.privilegedDelete)),errors.collect(cdk().propertyValidator("retentionPeriod",CfnVolumeSnaplockRetentionPeriodPropertyValidator)(properties.retentionPeriod)),errors.collect(cdk().propertyValidator("snaplockType",cdk().requiredValidator)(properties.snaplockType)),errors.collect(cdk().propertyValidator("snaplockType",cdk().validateString)(properties.snaplockType)),errors.collect(cdk().propertyValidator("volumeAppendModeEnabled",cdk().validateString)(properties.volumeAppendModeEnabled)),errors.wrap('supplied properties not correct for "SnaplockConfigurationProperty"')}function convertCfnVolumeSnaplockConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnVolumeSnaplockConfigurationPropertyValidator(properties).assertSuccess(),{AuditLogVolume:cdk().stringToCloudFormation(properties.auditLogVolume),AutocommitPeriod:convertCfnVolumeAutocommitPeriodPropertyToCloudFormation(properties.autocommitPeriod),PrivilegedDelete:cdk().stringToCloudFormation(properties.privilegedDelete),RetentionPeriod:convertCfnVolumeSnaplockRetentionPeriodPropertyToCloudFormation(properties.retentionPeriod),SnaplockType:cdk().stringToCloudFormation(properties.snaplockType),VolumeAppendModeEnabled:cdk().stringToCloudFormation(properties.volumeAppendModeEnabled)}):properties}function CfnVolumeSnaplockConfigurationPropertyFromCloudFormation(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("auditLogVolume","AuditLogVolume",properties.AuditLogVolume!=null?cfn_parse().FromCloudFormation.getString(properties.AuditLogVolume):void 0),ret.addPropertyResult("autocommitPeriod","AutocommitPeriod",properties.AutocommitPeriod!=null?CfnVolumeAutocommitPeriodPropertyFromCloudFormation(properties.AutocommitPeriod):void 0),ret.addPropertyResult("privilegedDelete","PrivilegedDelete",properties.PrivilegedDelete!=null?cfn_parse().FromCloudFormation.getString(properties.PrivilegedDelete):void 0),ret.addPropertyResult("retentionPeriod","RetentionPeriod",properties.RetentionPeriod!=null?CfnVolumeSnaplockRetentionPeriodPropertyFromCloudFormation(properties.RetentionPeriod):void 0),ret.addPropertyResult("snaplockType","SnaplockType",properties.SnaplockType!=null?cfn_parse().FromCloudFormation.getString(properties.SnaplockType):void 0),ret.addPropertyResult("volumeAppendModeEnabled","VolumeAppendModeEnabled",properties.VolumeAppendModeEnabled!=null?cfn_parse().FromCloudFormation.getString(properties.VolumeAppendModeEnabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnVolumeAggregateConfigurationPropertyValidator(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("aggregates",cdk().listValidator(cdk().validateString))(properties.aggregates)),errors.collect(cdk().propertyValidator("constituentsPerAggregate",cdk().validateNumber)(properties.constituentsPerAggregate)),errors.wrap('supplied properties not correct for "AggregateConfigurationProperty"')}function convertCfnVolumeAggregateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnVolumeAggregateConfigurationPropertyValidator(properties).assertSuccess(),{Aggregates:cdk().listMapper(cdk().stringToCloudFormation)(properties.aggregates),ConstituentsPerAggregate:cdk().numberToCloudFormation(properties.constituentsPerAggregate)}):properties}function CfnVolumeAggregateConfigurationPropertyFromCloudFormation(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("aggregates","Aggregates",properties.Aggregates!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Aggregates):void 0),ret.addPropertyResult("constituentsPerAggregate","ConstituentsPerAggregate",properties.ConstituentsPerAggregate!=null?cfn_parse().FromCloudFormation.getNumber(properties.ConstituentsPerAggregate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnVolumeOntapConfigurationPropertyValidator(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("aggregateConfiguration",CfnVolumeAggregateConfigurationPropertyValidator)(properties.aggregateConfiguration)),errors.collect(cdk().propertyValidator("copyTagsToBackups",cdk().validateString)(properties.copyTagsToBackups)),errors.collect(cdk().propertyValidator("junctionPath",cdk().validateString)(properties.junctionPath)),errors.collect(cdk().propertyValidator("ontapVolumeType",cdk().validateString)(properties.ontapVolumeType)),errors.collect(cdk().propertyValidator("securityStyle",cdk().validateString)(properties.securityStyle)),errors.collect(cdk().propertyValidator("sizeInBytes",cdk().validateString)(properties.sizeInBytes)),errors.collect(cdk().propertyValidator("sizeInMegabytes",cdk().validateString)(properties.sizeInMegabytes)),errors.collect(cdk().propertyValidator("snaplockConfiguration",CfnVolumeSnaplockConfigurationPropertyValidator)(properties.snaplockConfiguration)),errors.collect(cdk().propertyValidator("snapshotPolicy",cdk().validateString)(properties.snapshotPolicy)),errors.collect(cdk().propertyValidator("storageEfficiencyEnabled",cdk().validateString)(properties.storageEfficiencyEnabled)),errors.collect(cdk().propertyValidator("storageVirtualMachineId",cdk().requiredValidator)(properties.storageVirtualMachineId)),errors.collect(cdk().propertyValidator("storageVirtualMachineId",cdk().validateString)(properties.storageVirtualMachineId)),errors.collect(cdk().propertyValidator("tieringPolicy",CfnVolumeTieringPolicyPropertyValidator)(properties.tieringPolicy)),errors.collect(cdk().propertyValidator("volumeStyle",cdk().validateString)(properties.volumeStyle)),errors.wrap('supplied properties not correct for "OntapConfigurationProperty"')}function convertCfnVolumeOntapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnVolumeOntapConfigurationPropertyValidator(properties).assertSuccess(),{AggregateConfiguration:convertCfnVolumeAggregateConfigurationPropertyToCloudFormation(properties.aggregateConfiguration),CopyTagsToBackups:cdk().stringToCloudFormation(properties.copyTagsToBackups),JunctionPath:cdk().stringToCloudFormation(properties.junctionPath),OntapVolumeType:cdk().stringToCloudFormation(properties.ontapVolumeType),SecurityStyle:cdk().stringToCloudFormation(properties.securityStyle),SizeInBytes:cdk().stringToCloudFormation(properties.sizeInBytes),SizeInMegabytes:cdk().stringToCloudFormation(properties.sizeInMegabytes),SnaplockConfiguration:convertCfnVolumeSnaplockConfigurationPropertyToCloudFormation(properties.snaplockConfiguration),SnapshotPolicy:cdk().stringToCloudFormation(properties.snapshotPolicy),StorageEfficiencyEnabled:cdk().stringToCloudFormation(properties.storageEfficiencyEnabled),StorageVirtualMachineId:cdk().stringToCloudFormation(properties.storageVirtualMachineId),TieringPolicy:convertCfnVolumeTieringPolicyPropertyToCloudFormation(properties.tieringPolicy),VolumeStyle:cdk().stringToCloudFormation(properties.volumeStyle)}):properties}function CfnVolumeOntapConfigurationPropertyFromCloudFormation(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("aggregateConfiguration","AggregateConfiguration",properties.AggregateConfiguration!=null?CfnVolumeAggregateConfigurationPropertyFromCloudFormation(properties.AggregateConfiguration):void 0),ret.addPropertyResult("copyTagsToBackups","CopyTagsToBackups",properties.CopyTagsToBackups!=null?cfn_parse().FromCloudFormation.getString(properties.CopyTagsToBackups):void 0),ret.addPropertyResult("junctionPath","JunctionPath",properties.JunctionPath!=null?cfn_parse().FromCloudFormation.getString(properties.JunctionPath):void 0),ret.addPropertyResult("ontapVolumeType","OntapVolumeType",properties.OntapVolumeType!=null?cfn_parse().FromCloudFormation.getString(properties.OntapVolumeType):void 0),ret.addPropertyResult("securityStyle","SecurityStyle",properties.SecurityStyle!=null?cfn_parse().FromCloudFormation.getString(properties.SecurityStyle):void 0),ret.addPropertyResult("sizeInBytes","SizeInBytes",properties.SizeInBytes!=null?cfn_parse().FromCloudFormation.getString(properties.SizeInBytes):void 0),ret.addPropertyResult("sizeInMegabytes","SizeInMegabytes",properties.SizeInMegabytes!=null?cfn_parse().FromCloudFormation.getString(properties.SizeInMegabytes):void 0),ret.addPropertyResult("snaplockConfiguration","SnaplockConfiguration",properties.SnaplockConfiguration!=null?CfnVolumeSnaplockConfigurationPropertyFromCloudFormation(properties.SnaplockConfiguration):void 0),ret.addPropertyResult("snapshotPolicy","SnapshotPolicy",properties.SnapshotPolicy!=null?cfn_parse().FromCloudFormation.getString(properties.SnapshotPolicy):void 0),ret.addPropertyResult("storageEfficiencyEnabled","StorageEfficiencyEnabled",properties.StorageEfficiencyEnabled!=null?cfn_parse().FromCloudFormation.getString(properties.StorageEfficiencyEnabled):void 0),ret.addPropertyResult("storageVirtualMachineId","StorageVirtualMachineId",properties.StorageVirtualMachineId!=null?cfn_parse().FromCloudFormation.getString(properties.StorageVirtualMachineId):void 0),ret.addPropertyResult("tieringPolicy","TieringPolicy",properties.TieringPolicy!=null?CfnVolumeTieringPolicyPropertyFromCloudFormation(properties.TieringPolicy):void 0),ret.addPropertyResult("volumeStyle","VolumeStyle",properties.VolumeStyle!=null?cfn_parse().FromCloudFormation.getString(properties.VolumeStyle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnVolumePropsValidator(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("backupId",cdk().validateString)(properties.backupId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("ontapConfiguration",CfnVolumeOntapConfigurationPropertyValidator)(properties.ontapConfiguration)),errors.collect(cdk().propertyValidator("openZfsConfiguration",CfnVolumeOpenZFSConfigurationPropertyValidator)(properties.openZfsConfiguration)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("volumeType",cdk().validateString)(properties.volumeType)),errors.wrap('supplied properties not correct for "CfnVolumeProps"')}function convertCfnVolumePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnVolumePropsValidator(properties).assertSuccess(),{BackupId:cdk().stringToCloudFormation(properties.backupId),Name:cdk().stringToCloudFormation(properties.name),OntapConfiguration:convertCfnVolumeOntapConfigurationPropertyToCloudFormation(properties.ontapConfiguration),OpenZFSConfiguration:convertCfnVolumeOpenZFSConfigurationPropertyToCloudFormation(properties.openZfsConfiguration),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),VolumeType:cdk().stringToCloudFormation(properties.volumeType)}):properties}function CfnVolumePropsFromCloudFormation(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("backupId","BackupId",properties.BackupId!=null?cfn_parse().FromCloudFormation.getString(properties.BackupId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("ontapConfiguration","OntapConfiguration",properties.OntapConfiguration!=null?CfnVolumeOntapConfigurationPropertyFromCloudFormation(properties.OntapConfiguration):void 0),ret.addPropertyResult("openZfsConfiguration","OpenZFSConfiguration",properties.OpenZFSConfiguration!=null?CfnVolumeOpenZFSConfigurationPropertyFromCloudFormation(properties.OpenZFSConfiguration):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("volumeType","VolumeType",properties.VolumeType!=null?cfn_parse().FromCloudFormation.getString(properties.VolumeType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnS3AccessPointAttachment extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_fsx.CfnS3AccessPointAttachment",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::FSx::S3AccessPointAttachment";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnS3AccessPointAttachmentPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnS3AccessPointAttachment(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 isCfnS3AccessPointAttachment(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnS3AccessPointAttachment.CFN_RESOURCE_TYPE_NAME}_name;_ontapConfiguration;_openZfsConfiguration;_s3AccessPoint;_type;cfnPropertyNames={name:"Name",ontapConfiguration:"OntapConfiguration",openZfsConfiguration:"OpenZFSConfiguration",s3AccessPoint:"S3AccessPoint",type:"Type"};constructor(scope,id,props){super(scope,id,{type:CfnS3AccessPointAttachment.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_fsx_CfnS3AccessPointAttachmentProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnS3AccessPointAttachment),error}cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"type",this),this._name=props.name,this._ontapConfiguration=props.ontapConfiguration,this._openZfsConfiguration=props.openZfsConfiguration,this._s3AccessPoint=props.s3AccessPoint,this._type=props.type}get s3AccessPointAttachmentRef(){return{s3AccessPointAttachmentName:this.ref}}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get ontapConfiguration(){return this._ontapConfiguration}set ontapConfiguration(value){cdk().traceProperty(this.node,"OntapConfiguration"),this._ontapConfiguration=value}get openZfsConfiguration(){return this._openZfsConfiguration}set openZfsConfiguration(value){cdk().traceProperty(this.node,"OpenZFSConfiguration"),this._openZfsConfiguration=value}get s3AccessPoint(){return this._s3AccessPoint}set s3AccessPoint(value){cdk().traceProperty(this.node,"S3AccessPoint"),this._s3AccessPoint=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get attrLifecycle(){return cdk().Token.asString(this.getAtt("Lifecycle",cdk().ResolutionTypeHint.STRING))}get attrS3AccessPointAlias(){return cdk().Token.asString(this.getAtt("S3AccessPoint.Alias",cdk().ResolutionTypeHint.STRING))}get attrS3AccessPointResourceArn(){return cdk().Token.asString(this.getAtt("S3AccessPoint.ResourceARN",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{name:this._name,ontapConfiguration:this._ontapConfiguration,openZfsConfiguration:this._openZfsConfiguration,s3AccessPoint:this._s3AccessPoint,type:this._type}}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",CfnS3AccessPointAttachment.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnS3AccessPointAttachmentPropsToCloudFormation(props)}}exports.CfnS3AccessPointAttachment=CfnS3AccessPointAttachment;function CfnS3AccessPointAttachmentOntapUnixFileSystemUserPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "OntapUnixFileSystemUserProperty"')}function convertCfnS3AccessPointAttachmentOntapUnixFileSystemUserPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnS3AccessPointAttachmentOntapUnixFileSystemUserPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnS3AccessPointAttachmentOntapUnixFileSystemUserPropertyFromCloudFormation(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.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnS3AccessPointAttachmentOntapWindowsFileSystemUserPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "OntapWindowsFileSystemUserProperty"')}function convertCfnS3AccessPointAttachmentOntapWindowsFileSystemUserPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnS3AccessPointAttachmentOntapWindowsFileSystemUserPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnS3AccessPointAttachmentOntapWindowsFileSystemUserPropertyFromCloudFormation(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.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnS3AccessPointAttachmentOntapFileSystemIdentityPropertyValidator(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("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("unixUser",CfnS3AccessPointAttachmentOntapUnixFileSystemUserPropertyValidator)(properties.unixUser)),errors.collect(cdk().propertyValidator("windowsUser",CfnS3AccessPointAttachmentOntapWindowsFileSystemUserPropertyValidator)(properties.windowsUser)),errors.wrap('supplied properties not correct for "OntapFileSystemIdentityProperty"')}function convertCfnS3AccessPointAttachmentOntapFileSystemIdentityPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnS3AccessPointAttachmentOntapFileSystemIdentityPropertyValidator(properties).assertSuccess(),{Type:cdk().stringToCloudFormation(properties.type),UnixUser:convertCfnS3AccessPointAttachmentOntapUnixFileSystemUserPropertyToCloudFormation(properties.unixUser),WindowsUser:convertCfnS3AccessPointAttachmentOntapWindowsFileSystemUserPropertyToCloudFormation(properties.windowsUser)}):properties}function CfnS3AccessPointAttachmentOntapFileSystemIdentityPropertyFromCloudFormation(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("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("unixUser","UnixUser",properties.UnixUser!=null?CfnS3AccessPointAttachmentOntapUnixFileSystemUserPropertyFromCloudFormation(properties.UnixUser):void 0),ret.addPropertyResult("windowsUser","WindowsUser",properties.WindowsUser!=null?CfnS3AccessPointAttachmentOntapWindowsFileSystemUserPropertyFromCloudFormation(properties.WindowsUser):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnS3AccessPointAttachmentS3AccessPointOntapConfigurationPropertyValidator(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("fileSystemIdentity",cdk().requiredValidator)(properties.fileSystemIdentity)),errors.collect(cdk().propertyValidator("fileSystemIdentity",CfnS3AccessPointAttachmentOntapFileSystemIdentityPropertyValidator)(properties.fileSystemIdentity)),errors.collect(cdk().propertyValidator("volumeId",cdk().requiredValidator)(properties.volumeId)),errors.collect(cdk().propertyValidator("volumeId",cdk().validateString)(properties.volumeId)),errors.wrap('supplied properties not correct for "S3AccessPointOntapConfigurationProperty"')}function convertCfnS3AccessPointAttachmentS3AccessPointOntapConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnS3AccessPointAttachmentS3AccessPointOntapConfigurationPropertyValidator(properties).assertSuccess(),{FileSystemIdentity:convertCfnS3AccessPointAttachmentOntapFileSystemIdentityPropertyToCloudFormation(properties.fileSystemIdentity),VolumeId:cdk().stringToCloudFormation(properties.volumeId)}):properties}function CfnS3AccessPointAttachmentS3AccessPointOntapConfigurationPropertyFromCloudFormation(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("fileSystemIdentity","FileSystemIdentity",properties.FileSystemIdentity!=null?CfnS3AccessPointAttachmentOntapFileSystemIdentityPropertyFromCloudFormation(properties.FileSystemIdentity):void 0),ret.addPropertyResult("volumeId","VolumeId",properties.VolumeId!=null?cfn_parse().FromCloudFormation.getString(properties.VolumeId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnS3AccessPointAttachmentFileSystemGIDPropertyValidator(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.wrap('supplied properties not correct for "FileSystemGIDProperty"')}function convertCfnS3AccessPointAttachmentFileSystemGIDPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnS3AccessPointAttachmentFileSystemGIDPropertyValidator(properties).assertSuccess(),{Gid:cdk().numberToCloudFormation(properties.gid)}):properties}function CfnS3AccessPointAttachmentFileSystemGIDPropertyFromCloudFormation(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.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnS3AccessPointAttachmentOpenZFSPosixFileSystemUserPropertyValidator(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(CfnS3AccessPointAttachmentFileSystemGIDPropertyValidator))(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 "OpenZFSPosixFileSystemUserProperty"')}function convertCfnS3AccessPointAttachmentOpenZFSPosixFileSystemUserPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnS3AccessPointAttachmentOpenZFSPosixFileSystemUserPropertyValidator(properties).assertSuccess(),{Gid:cdk().numberToCloudFormation(properties.gid),SecondaryGids:cdk().listMapper(convertCfnS3AccessPointAttachmentFileSystemGIDPropertyToCloudFormation)(properties.secondaryGids),Uid:cdk().numberToCloudFormation(properties.uid)}):properties}function CfnS3AccessPointAttachmentOpenZFSPosixFileSystemUserPropertyFromCloudFormation(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(CfnS3AccessPointAttachmentFileSystemGIDPropertyFromCloudFormation)(properties.SecondaryGids):void 0),ret.addPropertyResult("uid","Uid",properties.Uid!=null?cfn_parse().FromCloudFormation.getNumber(properties.Uid):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnS3AccessPointAttachmentOpenZFSFileSystemIdentityPropertyValidator(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("posixUser",cdk().requiredValidator)(properties.posixUser)),errors.collect(cdk().propertyValidator("posixUser",CfnS3AccessPointAttachmentOpenZFSPosixFileSystemUserPropertyValidator)(properties.posixUser)),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 "OpenZFSFileSystemIdentityProperty"')}function convertCfnS3AccessPointAttachmentOpenZFSFileSystemIdentityPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnS3AccessPointAttachmentOpenZFSFileSystemIdentityPropertyValidator(properties).assertSuccess(),{PosixUser:convertCfnS3AccessPointAttachmentOpenZFSPosixFileSystemUserPropertyToCloudFormation(properties.posixUser),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnS3AccessPointAttachmentOpenZFSFileSystemIdentityPropertyFromCloudFormation(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("posixUser","PosixUser",properties.PosixUser!=null?CfnS3AccessPointAttachmentOpenZFSPosixFileSystemUserPropertyFromCloudFormation(properties.PosixUser):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnS3AccessPointAttachmentS3AccessPointOpenZFSConfigurationPropertyValidator(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("fileSystemIdentity",cdk().requiredValidator)(properties.fileSystemIdentity)),errors.collect(cdk().propertyValidator("fileSystemIdentity",CfnS3AccessPointAttachmentOpenZFSFileSystemIdentityPropertyValidator)(properties.fileSystemIdentity)),errors.collect(cdk().propertyValidator("volumeId",cdk().requiredValidator)(properties.volumeId)),errors.collect(cdk().propertyValidator("volumeId",cdk().validateString)(properties.volumeId)),errors.wrap('supplied properties not correct for "S3AccessPointOpenZFSConfigurationProperty"')}function convertCfnS3AccessPointAttachmentS3AccessPointOpenZFSConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnS3AccessPointAttachmentS3AccessPointOpenZFSConfigurationPropertyValidator(properties).assertSuccess(),{FileSystemIdentity:convertCfnS3AccessPointAttachmentOpenZFSFileSystemIdentityPropertyToCloudFormation(properties.fileSystemIdentity),VolumeId:cdk().stringToCloudFormation(properties.volumeId)}):properties}function CfnS3AccessPointAttachmentS3AccessPointOpenZFSConfigurationPropertyFromCloudFormation(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("fileSystemIdentity","FileSystemIdentity",properties.FileSystemIdentity!=null?CfnS3AccessPointAttachmentOpenZFSFileSystemIdentityPropertyFromCloudFormation(properties.FileSystemIdentity):void 0),ret.addPropertyResult("volumeId","VolumeId",properties.VolumeId!=null?cfn_parse().FromCloudFormation.getString(properties.VolumeId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnS3AccessPointAttachmentS3AccessPointVpcConfigurationPropertyValidator(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("vpcId",cdk().requiredValidator)(properties.vpcId)),errors.collect(cdk().propertyValidator("vpcId",cdk().validateString)(properties.vpcId)),errors.wrap('supplied properties not correct for "S3AccessPointVpcConfigurationProperty"')}function convertCfnS3AccessPointAttachmentS3AccessPointVpcConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnS3AccessPointAttachmentS3AccessPointVpcConfigurationPropertyValidator(properties).assertSuccess(),{VpcId:cdk().stringToCloudFormation(properties.vpcId)}):properties}function CfnS3AccessPointAttachmentS3AccessPointVpcConfigurationPropertyFromCloudFormation(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("vpcId","VpcId",properties.VpcId!=null?cfn_parse().FromCloudFormation.getString(properties.VpcId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnS3AccessPointAttachmentS3AccessPointPropertyValidator(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("alias",cdk().validateString)(properties.alias)),errors.collect(cdk().propertyValidator("policy",cdk().unionValidator(cdk().validateString,cdk().validateObject))(properties.policy)),errors.collect(cdk().propertyValidator("resourceArn",cdk().validateString)(properties.resourceArn)),errors.collect(cdk().propertyValidator("vpcConfiguration",CfnS3AccessPointAttachmentS3AccessPointVpcConfigurationPropertyValidator)(properties.vpcConfiguration)),errors.wrap('supplied properties not correct for "S3AccessPointProperty"')}function convertCfnS3AccessPointAttachmentS3AccessPointPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnS3AccessPointAttachmentS3AccessPointPropertyValidator(properties).assertSuccess(),{Alias:cdk().stringToCloudFormation(properties.alias),Policy:cdk().unionMapper([cdk().validateString,cdk().validateObject],[cdk().stringToCloudFormation,cdk().objectToCloudFormation])(properties.policy),ResourceARN:cdk().stringToCloudFormation(properties.resourceArn),VpcConfiguration:convertCfnS3AccessPointAttachmentS3AccessPointVpcConfigurationPropertyToCloudFormation(properties.vpcConfiguration)}):properties}function CfnS3AccessPointAttachmentS3AccessPointPropertyFromCloudFormation(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("alias","Alias",properties.Alias!=null?cfn_parse().FromCloudFormation.getString(properties.Alias):void 0),ret.addPropertyResult("policy","Policy",properties.Policy!=null?cfn_parse().FromCloudFormation.getTypeUnion([cdk().validateString,cdk().validateObject],[cfn_parse().FromCloudFormation.getString,cfn_parse().FromCloudFormation.getAny])(properties.Policy):void 0),ret.addPropertyResult("resourceArn","ResourceARN",properties.ResourceARN!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceARN):void 0),ret.addPropertyResult("vpcConfiguration","VpcConfiguration",properties.VpcConfiguration!=null?CfnS3AccessPointAttachmentS3AccessPointVpcConfigurationPropertyFromCloudFormation(properties.VpcConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnS3AccessPointAttachmentPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("ontapConfiguration",CfnS3AccessPointAttachmentS3AccessPointOntapConfigurationPropertyValidator)(properties.ontapConfiguration)),errors.collect(cdk().propertyValidator("openZfsConfiguration",CfnS3AccessPointAttachmentS3AccessPointOpenZFSConfigurationPropertyValidator)(properties.openZfsConfiguration)),errors.collect(cdk().propertyValidator("s3AccessPoint",CfnS3AccessPointAttachmentS3AccessPointPropertyValidator)(properties.s3AccessPoint)),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 "CfnS3AccessPointAttachmentProps"')}function convertCfnS3AccessPointAttachmentPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnS3AccessPointAttachmentPropsValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),OntapConfiguration:convertCfnS3AccessPointAttachmentS3AccessPointOntapConfigurationPropertyToCloudFormation(properties.ontapConfiguration),OpenZFSConfiguration:convertCfnS3AccessPointAttachmentS3AccessPointOpenZFSConfigurationPropertyToCloudFormation(properties.openZfsConfiguration),S3AccessPoint:convertCfnS3AccessPointAttachmentS3AccessPointPropertyToCloudFormation(properties.s3AccessPoint),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnS3AccessPointAttachmentPropsFromCloudFormation(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("ontapConfiguration","OntapConfiguration",properties.OntapConfiguration!=null?CfnS3AccessPointAttachmentS3AccessPointOntapConfigurationPropertyFromCloudFormation(properties.OntapConfiguration):void 0),ret.addPropertyResult("openZfsConfiguration","OpenZFSConfiguration",properties.OpenZFSConfiguration!=null?CfnS3AccessPointAttachmentS3AccessPointOpenZFSConfigurationPropertyFromCloudFormation(properties.OpenZFSConfiguration):void 0),ret.addPropertyResult("s3AccessPoint","S3AccessPoint",properties.S3AccessPoint!=null?CfnS3AccessPointAttachmentS3AccessPointPropertyFromCloudFormation(properties.S3AccessPoint):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}
|