aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
2 lines (1 loc) • 29.6 kB
JavaScript
"use strict";var _a,_b,_c;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnMountTarget=exports.CfnFileSystem=exports.CfnAccessPoint=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cdk=require("../../core"),cfn_parse=require("../../core/lib/helpers-internal");function CfnAccessPointPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("accessPointTags",cdk.listValidator(CfnAccessPoint_AccessPointTagPropertyValidator))(properties.accessPointTags)),errors.collect(cdk.propertyValidator("clientToken",cdk.validateString)(properties.clientToken)),errors.collect(cdk.propertyValidator("fileSystemId",cdk.requiredValidator)(properties.fileSystemId)),errors.collect(cdk.propertyValidator("fileSystemId",cdk.validateString)(properties.fileSystemId)),errors.collect(cdk.propertyValidator("posixUser",CfnAccessPoint_PosixUserPropertyValidator)(properties.posixUser)),errors.collect(cdk.propertyValidator("rootDirectory",CfnAccessPoint_RootDirectoryPropertyValidator)(properties.rootDirectory)),errors.wrap('supplied properties not correct for "CfnAccessPointProps"')}function cfnAccessPointPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessPointPropsValidator(properties).assertSuccess(),{FileSystemId:cdk.stringToCloudFormation(properties.fileSystemId),AccessPointTags:cdk.listMapper(cfnAccessPointAccessPointTagPropertyToCloudFormation)(properties.accessPointTags),ClientToken:cdk.stringToCloudFormation(properties.clientToken),PosixUser:cfnAccessPointPosixUserPropertyToCloudFormation(properties.posixUser),RootDirectory:cfnAccessPointRootDirectoryPropertyToCloudFormation(properties.rootDirectory)}):properties}function CfnAccessPointPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("fileSystemId","FileSystemId",cfn_parse.FromCloudFormation.getString(properties.FileSystemId)),ret.addPropertyResult("accessPointTags","AccessPointTags",properties.AccessPointTags!=null?cfn_parse.FromCloudFormation.getArray(CfnAccessPointAccessPointTagPropertyFromCloudFormation)(properties.AccessPointTags):void 0),ret.addPropertyResult("clientToken","ClientToken",properties.ClientToken!=null?cfn_parse.FromCloudFormation.getString(properties.ClientToken):void 0),ret.addPropertyResult("posixUser","PosixUser",properties.PosixUser!=null?CfnAccessPointPosixUserPropertyFromCloudFormation(properties.PosixUser):void 0),ret.addPropertyResult("rootDirectory","RootDirectory",properties.RootDirectory!=null?CfnAccessPointRootDirectoryPropertyFromCloudFormation(properties.RootDirectory):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAccessPoint extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnAccessPoint.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_efs_CfnAccessPointProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAccessPoint),error}cdk.requireProperty(props,"fileSystemId",this),this.attrAccessPointId=cdk.Token.asString(this.getAtt("AccessPointId",cdk.ResolutionTypeHint.STRING)),this.attrArn=cdk.Token.asString(this.getAtt("Arn",cdk.ResolutionTypeHint.STRING)),this.fileSystemId=props.fileSystemId,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::EFS::AccessPoint",props.accessPointTags,{tagPropertyName:"accessPointTags"}),this.clientToken=props.clientToken,this.posixUser=props.posixUser,this.rootDirectory=props.rootDirectory}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAccessPointPropsFromCloudFormation(resourceProperties),ret=new CfnAccessPoint(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}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",CfnAccessPoint.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{fileSystemId:this.fileSystemId,accessPointTags:this.tags.renderTags(),clientToken:this.clientToken,posixUser:this.posixUser,rootDirectory:this.rootDirectory}}renderProperties(props){return cfnAccessPointPropsToCloudFormation(props)}}exports.CfnAccessPoint=CfnAccessPoint,_a=JSII_RTTI_SYMBOL_1,CfnAccessPoint[_a]={fqn:"aws-cdk-lib.aws_efs.CfnAccessPoint",version:"2.70.0"},CfnAccessPoint.CFN_RESOURCE_TYPE_NAME="AWS::EFS::AccessPoint";function CfnAccessPoint_AccessPointTagPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("key",cdk.validateString)(properties.key)),errors.collect(cdk.propertyValidator("value",cdk.validateString)(properties.value)),errors.wrap('supplied properties not correct for "AccessPointTagProperty"')}function cfnAccessPointAccessPointTagPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessPoint_AccessPointTagPropertyValidator(properties).assertSuccess(),{Key:cdk.stringToCloudFormation(properties.key),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnAccessPointAccessPointTagPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse.FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse.FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessPoint_CreationInfoPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("ownerGid",cdk.requiredValidator)(properties.ownerGid)),errors.collect(cdk.propertyValidator("ownerGid",cdk.validateString)(properties.ownerGid)),errors.collect(cdk.propertyValidator("ownerUid",cdk.requiredValidator)(properties.ownerUid)),errors.collect(cdk.propertyValidator("ownerUid",cdk.validateString)(properties.ownerUid)),errors.collect(cdk.propertyValidator("permissions",cdk.requiredValidator)(properties.permissions)),errors.collect(cdk.propertyValidator("permissions",cdk.validateString)(properties.permissions)),errors.wrap('supplied properties not correct for "CreationInfoProperty"')}function cfnAccessPointCreationInfoPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessPoint_CreationInfoPropertyValidator(properties).assertSuccess(),{OwnerGid:cdk.stringToCloudFormation(properties.ownerGid),OwnerUid:cdk.stringToCloudFormation(properties.ownerUid),Permissions:cdk.stringToCloudFormation(properties.permissions)}):properties}function CfnAccessPointCreationInfoPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("ownerGid","OwnerGid",cfn_parse.FromCloudFormation.getString(properties.OwnerGid)),ret.addPropertyResult("ownerUid","OwnerUid",cfn_parse.FromCloudFormation.getString(properties.OwnerUid)),ret.addPropertyResult("permissions","Permissions",cfn_parse.FromCloudFormation.getString(properties.Permissions)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessPoint_PosixUserPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&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.validateString)(properties.gid)),errors.collect(cdk.propertyValidator("secondaryGids",cdk.listValidator(cdk.validateString))(properties.secondaryGids)),errors.collect(cdk.propertyValidator("uid",cdk.requiredValidator)(properties.uid)),errors.collect(cdk.propertyValidator("uid",cdk.validateString)(properties.uid)),errors.wrap('supplied properties not correct for "PosixUserProperty"')}function cfnAccessPointPosixUserPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessPoint_PosixUserPropertyValidator(properties).assertSuccess(),{Gid:cdk.stringToCloudFormation(properties.gid),SecondaryGids:cdk.listMapper(cdk.stringToCloudFormation)(properties.secondaryGids),Uid:cdk.stringToCloudFormation(properties.uid)}):properties}function CfnAccessPointPosixUserPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("gid","Gid",cfn_parse.FromCloudFormation.getString(properties.Gid)),ret.addPropertyResult("secondaryGids","SecondaryGids",properties.SecondaryGids!=null?cfn_parse.FromCloudFormation.getStringArray(properties.SecondaryGids):void 0),ret.addPropertyResult("uid","Uid",cfn_parse.FromCloudFormation.getString(properties.Uid)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessPoint_RootDirectoryPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("creationInfo",CfnAccessPoint_CreationInfoPropertyValidator)(properties.creationInfo)),errors.collect(cdk.propertyValidator("path",cdk.validateString)(properties.path)),errors.wrap('supplied properties not correct for "RootDirectoryProperty"')}function cfnAccessPointRootDirectoryPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAccessPoint_RootDirectoryPropertyValidator(properties).assertSuccess(),{CreationInfo:cfnAccessPointCreationInfoPropertyToCloudFormation(properties.creationInfo),Path:cdk.stringToCloudFormation(properties.path)}):properties}function CfnAccessPointRootDirectoryPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("creationInfo","CreationInfo",properties.CreationInfo!=null?CfnAccessPointCreationInfoPropertyFromCloudFormation(properties.CreationInfo):void 0),ret.addPropertyResult("path","Path",properties.Path!=null?cfn_parse.FromCloudFormation.getString(properties.Path):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFileSystemPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("availabilityZoneName",cdk.validateString)(properties.availabilityZoneName)),errors.collect(cdk.propertyValidator("backupPolicy",CfnFileSystem_BackupPolicyPropertyValidator)(properties.backupPolicy)),errors.collect(cdk.propertyValidator("bypassPolicyLockoutSafetyCheck",cdk.validateBoolean)(properties.bypassPolicyLockoutSafetyCheck)),errors.collect(cdk.propertyValidator("encrypted",cdk.validateBoolean)(properties.encrypted)),errors.collect(cdk.propertyValidator("fileSystemPolicy",cdk.validateObject)(properties.fileSystemPolicy)),errors.collect(cdk.propertyValidator("fileSystemTags",cdk.listValidator(CfnFileSystem_ElasticFileSystemTagPropertyValidator))(properties.fileSystemTags)),errors.collect(cdk.propertyValidator("kmsKeyId",cdk.validateString)(properties.kmsKeyId)),errors.collect(cdk.propertyValidator("lifecyclePolicies",cdk.listValidator(CfnFileSystem_LifecyclePolicyPropertyValidator))(properties.lifecyclePolicies)),errors.collect(cdk.propertyValidator("performanceMode",cdk.validateString)(properties.performanceMode)),errors.collect(cdk.propertyValidator("provisionedThroughputInMibps",cdk.validateNumber)(properties.provisionedThroughputInMibps)),errors.collect(cdk.propertyValidator("throughputMode",cdk.validateString)(properties.throughputMode)),errors.wrap('supplied properties not correct for "CfnFileSystemProps"')}function cfnFileSystemPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnFileSystemPropsValidator(properties).assertSuccess(),{AvailabilityZoneName:cdk.stringToCloudFormation(properties.availabilityZoneName),BackupPolicy:cfnFileSystemBackupPolicyPropertyToCloudFormation(properties.backupPolicy),BypassPolicyLockoutSafetyCheck:cdk.booleanToCloudFormation(properties.bypassPolicyLockoutSafetyCheck),Encrypted:cdk.booleanToCloudFormation(properties.encrypted),FileSystemPolicy:cdk.objectToCloudFormation(properties.fileSystemPolicy),FileSystemTags:cdk.listMapper(cfnFileSystemElasticFileSystemTagPropertyToCloudFormation)(properties.fileSystemTags),KmsKeyId:cdk.stringToCloudFormation(properties.kmsKeyId),LifecyclePolicies:cdk.listMapper(cfnFileSystemLifecyclePolicyPropertyToCloudFormation)(properties.lifecyclePolicies),PerformanceMode:cdk.stringToCloudFormation(properties.performanceMode),ProvisionedThroughputInMibps:cdk.numberToCloudFormation(properties.provisionedThroughputInMibps),ThroughputMode:cdk.stringToCloudFormation(properties.throughputMode)}):properties}function CfnFileSystemPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("availabilityZoneName","AvailabilityZoneName",properties.AvailabilityZoneName!=null?cfn_parse.FromCloudFormation.getString(properties.AvailabilityZoneName):void 0),ret.addPropertyResult("backupPolicy","BackupPolicy",properties.BackupPolicy!=null?CfnFileSystemBackupPolicyPropertyFromCloudFormation(properties.BackupPolicy):void 0),ret.addPropertyResult("bypassPolicyLockoutSafetyCheck","BypassPolicyLockoutSafetyCheck",properties.BypassPolicyLockoutSafetyCheck!=null?cfn_parse.FromCloudFormation.getBoolean(properties.BypassPolicyLockoutSafetyCheck):void 0),ret.addPropertyResult("encrypted","Encrypted",properties.Encrypted!=null?cfn_parse.FromCloudFormation.getBoolean(properties.Encrypted):void 0),ret.addPropertyResult("fileSystemPolicy","FileSystemPolicy",properties.FileSystemPolicy!=null?cfn_parse.FromCloudFormation.getAny(properties.FileSystemPolicy):void 0),ret.addPropertyResult("fileSystemTags","FileSystemTags",properties.FileSystemTags!=null?cfn_parse.FromCloudFormation.getArray(CfnFileSystemElasticFileSystemTagPropertyFromCloudFormation)(properties.FileSystemTags):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse.FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("lifecyclePolicies","LifecyclePolicies",properties.LifecyclePolicies!=null?cfn_parse.FromCloudFormation.getArray(CfnFileSystemLifecyclePolicyPropertyFromCloudFormation)(properties.LifecyclePolicies):void 0),ret.addPropertyResult("performanceMode","PerformanceMode",properties.PerformanceMode!=null?cfn_parse.FromCloudFormation.getString(properties.PerformanceMode):void 0),ret.addPropertyResult("provisionedThroughputInMibps","ProvisionedThroughputInMibps",properties.ProvisionedThroughputInMibps!=null?cfn_parse.FromCloudFormation.getNumber(properties.ProvisionedThroughputInMibps):void 0),ret.addPropertyResult("throughputMode","ThroughputMode",properties.ThroughputMode!=null?cfn_parse.FromCloudFormation.getString(properties.ThroughputMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnFileSystem extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnFileSystem.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_efs_CfnFileSystemProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFileSystem),error}this.attrArn=cdk.Token.asString(this.getAtt("Arn",cdk.ResolutionTypeHint.STRING)),this.attrFileSystemId=cdk.Token.asString(this.getAtt("FileSystemId",cdk.ResolutionTypeHint.STRING)),this.availabilityZoneName=props.availabilityZoneName,this.backupPolicy=props.backupPolicy,this.bypassPolicyLockoutSafetyCheck=props.bypassPolicyLockoutSafetyCheck,this.encrypted=props.encrypted,this.fileSystemPolicy=props.fileSystemPolicy,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::EFS::FileSystem",props.fileSystemTags,{tagPropertyName:"fileSystemTags"}),this.kmsKeyId=props.kmsKeyId,this.lifecyclePolicies=props.lifecyclePolicies,this.performanceMode=props.performanceMode,this.provisionedThroughputInMibps=props.provisionedThroughputInMibps,this.throughputMode=props.throughputMode,this.node.scope&&cdk.Resource.isResource(this.node.scope)&&this.node.addValidation({validate:()=>this.cfnOptions.deletionPolicy===void 0?["'AWS::EFS::FileSystem' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFileSystemPropsFromCloudFormation(resourceProperties),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}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:props",this.cfnProperties)}get cfnProperties(){return{availabilityZoneName:this.availabilityZoneName,backupPolicy:this.backupPolicy,bypassPolicyLockoutSafetyCheck:this.bypassPolicyLockoutSafetyCheck,encrypted:this.encrypted,fileSystemPolicy:this.fileSystemPolicy,fileSystemTags:this.tags.renderTags(),kmsKeyId:this.kmsKeyId,lifecyclePolicies:this.lifecyclePolicies,performanceMode:this.performanceMode,provisionedThroughputInMibps:this.provisionedThroughputInMibps,throughputMode:this.throughputMode}}renderProperties(props){return cfnFileSystemPropsToCloudFormation(props)}}exports.CfnFileSystem=CfnFileSystem,_b=JSII_RTTI_SYMBOL_1,CfnFileSystem[_b]={fqn:"aws-cdk-lib.aws_efs.CfnFileSystem",version:"2.70.0"},CfnFileSystem.CFN_RESOURCE_TYPE_NAME="AWS::EFS::FileSystem";function CfnFileSystem_BackupPolicyPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("status",cdk.requiredValidator)(properties.status)),errors.collect(cdk.propertyValidator("status",cdk.validateString)(properties.status)),errors.wrap('supplied properties not correct for "BackupPolicyProperty"')}function cfnFileSystemBackupPolicyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnFileSystem_BackupPolicyPropertyValidator(properties).assertSuccess(),{Status:cdk.stringToCloudFormation(properties.status)}):properties}function CfnFileSystemBackupPolicyPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("status","Status",cfn_parse.FromCloudFormation.getString(properties.Status)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFileSystem_ElasticFileSystemTagPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("key",cdk.requiredValidator)(properties.key)),errors.collect(cdk.propertyValidator("key",cdk.validateString)(properties.key)),errors.collect(cdk.propertyValidator("value",cdk.requiredValidator)(properties.value)),errors.collect(cdk.propertyValidator("value",cdk.validateString)(properties.value)),errors.wrap('supplied properties not correct for "ElasticFileSystemTagProperty"')}function cfnFileSystemElasticFileSystemTagPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnFileSystem_ElasticFileSystemTagPropertyValidator(properties).assertSuccess(),{Key:cdk.stringToCloudFormation(properties.key),Value:cdk.stringToCloudFormation(properties.value)}):properties}function CfnFileSystemElasticFileSystemTagPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("key","Key",cfn_parse.FromCloudFormation.getString(properties.Key)),ret.addPropertyResult("value","Value",cfn_parse.FromCloudFormation.getString(properties.Value)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFileSystem_LifecyclePolicyPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("transitionToIa",cdk.validateString)(properties.transitionToIa)),errors.collect(cdk.propertyValidator("transitionToPrimaryStorageClass",cdk.validateString)(properties.transitionToPrimaryStorageClass)),errors.wrap('supplied properties not correct for "LifecyclePolicyProperty"')}function cfnFileSystemLifecyclePolicyPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnFileSystem_LifecyclePolicyPropertyValidator(properties).assertSuccess(),{TransitionToIA:cdk.stringToCloudFormation(properties.transitionToIa),TransitionToPrimaryStorageClass:cdk.stringToCloudFormation(properties.transitionToPrimaryStorageClass)}):properties}function CfnFileSystemLifecyclePolicyPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("transitionToIa","TransitionToIA",properties.TransitionToIA!=null?cfn_parse.FromCloudFormation.getString(properties.TransitionToIA):void 0),ret.addPropertyResult("transitionToPrimaryStorageClass","TransitionToPrimaryStorageClass",properties.TransitionToPrimaryStorageClass!=null?cfn_parse.FromCloudFormation.getString(properties.TransitionToPrimaryStorageClass):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnMountTargetPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("fileSystemId",cdk.requiredValidator)(properties.fileSystemId)),errors.collect(cdk.propertyValidator("fileSystemId",cdk.validateString)(properties.fileSystemId)),errors.collect(cdk.propertyValidator("ipAddress",cdk.validateString)(properties.ipAddress)),errors.collect(cdk.propertyValidator("securityGroups",cdk.requiredValidator)(properties.securityGroups)),errors.collect(cdk.propertyValidator("securityGroups",cdk.listValidator(cdk.validateString))(properties.securityGroups)),errors.collect(cdk.propertyValidator("subnetId",cdk.requiredValidator)(properties.subnetId)),errors.collect(cdk.propertyValidator("subnetId",cdk.validateString)(properties.subnetId)),errors.wrap('supplied properties not correct for "CfnMountTargetProps"')}function cfnMountTargetPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnMountTargetPropsValidator(properties).assertSuccess(),{FileSystemId:cdk.stringToCloudFormation(properties.fileSystemId),SecurityGroups:cdk.listMapper(cdk.stringToCloudFormation)(properties.securityGroups),SubnetId:cdk.stringToCloudFormation(properties.subnetId),IpAddress:cdk.stringToCloudFormation(properties.ipAddress)}):properties}function CfnMountTargetPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("fileSystemId","FileSystemId",cfn_parse.FromCloudFormation.getString(properties.FileSystemId)),ret.addPropertyResult("securityGroups","SecurityGroups",cfn_parse.FromCloudFormation.getStringArray(properties.SecurityGroups)),ret.addPropertyResult("subnetId","SubnetId",cfn_parse.FromCloudFormation.getString(properties.SubnetId)),ret.addPropertyResult("ipAddress","IpAddress",properties.IpAddress!=null?cfn_parse.FromCloudFormation.getString(properties.IpAddress):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnMountTarget extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnMountTarget.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_efs_CfnMountTargetProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnMountTarget),error}cdk.requireProperty(props,"fileSystemId",this),cdk.requireProperty(props,"securityGroups",this),cdk.requireProperty(props,"subnetId",this),this.attrId=cdk.Token.asString(this.getAtt("Id",cdk.ResolutionTypeHint.STRING)),this.attrIpAddress=cdk.Token.asString(this.getAtt("IpAddress",cdk.ResolutionTypeHint.STRING)),this.fileSystemId=props.fileSystemId,this.securityGroups=props.securityGroups,this.subnetId=props.subnetId,this.ipAddress=props.ipAddress}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnMountTargetPropsFromCloudFormation(resourceProperties),ret=new CfnMountTarget(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}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",CfnMountTarget.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{fileSystemId:this.fileSystemId,securityGroups:this.securityGroups,subnetId:this.subnetId,ipAddress:this.ipAddress}}renderProperties(props){return cfnMountTargetPropsToCloudFormation(props)}}exports.CfnMountTarget=CfnMountTarget,_c=JSII_RTTI_SYMBOL_1,CfnMountTarget[_c]={fqn:"aws-cdk-lib.aws_efs.CfnMountTarget",version:"2.70.0"},CfnMountTarget.CFN_RESOURCE_TYPE_NAME="AWS::EFS::MountTarget";