aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 100 kB
JavaScript
"use strict";var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnTask=exports.CfnLocationSMB=exports.CfnLocationS3=exports.CfnLocationObjectStorage=exports.CfnLocationNFS=exports.CfnLocationHDFS=exports.CfnLocationFSxWindows=exports.CfnLocationFSxOpenZFS=exports.CfnLocationFSxONTAP=exports.CfnLocationFSxLustre=exports.CfnLocationEFS=exports.CfnAgent=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 CfnAgentPropsValidator(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("activationKey",cdk.validateString)(properties.activationKey)),errors.collect(cdk.propertyValidator("agentName",cdk.validateString)(properties.agentName)),errors.collect(cdk.propertyValidator("securityGroupArns",cdk.listValidator(cdk.validateString))(properties.securityGroupArns)),errors.collect(cdk.propertyValidator("subnetArns",cdk.listValidator(cdk.validateString))(properties.subnetArns)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("vpcEndpointId",cdk.validateString)(properties.vpcEndpointId)),errors.wrap('supplied properties not correct for "CfnAgentProps"')}function cfnAgentPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnAgentPropsValidator(properties).assertSuccess(),{ActivationKey:cdk.stringToCloudFormation(properties.activationKey),AgentName:cdk.stringToCloudFormation(properties.agentName),SecurityGroupArns:cdk.listMapper(cdk.stringToCloudFormation)(properties.securityGroupArns),SubnetArns:cdk.listMapper(cdk.stringToCloudFormation)(properties.subnetArns),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),VpcEndpointId:cdk.stringToCloudFormation(properties.vpcEndpointId)}):properties}function CfnAgentPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("activationKey","ActivationKey",properties.ActivationKey!=null?cfn_parse.FromCloudFormation.getString(properties.ActivationKey):void 0),ret.addPropertyResult("agentName","AgentName",properties.AgentName!=null?cfn_parse.FromCloudFormation.getString(properties.AgentName):void 0),ret.addPropertyResult("securityGroupArns","SecurityGroupArns",properties.SecurityGroupArns!=null?cfn_parse.FromCloudFormation.getStringArray(properties.SecurityGroupArns):void 0),ret.addPropertyResult("subnetArns","SubnetArns",properties.SubnetArns!=null?cfn_parse.FromCloudFormation.getStringArray(properties.SubnetArns):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("vpcEndpointId","VpcEndpointId",properties.VpcEndpointId!=null?cfn_parse.FromCloudFormation.getString(properties.VpcEndpointId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAgent extends cdk.CfnResource{constructor(scope,id,props={}){super(scope,id,{type:CfnAgent.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_datasync_CfnAgentProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAgent),error}this.attrAgentArn=cdk.Token.asString(this.getAtt("AgentArn",cdk.ResolutionTypeHint.STRING)),this.attrEndpointType=cdk.Token.asString(this.getAtt("EndpointType",cdk.ResolutionTypeHint.STRING)),this.activationKey=props.activationKey,this.agentName=props.agentName,this.securityGroupArns=props.securityGroupArns,this.subnetArns=props.subnetArns,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::DataSync::Agent",props.tags,{tagPropertyName:"tags"}),this.vpcEndpointId=props.vpcEndpointId}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAgentPropsFromCloudFormation(resourceProperties),ret=new CfnAgent(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",CfnAgent.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{activationKey:this.activationKey,agentName:this.agentName,securityGroupArns:this.securityGroupArns,subnetArns:this.subnetArns,tags:this.tags.renderTags(),vpcEndpointId:this.vpcEndpointId}}renderProperties(props){return cfnAgentPropsToCloudFormation(props)}}exports.CfnAgent=CfnAgent,_a=JSII_RTTI_SYMBOL_1,CfnAgent[_a]={fqn:"aws-cdk-lib.aws_datasync.CfnAgent",version:"2.70.0"},CfnAgent.CFN_RESOURCE_TYPE_NAME="AWS::DataSync::Agent";function CfnLocationEFSPropsValidator(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("accessPointArn",cdk.validateString)(properties.accessPointArn)),errors.collect(cdk.propertyValidator("ec2Config",cdk.requiredValidator)(properties.ec2Config)),errors.collect(cdk.propertyValidator("ec2Config",CfnLocationEFS_Ec2ConfigPropertyValidator)(properties.ec2Config)),errors.collect(cdk.propertyValidator("efsFilesystemArn",cdk.validateString)(properties.efsFilesystemArn)),errors.collect(cdk.propertyValidator("fileSystemAccessRoleArn",cdk.validateString)(properties.fileSystemAccessRoleArn)),errors.collect(cdk.propertyValidator("inTransitEncryption",cdk.validateString)(properties.inTransitEncryption)),errors.collect(cdk.propertyValidator("subdirectory",cdk.validateString)(properties.subdirectory)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnLocationEFSProps"')}function cfnLocationEFSPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnLocationEFSPropsValidator(properties).assertSuccess(),{Ec2Config:cfnLocationEFSEc2ConfigPropertyToCloudFormation(properties.ec2Config),AccessPointArn:cdk.stringToCloudFormation(properties.accessPointArn),EfsFilesystemArn:cdk.stringToCloudFormation(properties.efsFilesystemArn),FileSystemAccessRoleArn:cdk.stringToCloudFormation(properties.fileSystemAccessRoleArn),InTransitEncryption:cdk.stringToCloudFormation(properties.inTransitEncryption),Subdirectory:cdk.stringToCloudFormation(properties.subdirectory),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnLocationEFSPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("ec2Config","Ec2Config",CfnLocationEFSEc2ConfigPropertyFromCloudFormation(properties.Ec2Config)),ret.addPropertyResult("accessPointArn","AccessPointArn",properties.AccessPointArn!=null?cfn_parse.FromCloudFormation.getString(properties.AccessPointArn):void 0),ret.addPropertyResult("efsFilesystemArn","EfsFilesystemArn",properties.EfsFilesystemArn!=null?cfn_parse.FromCloudFormation.getString(properties.EfsFilesystemArn):void 0),ret.addPropertyResult("fileSystemAccessRoleArn","FileSystemAccessRoleArn",properties.FileSystemAccessRoleArn!=null?cfn_parse.FromCloudFormation.getString(properties.FileSystemAccessRoleArn):void 0),ret.addPropertyResult("inTransitEncryption","InTransitEncryption",properties.InTransitEncryption!=null?cfn_parse.FromCloudFormation.getString(properties.InTransitEncryption):void 0),ret.addPropertyResult("subdirectory","Subdirectory",properties.Subdirectory!=null?cfn_parse.FromCloudFormation.getString(properties.Subdirectory):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 CfnLocationEFS extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnLocationEFS.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_datasync_CfnLocationEFSProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLocationEFS),error}cdk.requireProperty(props,"ec2Config",this),this.attrLocationArn=cdk.Token.asString(this.getAtt("LocationArn",cdk.ResolutionTypeHint.STRING)),this.attrLocationUri=cdk.Token.asString(this.getAtt("LocationUri",cdk.ResolutionTypeHint.STRING)),this.ec2Config=props.ec2Config,this.accessPointArn=props.accessPointArn,this.efsFilesystemArn=props.efsFilesystemArn,this.fileSystemAccessRoleArn=props.fileSystemAccessRoleArn,this.inTransitEncryption=props.inTransitEncryption,this.subdirectory=props.subdirectory,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::DataSync::LocationEFS",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLocationEFSPropsFromCloudFormation(resourceProperties),ret=new CfnLocationEFS(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",CfnLocationEFS.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{ec2Config:this.ec2Config,accessPointArn:this.accessPointArn,efsFilesystemArn:this.efsFilesystemArn,fileSystemAccessRoleArn:this.fileSystemAccessRoleArn,inTransitEncryption:this.inTransitEncryption,subdirectory:this.subdirectory,tags:this.tags.renderTags()}}renderProperties(props){return cfnLocationEFSPropsToCloudFormation(props)}}exports.CfnLocationEFS=CfnLocationEFS,_b=JSII_RTTI_SYMBOL_1,CfnLocationEFS[_b]={fqn:"aws-cdk-lib.aws_datasync.CfnLocationEFS",version:"2.70.0"},CfnLocationEFS.CFN_RESOURCE_TYPE_NAME="AWS::DataSync::LocationEFS";function CfnLocationEFS_Ec2ConfigPropertyValidator(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("securityGroupArns",cdk.requiredValidator)(properties.securityGroupArns)),errors.collect(cdk.propertyValidator("securityGroupArns",cdk.listValidator(cdk.validateString))(properties.securityGroupArns)),errors.collect(cdk.propertyValidator("subnetArn",cdk.requiredValidator)(properties.subnetArn)),errors.collect(cdk.propertyValidator("subnetArn",cdk.validateString)(properties.subnetArn)),errors.wrap('supplied properties not correct for "Ec2ConfigProperty"')}function cfnLocationEFSEc2ConfigPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnLocationEFS_Ec2ConfigPropertyValidator(properties).assertSuccess(),{SecurityGroupArns:cdk.listMapper(cdk.stringToCloudFormation)(properties.securityGroupArns),SubnetArn:cdk.stringToCloudFormation(properties.subnetArn)}):properties}function CfnLocationEFSEc2ConfigPropertyFromCloudFormation(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("securityGroupArns","SecurityGroupArns",cfn_parse.FromCloudFormation.getStringArray(properties.SecurityGroupArns)),ret.addPropertyResult("subnetArn","SubnetArn",cfn_parse.FromCloudFormation.getString(properties.SubnetArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxLustrePropsValidator(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("fsxFilesystemArn",cdk.validateString)(properties.fsxFilesystemArn)),errors.collect(cdk.propertyValidator("securityGroupArns",cdk.requiredValidator)(properties.securityGroupArns)),errors.collect(cdk.propertyValidator("securityGroupArns",cdk.listValidator(cdk.validateString))(properties.securityGroupArns)),errors.collect(cdk.propertyValidator("subdirectory",cdk.validateString)(properties.subdirectory)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnLocationFSxLustreProps"')}function cfnLocationFSxLustrePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnLocationFSxLustrePropsValidator(properties).assertSuccess(),{SecurityGroupArns:cdk.listMapper(cdk.stringToCloudFormation)(properties.securityGroupArns),FsxFilesystemArn:cdk.stringToCloudFormation(properties.fsxFilesystemArn),Subdirectory:cdk.stringToCloudFormation(properties.subdirectory),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnLocationFSxLustrePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("securityGroupArns","SecurityGroupArns",cfn_parse.FromCloudFormation.getStringArray(properties.SecurityGroupArns)),ret.addPropertyResult("fsxFilesystemArn","FsxFilesystemArn",properties.FsxFilesystemArn!=null?cfn_parse.FromCloudFormation.getString(properties.FsxFilesystemArn):void 0),ret.addPropertyResult("subdirectory","Subdirectory",properties.Subdirectory!=null?cfn_parse.FromCloudFormation.getString(properties.Subdirectory):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 CfnLocationFSxLustre extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnLocationFSxLustre.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_datasync_CfnLocationFSxLustreProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLocationFSxLustre),error}cdk.requireProperty(props,"securityGroupArns",this),this.attrLocationArn=cdk.Token.asString(this.getAtt("LocationArn",cdk.ResolutionTypeHint.STRING)),this.attrLocationUri=cdk.Token.asString(this.getAtt("LocationUri",cdk.ResolutionTypeHint.STRING)),this.securityGroupArns=props.securityGroupArns,this.fsxFilesystemArn=props.fsxFilesystemArn,this.subdirectory=props.subdirectory,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::DataSync::LocationFSxLustre",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLocationFSxLustrePropsFromCloudFormation(resourceProperties),ret=new CfnLocationFSxLustre(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",CfnLocationFSxLustre.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{securityGroupArns:this.securityGroupArns,fsxFilesystemArn:this.fsxFilesystemArn,subdirectory:this.subdirectory,tags:this.tags.renderTags()}}renderProperties(props){return cfnLocationFSxLustrePropsToCloudFormation(props)}}exports.CfnLocationFSxLustre=CfnLocationFSxLustre,_c=JSII_RTTI_SYMBOL_1,CfnLocationFSxLustre[_c]={fqn:"aws-cdk-lib.aws_datasync.CfnLocationFSxLustre",version:"2.70.0"},CfnLocationFSxLustre.CFN_RESOURCE_TYPE_NAME="AWS::DataSync::LocationFSxLustre";function CfnLocationFSxONTAPPropsValidator(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("protocol",CfnLocationFSxONTAP_ProtocolPropertyValidator)(properties.protocol)),errors.collect(cdk.propertyValidator("securityGroupArns",cdk.requiredValidator)(properties.securityGroupArns)),errors.collect(cdk.propertyValidator("securityGroupArns",cdk.listValidator(cdk.validateString))(properties.securityGroupArns)),errors.collect(cdk.propertyValidator("storageVirtualMachineArn",cdk.requiredValidator)(properties.storageVirtualMachineArn)),errors.collect(cdk.propertyValidator("storageVirtualMachineArn",cdk.validateString)(properties.storageVirtualMachineArn)),errors.collect(cdk.propertyValidator("subdirectory",cdk.validateString)(properties.subdirectory)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnLocationFSxONTAPProps"')}function cfnLocationFSxONTAPPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnLocationFSxONTAPPropsValidator(properties).assertSuccess(),{SecurityGroupArns:cdk.listMapper(cdk.stringToCloudFormation)(properties.securityGroupArns),StorageVirtualMachineArn:cdk.stringToCloudFormation(properties.storageVirtualMachineArn),Protocol:cfnLocationFSxONTAPProtocolPropertyToCloudFormation(properties.protocol),Subdirectory:cdk.stringToCloudFormation(properties.subdirectory),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnLocationFSxONTAPPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("securityGroupArns","SecurityGroupArns",cfn_parse.FromCloudFormation.getStringArray(properties.SecurityGroupArns)),ret.addPropertyResult("storageVirtualMachineArn","StorageVirtualMachineArn",cfn_parse.FromCloudFormation.getString(properties.StorageVirtualMachineArn)),ret.addPropertyResult("protocol","Protocol",properties.Protocol!=null?CfnLocationFSxONTAPProtocolPropertyFromCloudFormation(properties.Protocol):void 0),ret.addPropertyResult("subdirectory","Subdirectory",properties.Subdirectory!=null?cfn_parse.FromCloudFormation.getString(properties.Subdirectory):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 CfnLocationFSxONTAP extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnLocationFSxONTAP.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_datasync_CfnLocationFSxONTAPProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLocationFSxONTAP),error}cdk.requireProperty(props,"securityGroupArns",this),cdk.requireProperty(props,"storageVirtualMachineArn",this),this.attrFsxFilesystemArn=cdk.Token.asString(this.getAtt("FsxFilesystemArn",cdk.ResolutionTypeHint.STRING)),this.attrLocationArn=cdk.Token.asString(this.getAtt("LocationArn",cdk.ResolutionTypeHint.STRING)),this.attrLocationUri=cdk.Token.asString(this.getAtt("LocationUri",cdk.ResolutionTypeHint.STRING)),this.securityGroupArns=props.securityGroupArns,this.storageVirtualMachineArn=props.storageVirtualMachineArn,this.protocol=props.protocol,this.subdirectory=props.subdirectory,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::DataSync::LocationFSxONTAP",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLocationFSxONTAPPropsFromCloudFormation(resourceProperties),ret=new CfnLocationFSxONTAP(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",CfnLocationFSxONTAP.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{securityGroupArns:this.securityGroupArns,storageVirtualMachineArn:this.storageVirtualMachineArn,protocol:this.protocol,subdirectory:this.subdirectory,tags:this.tags.renderTags()}}renderProperties(props){return cfnLocationFSxONTAPPropsToCloudFormation(props)}}exports.CfnLocationFSxONTAP=CfnLocationFSxONTAP,_d=JSII_RTTI_SYMBOL_1,CfnLocationFSxONTAP[_d]={fqn:"aws-cdk-lib.aws_datasync.CfnLocationFSxONTAP",version:"2.70.0"},CfnLocationFSxONTAP.CFN_RESOURCE_TYPE_NAME="AWS::DataSync::LocationFSxONTAP";function CfnLocationFSxONTAP_NFSPropertyValidator(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("mountOptions",cdk.requiredValidator)(properties.mountOptions)),errors.collect(cdk.propertyValidator("mountOptions",CfnLocationFSxONTAP_NfsMountOptionsPropertyValidator)(properties.mountOptions)),errors.wrap('supplied properties not correct for "NFSProperty"')}function cfnLocationFSxONTAPNFSPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnLocationFSxONTAP_NFSPropertyValidator(properties).assertSuccess(),{MountOptions:cfnLocationFSxONTAPNfsMountOptionsPropertyToCloudFormation(properties.mountOptions)}):properties}function CfnLocationFSxONTAPNFSPropertyFromCloudFormation(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("mountOptions","MountOptions",CfnLocationFSxONTAPNfsMountOptionsPropertyFromCloudFormation(properties.MountOptions)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxONTAP_NfsMountOptionsPropertyValidator(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("version",cdk.validateString)(properties.version)),errors.wrap('supplied properties not correct for "NfsMountOptionsProperty"')}function cfnLocationFSxONTAPNfsMountOptionsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnLocationFSxONTAP_NfsMountOptionsPropertyValidator(properties).assertSuccess(),{Version:cdk.stringToCloudFormation(properties.version)}):properties}function CfnLocationFSxONTAPNfsMountOptionsPropertyFromCloudFormation(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("version","Version",properties.Version!=null?cfn_parse.FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxONTAP_ProtocolPropertyValidator(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("nfs",CfnLocationFSxONTAP_NFSPropertyValidator)(properties.nfs)),errors.collect(cdk.propertyValidator("smb",CfnLocationFSxONTAP_SMBPropertyValidator)(properties.smb)),errors.wrap('supplied properties not correct for "ProtocolProperty"')}function cfnLocationFSxONTAPProtocolPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnLocationFSxONTAP_ProtocolPropertyValidator(properties).assertSuccess(),{NFS:cfnLocationFSxONTAPNFSPropertyToCloudFormation(properties.nfs),SMB:cfnLocationFSxONTAPSMBPropertyToCloudFormation(properties.smb)}):properties}function CfnLocationFSxONTAPProtocolPropertyFromCloudFormation(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("nfs","NFS",properties.NFS!=null?CfnLocationFSxONTAPNFSPropertyFromCloudFormation(properties.NFS):void 0),ret.addPropertyResult("smb","SMB",properties.SMB!=null?CfnLocationFSxONTAPSMBPropertyFromCloudFormation(properties.SMB):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxONTAP_SMBPropertyValidator(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("domain",cdk.validateString)(properties.domain)),errors.collect(cdk.propertyValidator("mountOptions",cdk.requiredValidator)(properties.mountOptions)),errors.collect(cdk.propertyValidator("mountOptions",CfnLocationFSxONTAP_SmbMountOptionsPropertyValidator)(properties.mountOptions)),errors.collect(cdk.propertyValidator("password",cdk.requiredValidator)(properties.password)),errors.collect(cdk.propertyValidator("password",cdk.validateString)(properties.password)),errors.collect(cdk.propertyValidator("user",cdk.requiredValidator)(properties.user)),errors.collect(cdk.propertyValidator("user",cdk.validateString)(properties.user)),errors.wrap('supplied properties not correct for "SMBProperty"')}function cfnLocationFSxONTAPSMBPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnLocationFSxONTAP_SMBPropertyValidator(properties).assertSuccess(),{Domain:cdk.stringToCloudFormation(properties.domain),MountOptions:cfnLocationFSxONTAPSmbMountOptionsPropertyToCloudFormation(properties.mountOptions),Password:cdk.stringToCloudFormation(properties.password),User:cdk.stringToCloudFormation(properties.user)}):properties}function CfnLocationFSxONTAPSMBPropertyFromCloudFormation(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("domain","Domain",properties.Domain!=null?cfn_parse.FromCloudFormation.getString(properties.Domain):void 0),ret.addPropertyResult("mountOptions","MountOptions",CfnLocationFSxONTAPSmbMountOptionsPropertyFromCloudFormation(properties.MountOptions)),ret.addPropertyResult("password","Password",cfn_parse.FromCloudFormation.getString(properties.Password)),ret.addPropertyResult("user","User",cfn_parse.FromCloudFormation.getString(properties.User)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxONTAP_SmbMountOptionsPropertyValidator(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("version",cdk.validateString)(properties.version)),errors.wrap('supplied properties not correct for "SmbMountOptionsProperty"')}function cfnLocationFSxONTAPSmbMountOptionsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnLocationFSxONTAP_SmbMountOptionsPropertyValidator(properties).assertSuccess(),{Version:cdk.stringToCloudFormation(properties.version)}):properties}function CfnLocationFSxONTAPSmbMountOptionsPropertyFromCloudFormation(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("version","Version",properties.Version!=null?cfn_parse.FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxOpenZFSPropsValidator(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("fsxFilesystemArn",cdk.validateString)(properties.fsxFilesystemArn)),errors.collect(cdk.propertyValidator("protocol",cdk.requiredValidator)(properties.protocol)),errors.collect(cdk.propertyValidator("protocol",CfnLocationFSxOpenZFS_ProtocolPropertyValidator)(properties.protocol)),errors.collect(cdk.propertyValidator("securityGroupArns",cdk.requiredValidator)(properties.securityGroupArns)),errors.collect(cdk.propertyValidator("securityGroupArns",cdk.listValidator(cdk.validateString))(properties.securityGroupArns)),errors.collect(cdk.propertyValidator("subdirectory",cdk.validateString)(properties.subdirectory)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnLocationFSxOpenZFSProps"')}function cfnLocationFSxOpenZFSPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnLocationFSxOpenZFSPropsValidator(properties).assertSuccess(),{Protocol:cfnLocationFSxOpenZFSProtocolPropertyToCloudFormation(properties.protocol),SecurityGroupArns:cdk.listMapper(cdk.stringToCloudFormation)(properties.securityGroupArns),FsxFilesystemArn:cdk.stringToCloudFormation(properties.fsxFilesystemArn),Subdirectory:cdk.stringToCloudFormation(properties.subdirectory),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnLocationFSxOpenZFSPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("protocol","Protocol",CfnLocationFSxOpenZFSProtocolPropertyFromCloudFormation(properties.Protocol)),ret.addPropertyResult("securityGroupArns","SecurityGroupArns",cfn_parse.FromCloudFormation.getStringArray(properties.SecurityGroupArns)),ret.addPropertyResult("fsxFilesystemArn","FsxFilesystemArn",properties.FsxFilesystemArn!=null?cfn_parse.FromCloudFormation.getString(properties.FsxFilesystemArn):void 0),ret.addPropertyResult("subdirectory","Subdirectory",properties.Subdirectory!=null?cfn_parse.FromCloudFormation.getString(properties.Subdirectory):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 CfnLocationFSxOpenZFS extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnLocationFSxOpenZFS.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_datasync_CfnLocationFSxOpenZFSProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLocationFSxOpenZFS),error}cdk.requireProperty(props,"protocol",this),cdk.requireProperty(props,"securityGroupArns",this),this.attrLocationArn=cdk.Token.asString(this.getAtt("LocationArn",cdk.ResolutionTypeHint.STRING)),this.attrLocationUri=cdk.Token.asString(this.getAtt("LocationUri",cdk.ResolutionTypeHint.STRING)),this.protocol=props.protocol,this.securityGroupArns=props.securityGroupArns,this.fsxFilesystemArn=props.fsxFilesystemArn,this.subdirectory=props.subdirectory,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::DataSync::LocationFSxOpenZFS",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLocationFSxOpenZFSPropsFromCloudFormation(resourceProperties),ret=new CfnLocationFSxOpenZFS(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",CfnLocationFSxOpenZFS.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{protocol:this.protocol,securityGroupArns:this.securityGroupArns,fsxFilesystemArn:this.fsxFilesystemArn,subdirectory:this.subdirectory,tags:this.tags.renderTags()}}renderProperties(props){return cfnLocationFSxOpenZFSPropsToCloudFormation(props)}}exports.CfnLocationFSxOpenZFS=CfnLocationFSxOpenZFS,_e=JSII_RTTI_SYMBOL_1,CfnLocationFSxOpenZFS[_e]={fqn:"aws-cdk-lib.aws_datasync.CfnLocationFSxOpenZFS",version:"2.70.0"},CfnLocationFSxOpenZFS.CFN_RESOURCE_TYPE_NAME="AWS::DataSync::LocationFSxOpenZFS";function CfnLocationFSxOpenZFS_MountOptionsPropertyValidator(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("version",cdk.validateString)(properties.version)),errors.wrap('supplied properties not correct for "MountOptionsProperty"')}function cfnLocationFSxOpenZFSMountOptionsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnLocationFSxOpenZFS_MountOptionsPropertyValidator(properties).assertSuccess(),{Version:cdk.stringToCloudFormation(properties.version)}):properties}function CfnLocationFSxOpenZFSMountOptionsPropertyFromCloudFormation(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("version","Version",properties.Version!=null?cfn_parse.FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxOpenZFS_NFSPropertyValidator(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("mountOptions",cdk.requiredValidator)(properties.mountOptions)),errors.collect(cdk.propertyValidator("mountOptions",CfnLocationFSxOpenZFS_MountOptionsPropertyValidator)(properties.mountOptions)),errors.wrap('supplied properties not correct for "NFSProperty"')}function cfnLocationFSxOpenZFSNFSPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnLocationFSxOpenZFS_NFSPropertyValidator(properties).assertSuccess(),{MountOptions:cfnLocationFSxOpenZFSMountOptionsPropertyToCloudFormation(properties.mountOptions)}):properties}function CfnLocationFSxOpenZFSNFSPropertyFromCloudFormation(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("mountOptions","MountOptions",CfnLocationFSxOpenZFSMountOptionsPropertyFromCloudFormation(properties.MountOptions)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxOpenZFS_ProtocolPropertyValidator(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("nfs",CfnLocationFSxOpenZFS_NFSPropertyValidator)(properties.nfs)),errors.wrap('supplied properties not correct for "ProtocolProperty"')}function cfnLocationFSxOpenZFSProtocolPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnLocationFSxOpenZFS_ProtocolPropertyValidator(properties).assertSuccess(),{NFS:cfnLocationFSxOpenZFSNFSPropertyToCloudFormation(properties.nfs)}):properties}function CfnLocationFSxOpenZFSProtocolPropertyFromCloudFormation(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("nfs","NFS",properties.NFS!=null?CfnLocationFSxOpenZFSNFSPropertyFromCloudFormation(properties.NFS):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxWindowsPropsValidator(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("domain",cdk.validateString)(properties.domain)),errors.collect(cdk.propertyValidator("fsxFilesystemArn",cdk.validateString)(properties.fsxFilesystemArn)),errors.collect(cdk.propertyValidator("password",cdk.validateString)(properties.password)),errors.collect(cdk.propertyValidator("securityGroupArns",cdk.requiredValidator)(properties.securityGroupArns)),errors.collect(cdk.propertyValidator("securityGroupArns",cdk.listValidator(cdk.validateString))(properties.securityGroupArns)),errors.collect(cdk.propertyValidator("subdirectory",cdk.validateString)(properties.subdirectory)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.collect(cdk.propertyValidator("user",cdk.requiredValidator)(properties.user)),errors.collect(cdk.propertyValidator("user",cdk.validateString)(properties.user)),errors.wrap('supplied properties not correct for "CfnLocationFSxWindowsProps"')}function cfnLocationFSxWindowsPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnLocationFSxWindowsPropsValidator(properties).assertSuccess(),{SecurityGroupArns:cdk.listMapper(cdk.stringToCloudFormation)(properties.securityGroupArns),User:cdk.stringToCloudFormation(properties.user),Domain:cdk.stringToCloudFormation(properties.domain),FsxFilesystemArn:cdk.stringToCloudFormation(properties.fsxFilesystemArn),Password:cdk.stringToCloudFormation(properties.password),Subdirectory:cdk.stringToCloudFormation(properties.subdirectory),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnLocationFSxWindowsPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("securityGroupArns","SecurityGroupArns",cfn_parse.FromCloudFormation.getStringArray(properties.SecurityGroupArns)),ret.addPropertyResult("user","User",cfn_parse.FromCloudFormation.getString(properties.User)),ret.addPropertyResult("domain","Domain",properties.Domain!=null?cfn_parse.FromCloudFormation.getString(properties.Domain):void 0),ret.addPropertyResult("fsxFilesystemArn","FsxFilesystemArn",properties.FsxFilesystemArn!=null?cfn_parse.FromCloudFormation.getString(properties.FsxFilesystemArn):void 0),ret.addPropertyResult("password","Password",properties.Password!=null?cfn_parse.FromCloudFormation.getString(properties.Password):void 0),ret.addPropertyResult("subdirectory","Subdirectory",properties.Subdirectory!=null?cfn_parse.FromCloudFormation.getString(properties.Subdirectory):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 CfnLocationFSxWindows extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnLocationFSxWindows.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_datasync_CfnLocationFSxWindowsProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLocationFSxWindows),error}cdk.requireProperty(props,"securityGroupArns",this),cdk.requireProperty(props,"user",this),this.attrLocationArn=cdk.Token.asString(this.getAtt("LocationArn",cdk.ResolutionTypeHint.STRING)),this.attrLocationUri=cdk.Token.asString(this.getAtt("LocationUri",cdk.ResolutionTypeHint.STRING)),this.securityGroupArns=props.securityGroupArns,this.user=props.user,this.domain=props.domain,this.fsxFilesystemArn=props.fsxFilesystemArn,this.password=props.password,this.subdirectory=props.subdirectory,this.tags=new cdk.TagManager(cdk.TagType.STANDARD,"AWS::DataSync::LocationFSxWindows",props.tags,{tagPropertyName:"tags"})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLocationFSxWindowsPropsFromCloudFormation(resourceProperties),ret=new CfnLocationFSxWindows(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",CfnLocationFSxWindows.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{securityGroupArns:this.securityGroupArns,user:this.user,domain:this.domain,fsxFilesystemArn:this.fsxFilesystemArn,password:this.password,subdirectory:this.subdirectory,tags:this.tags.renderTags()}}renderProperties(props){return cfnLocationFSxWindowsPropsToCloudFormation(props)}}exports.CfnLocationFSxWindows=CfnLocationFSxWindows,_f=JSII_RTTI_SYMBOL_1,CfnLocationFSxWindows[_f]={fqn:"aws-cdk-lib.aws_datasync.CfnLocationFSxWindows",version:"2.70.0"},CfnLocationFSxWindows.CFN_RESOURCE_TYPE_NAME="AWS::DataSync::LocationFSxWindows";function CfnLocationHDFSPropsValidator(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("agentArns",cdk.requiredValidator)(properties.agentArns)),errors.collect(cdk.propertyValidator("agentArns",cdk.listValidator(cdk.validateString))(properties.agentArns)),errors.collect(cdk.propertyValidator("authenticationType",cdk.requiredValidator)(properties.authenticationType)),errors.collect(cdk.propertyValidator("authenticationType",cdk.validateString)(properties.authenticationType)),errors.collect(cdk.propertyValidator("blockSize",cdk.validateNumber)(properties.blockSize)),errors.collect(cdk.propertyValidator("kerberosKeytab",cdk.validateString)(properties.kerberosKeytab)),errors.collect(cdk.propertyValidator("kerberosKrb5Conf",cdk.validateString)(properties.kerberosKrb5Conf)),errors.collect(cdk.propertyValidator("kerberosPrincipal",cdk.validateString)(properties.kerberosPrincipal)),errors.collect(cdk.propertyValidator("kmsKeyProviderUri",cdk.validateString)(properties.kmsKeyProviderUri)),errors.collect(cdk.propertyValidator("nameNodes",cdk.requiredValidator)(properties.nameNodes)),errors.collect(cdk.propertyValidator("nameNodes",cdk.listValidator(CfnLocationHDFS_NameNodePropertyValidator))(properties.nameNodes)),errors.collect(cdk.propertyValidator("qopConfiguration",CfnLocationHDFS_QopConfigurationPropertyValidator)(properties.qopConfiguration)),errors.collect(cdk.propertyValidator("replicationFactor",cdk.validateNumber)(properties.replicationFactor)),errors.collect(cdk.propertyValidator("simpleUser",cdk.validateString)(properties.simpleUser)),errors.collect(cdk.propertyValidator("subdirectory",cdk.validateString)(properties.subdirectory)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnLocationHDFSProps"')}function cfnLocationHDFSPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnLocationHDFSPropsValidator(properties).assertSuccess(),{AgentArns:cdk.listMapper(cdk.stringToCloudFormation)(properties.agentArns),AuthenticationType:cdk.stringToCloudFormation(properties.authenticationType),NameNodes:cdk.listMapper(cfnLocationHDFSNameNodePropertyToCloudFormation)(properties.nameNodes),BlockSize:cdk.numberToCloudFormation(properties.blockSize),KerberosKeytab:cdk.stringToCloudFormation(properties.kerberosKeytab),KerberosKrb5Conf:cdk.stringToCloudFormation(properties.kerberosKrb5Conf),KerberosPrincipal:cdk.stringToCloudFormation(properties.kerberosPrincipal),KmsKeyProviderUri:cdk.stringToCloudFormation(properties.kmsKeyProviderUri),QopConfiguration:cfnLocationHDFSQopConfigurationPropertyToCloudFormation(properties.qopConfiguration),ReplicationFactor:cdk.numberToCloudFormation(properties.replicationFactor),SimpleUser:cdk.stringToCloudFormation(properties.simpleUser),Subdirectory:cdk.stringToCloudFormation(properties.subdirectory),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnLocationHDFSPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("agentArns","AgentArns",cfn_parse.FromCloudFormation.getStringArray(properties.AgentArns)),ret.addPropertyResult("authenticationType","AuthenticationType",cfn_parse.FromCloudFormation.getString(properties.AuthenticationType)),ret.addPropertyResult("nameNodes","NameNodes",cfn_parse.FromCloudFormation.getArray(CfnLocationHDFSNameNodePropertyFromCloudFormation)(properties.NameNodes)),ret.addPropertyResult("blockSize","BlockSize",properties.BlockSize!=null?cfn_parse.FromCloudFormation.getNumber(properties.BlockSize):void 0),ret.addPropertyResult("kerberosKeytab","KerberosKeytab",properties.KerberosKeytab!=null?cfn_parse.FromCloudFormation.getString(properties.KerberosKeytab):void 0),ret.addPropertyResult("kerberosKrb5Conf","KerberosKrb5Conf",properties.KerberosKrb5Conf!=null?cfn_parse.FromCloudFormation.getString(properties.KerberosKrb5Conf):void 0),ret.addProper