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

2 lines
204 KiB
JavaScript

"use strict";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.CfnLocationAzureBlob=exports.CfnAgent=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 CfnAgent extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_datasync.CfnAgent",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DataSync::Agent";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAgentPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const 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}static isCfnAgent(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAgent.CFN_RESOURCE_TYPE_NAME}static arnForAgent(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_datasync_IAgentRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAgent),error}return resource.agentRef.agentArn}_activationKey;_agentName;_securityGroupArns;_subnetArns;tags;_tagsRaw;_vpcEndpointId;cfnPropertyNames={activationKey:"ActivationKey",agentName:"AgentName",securityGroupArns:"SecurityGroupArns",subnetArns:"SubnetArns",tags:"Tags",vpcEndpointId:"VpcEndpointId"};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._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._tagsRaw=props.tags,this._vpcEndpointId=props.vpcEndpointId}get agentRef(){return{agentArn:this.ref}}get activationKey(){return this._activationKey}set activationKey(value){cdk().traceProperty(this.node,"ActivationKey"),this._activationKey=value}get agentName(){return this._agentName}set agentName(value){cdk().traceProperty(this.node,"AgentName"),this._agentName=value}get securityGroupArns(){return this._securityGroupArns}set securityGroupArns(value){cdk().traceProperty(this.node,"SecurityGroupArns"),this._securityGroupArns=value}get subnetArns(){return this._subnetArns}set subnetArns(value){cdk().traceProperty(this.node,"SubnetArns"),this._subnetArns=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get vpcEndpointId(){return this._vpcEndpointId}set vpcEndpointId(value){cdk().traceProperty(this.node,"VpcEndpointId"),this._vpcEndpointId=value}get attrAgentArn(){return cdk().Token.asString(this.getAtt("AgentArn",cdk().ResolutionTypeHint.STRING))}get attrEndpointType(){return cdk().Token.asString(this.getAtt("EndpointType",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{activationKey:this._activationKey,agentName:this._agentName,securityGroupArns:this._securityGroupArns,subnetArns:this._subnetArns,tags:this.tags.renderTags(),vpcEndpointId:this._vpcEndpointId}}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAgentPropsToCloudFormation(props)}}exports.CfnAgent=CfnAgent;function CfnAgentPropsValidator(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("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 convertCfnAgentPropsToCloudFormation(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(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("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.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupArns):void 0),ret.addPropertyResult("subnetArns","SubnetArns",properties.SubnetArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(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 CfnLocationAzureBlob extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_datasync.CfnLocationAzureBlob",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DataSync::LocationAzureBlob";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLocationAzureBlobPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnLocationAzureBlob(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 isCfnLocationAzureBlob(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLocationAzureBlob.CFN_RESOURCE_TYPE_NAME}_agentArns;_azureAccessTier;_azureBlobAuthenticationType;_azureBlobContainerUrl;_azureBlobSasConfiguration;_azureBlobType;cdkTagManager;_cmkSecretConfig;_customSecretConfig;_subdirectory;_tags;cfnPropertyNames={agentArns:"AgentArns",azureAccessTier:"AzureAccessTier",azureBlobAuthenticationType:"AzureBlobAuthenticationType",azureBlobContainerUrl:"AzureBlobContainerUrl",azureBlobSasConfiguration:"AzureBlobSasConfiguration",azureBlobType:"AzureBlobType",tags:"Tags",cmkSecretConfig:"CmkSecretConfig",customSecretConfig:"CustomSecretConfig",subdirectory:"Subdirectory"};constructor(scope,id,props){super(scope,id,{type:CfnLocationAzureBlob.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_datasync_CfnLocationAzureBlobProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLocationAzureBlob),error}cdk().requireProperty(props,"azureBlobAuthenticationType",this),this._agentArns=props.agentArns,this._azureAccessTier=props.azureAccessTier,this._azureBlobAuthenticationType=props.azureBlobAuthenticationType,this._azureBlobContainerUrl=props.azureBlobContainerUrl,this._azureBlobSasConfiguration=props.azureBlobSasConfiguration,this._azureBlobType=props.azureBlobType,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DataSync::LocationAzureBlob",void 0,{tagPropertyName:"tags"}),this._cmkSecretConfig=props.cmkSecretConfig,this._customSecretConfig=props.customSecretConfig,this._subdirectory=props.subdirectory,this._tags=props.tags}get locationAzureBlobRef(){return{locationArn:this.ref}}get agentArns(){return this._agentArns}set agentArns(value){cdk().traceProperty(this.node,"AgentArns"),this._agentArns=value}get azureAccessTier(){return this._azureAccessTier}set azureAccessTier(value){cdk().traceProperty(this.node,"AzureAccessTier"),this._azureAccessTier=value}get azureBlobAuthenticationType(){return this._azureBlobAuthenticationType}set azureBlobAuthenticationType(value){cdk().traceProperty(this.node,"AzureBlobAuthenticationType"),this._azureBlobAuthenticationType=value}get azureBlobContainerUrl(){return this._azureBlobContainerUrl}set azureBlobContainerUrl(value){cdk().traceProperty(this.node,"AzureBlobContainerUrl"),this._azureBlobContainerUrl=value}get azureBlobSasConfiguration(){return this._azureBlobSasConfiguration}set azureBlobSasConfiguration(value){cdk().traceProperty(this.node,"AzureBlobSasConfiguration"),this._azureBlobSasConfiguration=value}get azureBlobType(){return this._azureBlobType}set azureBlobType(value){cdk().traceProperty(this.node,"AzureBlobType"),this._azureBlobType=value}get cmkSecretConfig(){return this._cmkSecretConfig}set cmkSecretConfig(value){cdk().traceProperty(this.node,"CmkSecretConfig"),this._cmkSecretConfig=value}get customSecretConfig(){return this._customSecretConfig}set customSecretConfig(value){cdk().traceProperty(this.node,"CustomSecretConfig"),this._customSecretConfig=value}get subdirectory(){return this._subdirectory}set subdirectory(value){cdk().traceProperty(this.node,"Subdirectory"),this._subdirectory=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrCmkSecretConfigSecretArn(){return cdk().Token.asString(this.getAtt("CmkSecretConfig.SecretArn",cdk().ResolutionTypeHint.STRING))}get attrLocationArn(){return cdk().Token.asString(this.getAtt("LocationArn",cdk().ResolutionTypeHint.STRING))}get attrLocationUri(){return cdk().Token.asString(this.getAtt("LocationUri",cdk().ResolutionTypeHint.STRING))}get attrManagedSecretConfig(){return this.getAtt("ManagedSecretConfig")}get cfnProperties(){return{agentArns:this._agentArns,azureAccessTier:this._azureAccessTier,azureBlobAuthenticationType:this._azureBlobAuthenticationType,azureBlobContainerUrl:this._azureBlobContainerUrl,azureBlobSasConfiguration:this._azureBlobSasConfiguration,azureBlobType:this._azureBlobType,tags:this.cdkTagManager.renderTags(this._tags),cmkSecretConfig:this._cmkSecretConfig,customSecretConfig:this._customSecretConfig,subdirectory:this._subdirectory}}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",CfnLocationAzureBlob.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLocationAzureBlobPropsToCloudFormation(props)}}exports.CfnLocationAzureBlob=CfnLocationAzureBlob;function CfnLocationAzureBlobAzureBlobSasConfigurationPropertyValidator(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("azureBlobSasToken",cdk().requiredValidator)(properties.azureBlobSasToken)),errors.collect(cdk().propertyValidator("azureBlobSasToken",cdk().validateString)(properties.azureBlobSasToken)),errors.wrap('supplied properties not correct for "AzureBlobSasConfigurationProperty"')}function convertCfnLocationAzureBlobAzureBlobSasConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationAzureBlobAzureBlobSasConfigurationPropertyValidator(properties).assertSuccess(),{AzureBlobSasToken:cdk().stringToCloudFormation(properties.azureBlobSasToken)}):properties}function CfnLocationAzureBlobAzureBlobSasConfigurationPropertyFromCloudFormation(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("azureBlobSasToken","AzureBlobSasToken",properties.AzureBlobSasToken!=null?cfn_parse().FromCloudFormation.getString(properties.AzureBlobSasToken):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationAzureBlobCmkSecretConfigPropertyValidator(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("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "CmkSecretConfigProperty"')}function convertCfnLocationAzureBlobCmkSecretConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationAzureBlobCmkSecretConfigPropertyValidator(properties).assertSuccess(),{KmsKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn),SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnLocationAzureBlobCmkSecretConfigPropertyFromCloudFormation(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("kmsKeyArn","KmsKeyArn",properties.KmsKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyArn):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationAzureBlobCustomSecretConfigPropertyValidator(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("secretAccessRoleArn",cdk().requiredValidator)(properties.secretAccessRoleArn)),errors.collect(cdk().propertyValidator("secretAccessRoleArn",cdk().validateString)(properties.secretAccessRoleArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "CustomSecretConfigProperty"')}function convertCfnLocationAzureBlobCustomSecretConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationAzureBlobCustomSecretConfigPropertyValidator(properties).assertSuccess(),{SecretAccessRoleArn:cdk().stringToCloudFormation(properties.secretAccessRoleArn),SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnLocationAzureBlobCustomSecretConfigPropertyFromCloudFormation(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("secretAccessRoleArn","SecretAccessRoleArn",properties.SecretAccessRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretAccessRoleArn):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationAzureBlobManagedSecretConfigPropertyValidator(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("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "ManagedSecretConfigProperty"')}function convertCfnLocationAzureBlobManagedSecretConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationAzureBlobManagedSecretConfigPropertyValidator(properties).assertSuccess(),{SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnLocationAzureBlobManagedSecretConfigPropertyFromCloudFormation(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("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationAzureBlobPropsValidator(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("agentArns",cdk().listValidator(cdk().validateString))(properties.agentArns)),errors.collect(cdk().propertyValidator("azureAccessTier",cdk().validateString)(properties.azureAccessTier)),errors.collect(cdk().propertyValidator("azureBlobAuthenticationType",cdk().requiredValidator)(properties.azureBlobAuthenticationType)),errors.collect(cdk().propertyValidator("azureBlobAuthenticationType",cdk().validateString)(properties.azureBlobAuthenticationType)),errors.collect(cdk().propertyValidator("azureBlobContainerUrl",cdk().validateString)(properties.azureBlobContainerUrl)),errors.collect(cdk().propertyValidator("azureBlobSasConfiguration",CfnLocationAzureBlobAzureBlobSasConfigurationPropertyValidator)(properties.azureBlobSasConfiguration)),errors.collect(cdk().propertyValidator("azureBlobType",cdk().validateString)(properties.azureBlobType)),errors.collect(cdk().propertyValidator("cmkSecretConfig",CfnLocationAzureBlobCmkSecretConfigPropertyValidator)(properties.cmkSecretConfig)),errors.collect(cdk().propertyValidator("customSecretConfig",CfnLocationAzureBlobCustomSecretConfigPropertyValidator)(properties.customSecretConfig)),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 "CfnLocationAzureBlobProps"')}function convertCfnLocationAzureBlobPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationAzureBlobPropsValidator(properties).assertSuccess(),{AgentArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.agentArns),AzureAccessTier:cdk().stringToCloudFormation(properties.azureAccessTier),AzureBlobAuthenticationType:cdk().stringToCloudFormation(properties.azureBlobAuthenticationType),AzureBlobContainerUrl:cdk().stringToCloudFormation(properties.azureBlobContainerUrl),AzureBlobSasConfiguration:convertCfnLocationAzureBlobAzureBlobSasConfigurationPropertyToCloudFormation(properties.azureBlobSasConfiguration),AzureBlobType:cdk().stringToCloudFormation(properties.azureBlobType),CmkSecretConfig:convertCfnLocationAzureBlobCmkSecretConfigPropertyToCloudFormation(properties.cmkSecretConfig),CustomSecretConfig:convertCfnLocationAzureBlobCustomSecretConfigPropertyToCloudFormation(properties.customSecretConfig),Subdirectory:cdk().stringToCloudFormation(properties.subdirectory),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnLocationAzureBlobPropsFromCloudFormation(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("agentArns","AgentArns",properties.AgentArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AgentArns):void 0),ret.addPropertyResult("azureAccessTier","AzureAccessTier",properties.AzureAccessTier!=null?cfn_parse().FromCloudFormation.getString(properties.AzureAccessTier):void 0),ret.addPropertyResult("azureBlobAuthenticationType","AzureBlobAuthenticationType",properties.AzureBlobAuthenticationType!=null?cfn_parse().FromCloudFormation.getString(properties.AzureBlobAuthenticationType):void 0),ret.addPropertyResult("azureBlobContainerUrl","AzureBlobContainerUrl",properties.AzureBlobContainerUrl!=null?cfn_parse().FromCloudFormation.getString(properties.AzureBlobContainerUrl):void 0),ret.addPropertyResult("azureBlobSasConfiguration","AzureBlobSasConfiguration",properties.AzureBlobSasConfiguration!=null?CfnLocationAzureBlobAzureBlobSasConfigurationPropertyFromCloudFormation(properties.AzureBlobSasConfiguration):void 0),ret.addPropertyResult("azureBlobType","AzureBlobType",properties.AzureBlobType!=null?cfn_parse().FromCloudFormation.getString(properties.AzureBlobType):void 0),ret.addPropertyResult("cmkSecretConfig","CmkSecretConfig",properties.CmkSecretConfig!=null?CfnLocationAzureBlobCmkSecretConfigPropertyFromCloudFormation(properties.CmkSecretConfig):void 0),ret.addPropertyResult("customSecretConfig","CustomSecretConfig",properties.CustomSecretConfig!=null?CfnLocationAzureBlobCustomSecretConfigPropertyFromCloudFormation(properties.CustomSecretConfig):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{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_datasync.CfnLocationEFS",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DataSync::LocationEFS";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLocationEFSPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const 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}static isCfnLocationEFS(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLocationEFS.CFN_RESOURCE_TYPE_NAME}_accessPointArn;_ec2Config;_efsFilesystemArn;_fileSystemAccessRoleArn;_inTransitEncryption;_subdirectory;tags;_tagsRaw;cfnPropertyNames={accessPointArn:"AccessPointArn",ec2Config:"Ec2Config",efsFilesystemArn:"EfsFilesystemArn",fileSystemAccessRoleArn:"FileSystemAccessRoleArn",inTransitEncryption:"InTransitEncryption",subdirectory:"Subdirectory",tags:"Tags"};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._accessPointArn=props.accessPointArn,this._ec2Config=props.ec2Config,this._efsFilesystemArn=cdk().getRefProperty(props.efsFilesystemArn?.fileSystemRef,"fileSystemArn")??cdk().ensureStringOrUndefined(props.efsFilesystemArn,"efsFilesystemArn","efs.IFileSystemRef | string"),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"}),this._tagsRaw=props.tags}get locationEfsRef(){return{locationArn:this.ref}}get accessPointArn(){return this._accessPointArn}set accessPointArn(value){cdk().traceProperty(this.node,"AccessPointArn"),this._accessPointArn=value}get ec2Config(){return this._ec2Config}set ec2Config(value){cdk().traceProperty(this.node,"Ec2Config"),this._ec2Config=value}get efsFilesystemArn(){return this._efsFilesystemArn}set efsFilesystemArn(value){cdk().traceProperty(this.node,"EfsFilesystemArn"),this._efsFilesystemArn=value}get fileSystemAccessRoleArn(){return this._fileSystemAccessRoleArn}set fileSystemAccessRoleArn(value){cdk().traceProperty(this.node,"FileSystemAccessRoleArn"),this._fileSystemAccessRoleArn=value}get inTransitEncryption(){return this._inTransitEncryption}set inTransitEncryption(value){cdk().traceProperty(this.node,"InTransitEncryption"),this._inTransitEncryption=value}get subdirectory(){return this._subdirectory}set subdirectory(value){cdk().traceProperty(this.node,"Subdirectory"),this._subdirectory=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrLocationArn(){return cdk().Token.asString(this.getAtt("LocationArn",cdk().ResolutionTypeHint.STRING))}get attrLocationUri(){return cdk().Token.asString(this.getAtt("LocationUri",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{accessPointArn:this._accessPointArn,ec2Config:this._ec2Config,efsFilesystemArn:this._efsFilesystemArn,fileSystemAccessRoleArn:this._fileSystemAccessRoleArn,inTransitEncryption:this._inTransitEncryption,subdirectory:this._subdirectory,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",CfnLocationEFS.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLocationEFSPropsToCloudFormation(props)}}exports.CfnLocationEFS=CfnLocationEFS;function CfnLocationEFSEc2ConfigPropertyValidator(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("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 convertCfnLocationEFSEc2ConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationEFSEc2ConfigPropertyValidator(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??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("securityGroupArns","SecurityGroupArns",properties.SecurityGroupArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupArns):void 0),ret.addPropertyResult("subnetArn","SubnetArn",properties.SubnetArn!=null?cfn_parse().FromCloudFormation.getString(properties.SubnetArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationEFSPropsValidator(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("accessPointArn",cdk().validateString)(properties.accessPointArn)),errors.collect(cdk().propertyValidator("ec2Config",cdk().requiredValidator)(properties.ec2Config)),errors.collect(cdk().propertyValidator("ec2Config",CfnLocationEFSEc2ConfigPropertyValidator)(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 convertCfnLocationEFSPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationEFSPropsValidator(properties).assertSuccess(),{AccessPointArn:cdk().stringToCloudFormation(properties.accessPointArn),Ec2Config:convertCfnLocationEFSEc2ConfigPropertyToCloudFormation(properties.ec2Config),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(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("accessPointArn","AccessPointArn",properties.AccessPointArn!=null?cfn_parse().FromCloudFormation.getString(properties.AccessPointArn):void 0),ret.addPropertyResult("ec2Config","Ec2Config",properties.Ec2Config!=null?CfnLocationEFSEc2ConfigPropertyFromCloudFormation(properties.Ec2Config):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 CfnLocationFSxLustre extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_datasync.CfnLocationFSxLustre",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DataSync::LocationFSxLustre";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLocationFSxLustrePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const 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}static isCfnLocationFSxLustre(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLocationFSxLustre.CFN_RESOURCE_TYPE_NAME}_fsxFilesystemArn;_securityGroupArns;_subdirectory;tags;_tagsRaw;cfnPropertyNames={fsxFilesystemArn:"FsxFilesystemArn",securityGroupArns:"SecurityGroupArns",subdirectory:"Subdirectory",tags:"Tags"};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._fsxFilesystemArn=props.fsxFilesystemArn,this._securityGroupArns=props.securityGroupArns,this._subdirectory=props.subdirectory,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DataSync::LocationFSxLustre",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get locationFSxLustreRef(){return{locationArn:this.ref}}get fsxFilesystemArn(){return this._fsxFilesystemArn}set fsxFilesystemArn(value){cdk().traceProperty(this.node,"FsxFilesystemArn"),this._fsxFilesystemArn=value}get securityGroupArns(){return this._securityGroupArns}set securityGroupArns(value){cdk().traceProperty(this.node,"SecurityGroupArns"),this._securityGroupArns=value}get subdirectory(){return this._subdirectory}set subdirectory(value){cdk().traceProperty(this.node,"Subdirectory"),this._subdirectory=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrLocationArn(){return cdk().Token.asString(this.getAtt("LocationArn",cdk().ResolutionTypeHint.STRING))}get attrLocationUri(){return cdk().Token.asString(this.getAtt("LocationUri",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{fsxFilesystemArn:this._fsxFilesystemArn,securityGroupArns:this._securityGroupArns,subdirectory:this._subdirectory,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",CfnLocationFSxLustre.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLocationFSxLustrePropsToCloudFormation(props)}}exports.CfnLocationFSxLustre=CfnLocationFSxLustre;function CfnLocationFSxLustrePropsValidator(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("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 convertCfnLocationFSxLustrePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationFSxLustrePropsValidator(properties).assertSuccess(),{FsxFilesystemArn:cdk().stringToCloudFormation(properties.fsxFilesystemArn),SecurityGroupArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupArns),Subdirectory:cdk().stringToCloudFormation(properties.subdirectory),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnLocationFSxLustrePropsFromCloudFormation(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("fsxFilesystemArn","FsxFilesystemArn",properties.FsxFilesystemArn!=null?cfn_parse().FromCloudFormation.getString(properties.FsxFilesystemArn):void 0),ret.addPropertyResult("securityGroupArns","SecurityGroupArns",properties.SecurityGroupArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupArns):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{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_datasync.CfnLocationFSxONTAP",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DataSync::LocationFSxONTAP";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLocationFSxONTAPPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const 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}static isCfnLocationFSxONTAP(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLocationFSxONTAP.CFN_RESOURCE_TYPE_NAME}_protocol;_securityGroupArns;_storageVirtualMachineArn;_subdirectory;tags;_tagsRaw;cfnPropertyNames={protocol:"Protocol",securityGroupArns:"SecurityGroupArns",storageVirtualMachineArn:"StorageVirtualMachineArn",subdirectory:"Subdirectory",tags:"Tags"};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._protocol=props.protocol,this._securityGroupArns=props.securityGroupArns,this._storageVirtualMachineArn=props.storageVirtualMachineArn,this._subdirectory=props.subdirectory,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DataSync::LocationFSxONTAP",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get locationFSxOntapRef(){return{locationArn:this.ref}}get protocol(){return this._protocol}set protocol(value){cdk().traceProperty(this.node,"Protocol"),this._protocol=value}get securityGroupArns(){return this._securityGroupArns}set securityGroupArns(value){cdk().traceProperty(this.node,"SecurityGroupArns"),this._securityGroupArns=value}get storageVirtualMachineArn(){return this._storageVirtualMachineArn}set storageVirtualMachineArn(value){cdk().traceProperty(this.node,"StorageVirtualMachineArn"),this._storageVirtualMachineArn=value}get subdirectory(){return this._subdirectory}set subdirectory(value){cdk().traceProperty(this.node,"Subdirectory"),this._subdirectory=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrFsxFilesystemArn(){return cdk().Token.asString(this.getAtt("FsxFilesystemArn",cdk().ResolutionTypeHint.STRING))}get attrLocationArn(){return cdk().Token.asString(this.getAtt("LocationArn",cdk().ResolutionTypeHint.STRING))}get attrLocationUri(){return cdk().Token.asString(this.getAtt("LocationUri",cdk().ResolutionTypeHint.STRING))}get attrProtocolSmbCmkSecretConfigSecretArn(){return cdk().Token.asString(this.getAtt("Protocol.SMB.CmkSecretConfig.SecretArn",cdk().ResolutionTypeHint.STRING))}get attrProtocolSmbManagedSecretConfig(){return this.getAtt("Protocol.SMB.ManagedSecretConfig")}get cfnProperties(){return{protocol:this._protocol,securityGroupArns:this._securityGroupArns,storageVirtualMachineArn:this._storageVirtualMachineArn,subdirectory:this._subdirectory,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",CfnLocationFSxONTAP.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLocationFSxONTAPPropsToCloudFormation(props)}}exports.CfnLocationFSxONTAP=CfnLocationFSxONTAP;function CfnLocationFSxONTAPSmbMountOptionsPropertyValidator(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("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "SmbMountOptionsProperty"')}function convertCfnLocationFSxONTAPSmbMountOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationFSxONTAPSmbMountOptionsPropertyValidator(properties).assertSuccess(),{Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnLocationFSxONTAPSmbMountOptionsPropertyFromCloudFormation(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("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxONTAPCmkSecretConfigPropertyValidator(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("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "CmkSecretConfigProperty"')}function convertCfnLocationFSxONTAPCmkSecretConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationFSxONTAPCmkSecretConfigPropertyValidator(properties).assertSuccess(),{KmsKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn),SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnLocationFSxONTAPCmkSecretConfigPropertyFromCloudFormation(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("kmsKeyArn","KmsKeyArn",properties.KmsKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyArn):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxONTAPCustomSecretConfigPropertyValidator(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("secretAccessRoleArn",cdk().requiredValidator)(properties.secretAccessRoleArn)),errors.collect(cdk().propertyValidator("secretAccessRoleArn",cdk().validateString)(properties.secretAccessRoleArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "CustomSecretConfigProperty"')}function convertCfnLocationFSxONTAPCustomSecretConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationFSxONTAPCustomSecretConfigPropertyValidator(properties).assertSuccess(),{SecretAccessRoleArn:cdk().stringToCloudFormation(properties.secretAccessRoleArn),SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnLocationFSxONTAPCustomSecretConfigPropertyFromCloudFormation(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("secretAccessRoleArn","SecretAccessRoleArn",properties.SecretAccessRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretAccessRoleArn):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxONTAPManagedSecretConfigPropertyValidator(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("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "ManagedSecretConfigProperty"')}function convertCfnLocationFSxONTAPManagedSecretConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationFSxONTAPManagedSecretConfigPropertyValidator(properties).assertSuccess(),{SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnLocationFSxONTAPManagedSecretConfigPropertyFromCloudFormation(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("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxONTAPSMBPropertyValidator(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("cmkSecretConfig",CfnLocationFSxONTAPCmkSecretConfigPropertyValidator)(properties.cmkSecretConfig)),errors.collect(cdk().propertyValidator("customSecretConfig",CfnLocationFSxONTAPCustomSecretConfigPropertyValidator)(properties.customSecretConfig)),errors.collect(cdk().propertyValidator("domain",cdk().validateString)(properties.domain)),errors.collect(cdk().propertyValidator("managedSecretConfig",CfnLocationFSxONTAPManagedSecretConfigPropertyValidator)(properties.managedSecretConfig)),errors.collect(cdk().propertyValidator("mountOptions",cdk().requiredValidator)(properties.mountOptions)),errors.collect(cdk().propertyValidator("mountOptions",CfnLocationFSxONTAPSmbMountOptionsPropertyValidator)(properties.mountOptions)),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 convertCfnLocationFSxONTAPSMBPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationFSxONTAPSMBPropertyValidator(properties).assertSuccess(),{CmkSecretConfig:convertCfnLocationFSxONTAPCmkSecretConfigPropertyToCloudFormation(properties.cmkSecretConfig),CustomSecretConfig:convertCfnLocationFSxONTAPCustomSecretConfigPropertyToCloudFormation(properties.customSecretConfig),Domain:cdk().stringToCloudFormation(properties.domain),ManagedSecretConfig:convertCfnLocationFSxONTAPManagedSecretConfigPropertyToCloudFormation(properties.managedSecretConfig),MountOptions:convertCfnLocationFSxONTAPSmbMountOptionsPropertyToCloudFormation(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??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("cmkSecretConfig","CmkSecretConfig",properties.CmkSecretConfig!=null?CfnLocationFSxONTAPCmkSecretConfigPropertyFromCloudFormation(properties.CmkSecretConfig):void 0),ret.addPropertyResult("customSecretConfig","CustomSecretConfig",properties.CustomSecretConfig!=null?CfnLocationFSxONTAPCustomSecretConfigPropertyFromCloudFormation(properties.CustomSecretConfig):void 0),ret.addPropertyResult("domain","Domain",properties.Domain!=null?cfn_parse().FromCloudFormation.getString(properties.Domain):void 0),ret.addPropertyResult("managedSecretConfig","ManagedSecretConfig",properties.ManagedSecretConfig!=null?CfnLocationFSxONTAPManagedSecretConfigPropertyFromCloudFormation(properties.ManagedSecretConfig):void 0),ret.addPropertyResult("mountOptions","MountOptions",properties.MountOptions!=null?CfnLocationFSxONTAPSmbMountOptionsPropertyFromCloudFormation(properties.MountOptions):void 0),ret.addPropertyResult("password","Password",properties.Password!=null?cfn_parse().FromCloudFormation.getString(properties.Password):void 0),ret.addPropertyResult("user","User",properties.User!=null?cfn_parse().FromCloudFormation.getString(properties.User):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxONTAPNfsMountOptionsPropertyValidator(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("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "NfsMountOptionsProperty"')}function convertCfnLocationFSxONTAPNfsMountOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationFSxONTAPNfsMountOptionsPropertyValidator(properties).assertSuccess(),{Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnLocationFSxONTAPNfsMountOptionsPropertyFromCloudFormation(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("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxONTAPNFSPropertyValidator(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("mountOptions",cdk().requiredValidator)(properties.mountOptions)),errors.collect(cdk().propertyValidator("mountOptions",CfnLocationFSxONTAPNfsMountOptionsPropertyValidator)(properties.mountOptions)),errors.wrap('supplied properties not correct for "NFSProperty"')}function convertCfnLocationFSxONTAPNFSPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationFSxONTAPNFSPropertyValidator(properties).assertSuccess(),{MountOptions:convertCfnLocationFSxONTAPNfsMountOptionsPropertyToCloudFormation(properties.mountOptions)}):properties}function CfnLocationFSxONTAPNFSPropertyFromCloudFormation(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("mountOptions","MountOptions",properties.MountOptions!=null?CfnLocationFSxONTAPNfsMountOptionsPropertyFromCloudFormation(properties.MountOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxONTAPProtocolPropertyValidator(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("nfs",CfnLocationFSxONTAPNFSPropertyValidator)(properties.nfs)),errors.collect(cdk().propertyValidator("smb",CfnLocationFSxONTAPSMBPropertyValidator)(properties.smb)),errors.wrap('supplied properties not correct for "ProtocolProperty"')}function convertCfnLocationFSxONTAPProtocolPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationFSxONTAPProtocolPropertyValidator(properties).assertSuccess(),{NFS:convertCfnLocationFSxONTAPNFSPropertyToCloudFormation(properties.nfs),SMB:convertCfnLocationFSxONTAPSMBPropertyToCloudFormation(properties.smb)}):properties}function CfnLocationFSxONTAPProtocolPropertyFromCloudFormation(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("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 CfnLocationFSxONTAPPropsValidator(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("protocol",CfnLocationFSxONTAPProtocolPropertyValidator)(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 convertCfnLocationFSxONTAPPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationFSxONTAPPropsValidator(properties).assertSuccess(),{Protocol:convertCfnLocationFSxONTAPProtocolPropertyToCloudFormation(properties.protocol),SecurityGroupArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupArns),StorageVirtualMachineArn:cdk().stringToCloudFormation(properties.storageVirtualMachineArn),Subdirectory:cdk().stringToCloudFormation(properties.subdirectory),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnLocationFSxONTAPPropsFromCloudFormation(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("protocol","Protocol",properties.Protocol!=null?CfnLocationFSxONTAPProtocolPropertyFromCloudFormation(properties.Protocol):void 0),ret.addPropertyResult("securityGroupArns","SecurityGroupArns",properties.SecurityGroupArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupArns):void 0),ret.addPropertyResult("storageVirtualMachineArn","StorageVirtualMachineArn",properties.StorageVirtualMachineArn!=null?cfn_parse().FromCloudFormation.getString(properties.StorageVirtualMachineArn):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{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_datasync.CfnLocationFSxOpenZFS",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DataSync::LocationFSxOpenZFS";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLocationFSxOpenZFSPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const 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}static isCfnLocationFSxOpenZFS(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLocationFSxOpenZFS.CFN_RESOURCE_TYPE_NAME}_fsxFilesystemArn;_protocol;_securityGroupArns;_subdirectory;tags;_tagsRaw;cfnPropertyNames={fsxFilesystemArn:"FsxFilesystemArn",protocol:"Protocol",securityGroupArns:"SecurityGroupArns",subdirectory:"Subdirectory",tags:"Tags"};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._fsxFilesystemArn=props.fsxFilesystemArn,this._protocol=props.protocol,this._securityGroupArns=props.securityGroupArns,this._subdirectory=props.subdirectory,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DataSync::LocationFSxOpenZFS",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get locationFSxOpenZfsRef(){return{locationArn:this.ref}}get fsxFilesystemArn(){return this._fsxFilesystemArn}set fsxFilesystemArn(value){cdk().traceProperty(this.node,"FsxFilesystemArn"),this._fsxFilesystemArn=value}get protocol(){return this._protocol}set protocol(value){cdk().traceProperty(this.node,"Protocol"),this._protocol=value}get securityGroupArns(){return this._securityGroupArns}set securityGroupArns(value){cdk().traceProperty(this.node,"SecurityGroupArns"),this._securityGroupArns=value}get subdirectory(){return this._subdirectory}set subdirectory(value){cdk().traceProperty(this.node,"Subdirectory"),this._subdirectory=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrLocationArn(){return cdk().Token.asString(this.getAtt("LocationArn",cdk().ResolutionTypeHint.STRING))}get attrLocationUri(){return cdk().Token.asString(this.getAtt("LocationUri",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{fsxFilesystemArn:this._fsxFilesystemArn,protocol:this._protocol,securityGroupArns:this._securityGroupArns,subdirectory:this._subdirectory,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",CfnLocationFSxOpenZFS.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLocationFSxOpenZFSPropsToCloudFormation(props)}}exports.CfnLocationFSxOpenZFS=CfnLocationFSxOpenZFS;function CfnLocationFSxOpenZFSMountOptionsPropertyValidator(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("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "MountOptionsProperty"')}function convertCfnLocationFSxOpenZFSMountOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationFSxOpenZFSMountOptionsPropertyValidator(properties).assertSuccess(),{Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnLocationFSxOpenZFSMountOptionsPropertyFromCloudFormation(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("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxOpenZFSNFSPropertyValidator(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("mountOptions",cdk().requiredValidator)(properties.mountOptions)),errors.collect(cdk().propertyValidator("mountOptions",CfnLocationFSxOpenZFSMountOptionsPropertyValidator)(properties.mountOptions)),errors.wrap('supplied properties not correct for "NFSProperty"')}function convertCfnLocationFSxOpenZFSNFSPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationFSxOpenZFSNFSPropertyValidator(properties).assertSuccess(),{MountOptions:convertCfnLocationFSxOpenZFSMountOptionsPropertyToCloudFormation(properties.mountOptions)}):properties}function CfnLocationFSxOpenZFSNFSPropertyFromCloudFormation(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("mountOptions","MountOptions",properties.MountOptions!=null?CfnLocationFSxOpenZFSMountOptionsPropertyFromCloudFormation(properties.MountOptions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxOpenZFSProtocolPropertyValidator(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("nfs",CfnLocationFSxOpenZFSNFSPropertyValidator)(properties.nfs)),errors.wrap('supplied properties not correct for "ProtocolProperty"')}function convertCfnLocationFSxOpenZFSProtocolPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationFSxOpenZFSProtocolPropertyValidator(properties).assertSuccess(),{NFS:convertCfnLocationFSxOpenZFSNFSPropertyToCloudFormation(properties.nfs)}):properties}function CfnLocationFSxOpenZFSProtocolPropertyFromCloudFormation(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("nfs","NFS",properties.NFS!=null?CfnLocationFSxOpenZFSNFSPropertyFromCloudFormation(properties.NFS):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxOpenZFSPropsValidator(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("fsxFilesystemArn",cdk().validateString)(properties.fsxFilesystemArn)),errors.collect(cdk().propertyValidator("protocol",cdk().requiredValidator)(properties.protocol)),errors.collect(cdk().propertyValidator("protocol",CfnLocationFSxOpenZFSProtocolPropertyValidator)(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 convertCfnLocationFSxOpenZFSPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationFSxOpenZFSPropsValidator(properties).assertSuccess(),{FsxFilesystemArn:cdk().stringToCloudFormation(properties.fsxFilesystemArn),Protocol:convertCfnLocationFSxOpenZFSProtocolPropertyToCloudFormation(properties.protocol),SecurityGroupArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupArns),Subdirectory:cdk().stringToCloudFormation(properties.subdirectory),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnLocationFSxOpenZFSPropsFromCloudFormation(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("fsxFilesystemArn","FsxFilesystemArn",properties.FsxFilesystemArn!=null?cfn_parse().FromCloudFormation.getString(properties.FsxFilesystemArn):void 0),ret.addPropertyResult("protocol","Protocol",properties.Protocol!=null?CfnLocationFSxOpenZFSProtocolPropertyFromCloudFormation(properties.Protocol):void 0),ret.addPropertyResult("securityGroupArns","SecurityGroupArns",properties.SecurityGroupArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupArns):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{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_datasync.CfnLocationFSxWindows",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DataSync::LocationFSxWindows";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLocationFSxWindowsPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const 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}static isCfnLocationFSxWindows(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLocationFSxWindows.CFN_RESOURCE_TYPE_NAME}_cmkSecretConfig;_customSecretConfig;_domain;_fsxFilesystemArn;_password;_securityGroupArns;_subdirectory;tags;_tagsRaw;_user;cfnPropertyNames={cmkSecretConfig:"CmkSecretConfig",customSecretConfig:"CustomSecretConfig",domain:"Domain",fsxFilesystemArn:"FsxFilesystemArn",password:"Password",securityGroupArns:"SecurityGroupArns",subdirectory:"Subdirectory",tags:"Tags",user:"User"};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._cmkSecretConfig=props.cmkSecretConfig,this._customSecretConfig=props.customSecretConfig,this._domain=props.domain,this._fsxFilesystemArn=props.fsxFilesystemArn,this._password=props.password,this._securityGroupArns=props.securityGroupArns,this._subdirectory=props.subdirectory,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DataSync::LocationFSxWindows",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._user=props.user}get locationFSxWindowsRef(){return{locationArn:this.ref}}get cmkSecretConfig(){return this._cmkSecretConfig}set cmkSecretConfig(value){cdk().traceProperty(this.node,"CmkSecretConfig"),this._cmkSecretConfig=value}get customSecretConfig(){return this._customSecretConfig}set customSecretConfig(value){cdk().traceProperty(this.node,"CustomSecretConfig"),this._customSecretConfig=value}get domain(){return this._domain}set domain(value){cdk().traceProperty(this.node,"Domain"),this._domain=value}get fsxFilesystemArn(){return this._fsxFilesystemArn}set fsxFilesystemArn(value){cdk().traceProperty(this.node,"FsxFilesystemArn"),this._fsxFilesystemArn=value}get password(){return this._password}set password(value){cdk().traceProperty(this.node,"Password"),this._password=value}get securityGroupArns(){return this._securityGroupArns}set securityGroupArns(value){cdk().traceProperty(this.node,"SecurityGroupArns"),this._securityGroupArns=value}get subdirectory(){return this._subdirectory}set subdirectory(value){cdk().traceProperty(this.node,"Subdirectory"),this._subdirectory=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get user(){return this._user}set user(value){cdk().traceProperty(this.node,"User"),this._user=value}get attrCmkSecretConfigSecretArn(){return cdk().Token.asString(this.getAtt("CmkSecretConfig.SecretArn",cdk().ResolutionTypeHint.STRING))}get attrLocationArn(){return cdk().Token.asString(this.getAtt("LocationArn",cdk().ResolutionTypeHint.STRING))}get attrLocationUri(){return cdk().Token.asString(this.getAtt("LocationUri",cdk().ResolutionTypeHint.STRING))}get attrManagedSecretConfig(){return this.getAtt("ManagedSecretConfig")}get cfnProperties(){return{cmkSecretConfig:this._cmkSecretConfig,customSecretConfig:this._customSecretConfig,domain:this._domain,fsxFilesystemArn:this._fsxFilesystemArn,password:this._password,securityGroupArns:this._securityGroupArns,subdirectory:this._subdirectory,tags:this.tags.renderTags(),user:this._user}}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLocationFSxWindowsPropsToCloudFormation(props)}}exports.CfnLocationFSxWindows=CfnLocationFSxWindows;function CfnLocationFSxWindowsCmkSecretConfigPropertyValidator(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("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "CmkSecretConfigProperty"')}function convertCfnLocationFSxWindowsCmkSecretConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationFSxWindowsCmkSecretConfigPropertyValidator(properties).assertSuccess(),{KmsKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn),SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnLocationFSxWindowsCmkSecretConfigPropertyFromCloudFormation(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("kmsKeyArn","KmsKeyArn",properties.KmsKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyArn):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxWindowsCustomSecretConfigPropertyValidator(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("secretAccessRoleArn",cdk().requiredValidator)(properties.secretAccessRoleArn)),errors.collect(cdk().propertyValidator("secretAccessRoleArn",cdk().validateString)(properties.secretAccessRoleArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "CustomSecretConfigProperty"')}function convertCfnLocationFSxWindowsCustomSecretConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationFSxWindowsCustomSecretConfigPropertyValidator(properties).assertSuccess(),{SecretAccessRoleArn:cdk().stringToCloudFormation(properties.secretAccessRoleArn),SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnLocationFSxWindowsCustomSecretConfigPropertyFromCloudFormation(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("secretAccessRoleArn","SecretAccessRoleArn",properties.SecretAccessRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretAccessRoleArn):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxWindowsManagedSecretConfigPropertyValidator(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("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "ManagedSecretConfigProperty"')}function convertCfnLocationFSxWindowsManagedSecretConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationFSxWindowsManagedSecretConfigPropertyValidator(properties).assertSuccess(),{SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnLocationFSxWindowsManagedSecretConfigPropertyFromCloudFormation(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("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationFSxWindowsPropsValidator(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("cmkSecretConfig",CfnLocationFSxWindowsCmkSecretConfigPropertyValidator)(properties.cmkSecretConfig)),errors.collect(cdk().propertyValidator("customSecretConfig",CfnLocationFSxWindowsCustomSecretConfigPropertyValidator)(properties.customSecretConfig)),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 convertCfnLocationFSxWindowsPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationFSxWindowsPropsValidator(properties).assertSuccess(),{CmkSecretConfig:convertCfnLocationFSxWindowsCmkSecretConfigPropertyToCloudFormation(properties.cmkSecretConfig),CustomSecretConfig:convertCfnLocationFSxWindowsCustomSecretConfigPropertyToCloudFormation(properties.customSecretConfig),Domain:cdk().stringToCloudFormation(properties.domain),FsxFilesystemArn:cdk().stringToCloudFormation(properties.fsxFilesystemArn),Password:cdk().stringToCloudFormation(properties.password),SecurityGroupArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupArns),Subdirectory:cdk().stringToCloudFormation(properties.subdirectory),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),User:cdk().stringToCloudFormation(properties.user)}):properties}function CfnLocationFSxWindowsPropsFromCloudFormation(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("cmkSecretConfig","CmkSecretConfig",properties.CmkSecretConfig!=null?CfnLocationFSxWindowsCmkSecretConfigPropertyFromCloudFormation(properties.CmkSecretConfig):void 0),ret.addPropertyResult("customSecretConfig","CustomSecretConfig",properties.CustomSecretConfig!=null?CfnLocationFSxWindowsCustomSecretConfigPropertyFromCloudFormation(properties.CustomSecretConfig):void 0),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("securityGroupArns","SecurityGroupArns",properties.SecurityGroupArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupArns):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.addPropertyResult("user","User",properties.User!=null?cfn_parse().FromCloudFormation.getString(properties.User):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnLocationHDFS extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_datasync.CfnLocationHDFS",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DataSync::LocationHDFS";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLocationHDFSPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnLocationHDFS(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 isCfnLocationHDFS(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLocationHDFS.CFN_RESOURCE_TYPE_NAME}_agentArns;_authenticationType;_blockSize;_cmkSecretConfig;_customSecretConfig;_kerberosKeytab;_kerberosKrb5Conf;_kerberosPrincipal;_kmsKeyProviderUri;_nameNodes;_qopConfiguration;_replicationFactor;_simpleUser;_subdirectory;tags;_tagsRaw;cfnPropertyNames={agentArns:"AgentArns",authenticationType:"AuthenticationType",blockSize:"BlockSize",cmkSecretConfig:"CmkSecretConfig",customSecretConfig:"CustomSecretConfig",kerberosKeytab:"KerberosKeytab",kerberosKrb5Conf:"KerberosKrb5Conf",kerberosPrincipal:"KerberosPrincipal",kmsKeyProviderUri:"KmsKeyProviderUri",nameNodes:"NameNodes",qopConfiguration:"QopConfiguration",replicationFactor:"ReplicationFactor",simpleUser:"SimpleUser",subdirectory:"Subdirectory",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnLocationHDFS.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_datasync_CfnLocationHDFSProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLocationHDFS),error}cdk().requireProperty(props,"agentArns",this),cdk().requireProperty(props,"authenticationType",this),cdk().requireProperty(props,"nameNodes",this),this._agentArns=props.agentArns,this._authenticationType=props.authenticationType,this._blockSize=props.blockSize,this._cmkSecretConfig=props.cmkSecretConfig,this._customSecretConfig=props.customSecretConfig,this._kerberosKeytab=props.kerberosKeytab,this._kerberosKrb5Conf=props.kerberosKrb5Conf,this._kerberosPrincipal=props.kerberosPrincipal,this._kmsKeyProviderUri=props.kmsKeyProviderUri,this._nameNodes=props.nameNodes,this._qopConfiguration=props.qopConfiguration,this._replicationFactor=props.replicationFactor,this._simpleUser=props.simpleUser,this._subdirectory=props.subdirectory,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DataSync::LocationHDFS",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get locationHdfsRef(){return{locationArn:this.ref}}get agentArns(){return this._agentArns}set agentArns(value){cdk().traceProperty(this.node,"AgentArns"),this._agentArns=value}get authenticationType(){return this._authenticationType}set authenticationType(value){cdk().traceProperty(this.node,"AuthenticationType"),this._authenticationType=value}get blockSize(){return this._blockSize}set blockSize(value){cdk().traceProperty(this.node,"BlockSize"),this._blockSize=value}get cmkSecretConfig(){return this._cmkSecretConfig}set cmkSecretConfig(value){cdk().traceProperty(this.node,"CmkSecretConfig"),this._cmkSecretConfig=value}get customSecretConfig(){return this._customSecretConfig}set customSecretConfig(value){cdk().traceProperty(this.node,"CustomSecretConfig"),this._customSecretConfig=value}get kerberosKeytab(){return this._kerberosKeytab}set kerberosKeytab(value){cdk().traceProperty(this.node,"KerberosKeytab"),this._kerberosKeytab=value}get kerberosKrb5Conf(){return this._kerberosKrb5Conf}set kerberosKrb5Conf(value){cdk().traceProperty(this.node,"KerberosKrb5Conf"),this._kerberosKrb5Conf=value}get kerberosPrincipal(){return this._kerberosPrincipal}set kerberosPrincipal(value){cdk().traceProperty(this.node,"KerberosPrincipal"),this._kerberosPrincipal=value}get kmsKeyProviderUri(){return this._kmsKeyProviderUri}set kmsKeyProviderUri(value){cdk().traceProperty(this.node,"KmsKeyProviderUri"),this._kmsKeyProviderUri=value}get nameNodes(){return this._nameNodes}set nameNodes(value){cdk().traceProperty(this.node,"NameNodes"),this._nameNodes=value}get qopConfiguration(){return this._qopConfiguration}set qopConfiguration(value){cdk().traceProperty(this.node,"QopConfiguration"),this._qopConfiguration=value}get replicationFactor(){return this._replicationFactor}set replicationFactor(value){cdk().traceProperty(this.node,"ReplicationFactor"),this._replicationFactor=value}get simpleUser(){return this._simpleUser}set simpleUser(value){cdk().traceProperty(this.node,"SimpleUser"),this._simpleUser=value}get subdirectory(){return this._subdirectory}set subdirectory(value){cdk().traceProperty(this.node,"Subdirectory"),this._subdirectory=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrCmkSecretConfigSecretArn(){return cdk().Token.asString(this.getAtt("CmkSecretConfig.SecretArn",cdk().ResolutionTypeHint.STRING))}get attrLocationArn(){return cdk().Token.asString(this.getAtt("LocationArn",cdk().ResolutionTypeHint.STRING))}get attrLocationUri(){return cdk().Token.asString(this.getAtt("LocationUri",cdk().ResolutionTypeHint.STRING))}get attrManagedSecretConfig(){return this.getAtt("ManagedSecretConfig")}get cfnProperties(){return{agentArns:this._agentArns,authenticationType:this._authenticationType,blockSize:this._blockSize,cmkSecretConfig:this._cmkSecretConfig,customSecretConfig:this._customSecretConfig,kerberosKeytab:this._kerberosKeytab,kerberosKrb5Conf:this._kerberosKrb5Conf,kerberosPrincipal:this._kerberosPrincipal,kmsKeyProviderUri:this._kmsKeyProviderUri,nameNodes:this._nameNodes,qopConfiguration:this._qopConfiguration,replicationFactor:this._replicationFactor,simpleUser:this._simpleUser,subdirectory:this._subdirectory,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",CfnLocationHDFS.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLocationHDFSPropsToCloudFormation(props)}}exports.CfnLocationHDFS=CfnLocationHDFS;function CfnLocationHDFSQopConfigurationPropertyValidator(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("dataTransferProtection",cdk().validateString)(properties.dataTransferProtection)),errors.collect(cdk().propertyValidator("rpcProtection",cdk().validateString)(properties.rpcProtection)),errors.wrap('supplied properties not correct for "QopConfigurationProperty"')}function convertCfnLocationHDFSQopConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationHDFSQopConfigurationPropertyValidator(properties).assertSuccess(),{DataTransferProtection:cdk().stringToCloudFormation(properties.dataTransferProtection),RpcProtection:cdk().stringToCloudFormation(properties.rpcProtection)}):properties}function CfnLocationHDFSQopConfigurationPropertyFromCloudFormation(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("dataTransferProtection","DataTransferProtection",properties.DataTransferProtection!=null?cfn_parse().FromCloudFormation.getString(properties.DataTransferProtection):void 0),ret.addPropertyResult("rpcProtection","RpcProtection",properties.RpcProtection!=null?cfn_parse().FromCloudFormation.getString(properties.RpcProtection):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationHDFSNameNodePropertyValidator(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("hostname",cdk().requiredValidator)(properties.hostname)),errors.collect(cdk().propertyValidator("hostname",cdk().validateString)(properties.hostname)),errors.collect(cdk().propertyValidator("port",cdk().requiredValidator)(properties.port)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.wrap('supplied properties not correct for "NameNodeProperty"')}function convertCfnLocationHDFSNameNodePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationHDFSNameNodePropertyValidator(properties).assertSuccess(),{Hostname:cdk().stringToCloudFormation(properties.hostname),Port:cdk().numberToCloudFormation(properties.port)}):properties}function CfnLocationHDFSNameNodePropertyFromCloudFormation(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("hostname","Hostname",properties.Hostname!=null?cfn_parse().FromCloudFormation.getString(properties.Hostname):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationHDFSCmkSecretConfigPropertyValidator(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("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "CmkSecretConfigProperty"')}function convertCfnLocationHDFSCmkSecretConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationHDFSCmkSecretConfigPropertyValidator(properties).assertSuccess(),{KmsKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn),SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnLocationHDFSCmkSecretConfigPropertyFromCloudFormation(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("kmsKeyArn","KmsKeyArn",properties.KmsKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyArn):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationHDFSCustomSecretConfigPropertyValidator(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("secretAccessRoleArn",cdk().requiredValidator)(properties.secretAccessRoleArn)),errors.collect(cdk().propertyValidator("secretAccessRoleArn",cdk().validateString)(properties.secretAccessRoleArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "CustomSecretConfigProperty"')}function convertCfnLocationHDFSCustomSecretConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationHDFSCustomSecretConfigPropertyValidator(properties).assertSuccess(),{SecretAccessRoleArn:cdk().stringToCloudFormation(properties.secretAccessRoleArn),SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnLocationHDFSCustomSecretConfigPropertyFromCloudFormation(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("secretAccessRoleArn","SecretAccessRoleArn",properties.SecretAccessRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretAccessRoleArn):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationHDFSManagedSecretConfigPropertyValidator(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("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "ManagedSecretConfigProperty"')}function convertCfnLocationHDFSManagedSecretConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationHDFSManagedSecretConfigPropertyValidator(properties).assertSuccess(),{SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnLocationHDFSManagedSecretConfigPropertyFromCloudFormation(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("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationHDFSPropsValidator(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("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("cmkSecretConfig",CfnLocationHDFSCmkSecretConfigPropertyValidator)(properties.cmkSecretConfig)),errors.collect(cdk().propertyValidator("customSecretConfig",CfnLocationHDFSCustomSecretConfigPropertyValidator)(properties.customSecretConfig)),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(CfnLocationHDFSNameNodePropertyValidator))(properties.nameNodes)),errors.collect(cdk().propertyValidator("qopConfiguration",CfnLocationHDFSQopConfigurationPropertyValidator)(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 convertCfnLocationHDFSPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationHDFSPropsValidator(properties).assertSuccess(),{AgentArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.agentArns),AuthenticationType:cdk().stringToCloudFormation(properties.authenticationType),BlockSize:cdk().numberToCloudFormation(properties.blockSize),CmkSecretConfig:convertCfnLocationHDFSCmkSecretConfigPropertyToCloudFormation(properties.cmkSecretConfig),CustomSecretConfig:convertCfnLocationHDFSCustomSecretConfigPropertyToCloudFormation(properties.customSecretConfig),KerberosKeytab:cdk().stringToCloudFormation(properties.kerberosKeytab),KerberosKrb5Conf:cdk().stringToCloudFormation(properties.kerberosKrb5Conf),KerberosPrincipal:cdk().stringToCloudFormation(properties.kerberosPrincipal),KmsKeyProviderUri:cdk().stringToCloudFormation(properties.kmsKeyProviderUri),NameNodes:cdk().listMapper(convertCfnLocationHDFSNameNodePropertyToCloudFormation)(properties.nameNodes),QopConfiguration:convertCfnLocationHDFSQopConfigurationPropertyToCloudFormation(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(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("agentArns","AgentArns",properties.AgentArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AgentArns):void 0),ret.addPropertyResult("authenticationType","AuthenticationType",properties.AuthenticationType!=null?cfn_parse().FromCloudFormation.getString(properties.AuthenticationType):void 0),ret.addPropertyResult("blockSize","BlockSize",properties.BlockSize!=null?cfn_parse().FromCloudFormation.getNumber(properties.BlockSize):void 0),ret.addPropertyResult("cmkSecretConfig","CmkSecretConfig",properties.CmkSecretConfig!=null?CfnLocationHDFSCmkSecretConfigPropertyFromCloudFormation(properties.CmkSecretConfig):void 0),ret.addPropertyResult("customSecretConfig","CustomSecretConfig",properties.CustomSecretConfig!=null?CfnLocationHDFSCustomSecretConfigPropertyFromCloudFormation(properties.CustomSecretConfig):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.addPropertyResult("kerberosPrincipal","KerberosPrincipal",properties.KerberosPrincipal!=null?cfn_parse().FromCloudFormation.getString(properties.KerberosPrincipal):void 0),ret.addPropertyResult("kmsKeyProviderUri","KmsKeyProviderUri",properties.KmsKeyProviderUri!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyProviderUri):void 0),ret.addPropertyResult("nameNodes","NameNodes",properties.NameNodes!=null?cfn_parse().FromCloudFormation.getArray(CfnLocationHDFSNameNodePropertyFromCloudFormation)(properties.NameNodes):void 0),ret.addPropertyResult("qopConfiguration","QopConfiguration",properties.QopConfiguration!=null?CfnLocationHDFSQopConfigurationPropertyFromCloudFormation(properties.QopConfiguration):void 0),ret.addPropertyResult("replicationFactor","ReplicationFactor",properties.ReplicationFactor!=null?cfn_parse().FromCloudFormation.getNumber(properties.ReplicationFactor):void 0),ret.addPropertyResult("simpleUser","SimpleUser",properties.SimpleUser!=null?cfn_parse().FromCloudFormation.getString(properties.SimpleUser):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 CfnLocationNFS extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_datasync.CfnLocationNFS",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DataSync::LocationNFS";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLocationNFSPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnLocationNFS(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 isCfnLocationNFS(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLocationNFS.CFN_RESOURCE_TYPE_NAME}_mountOptions;_onPremConfig;_serverHostname;_subdirectory;tags;_tagsRaw;cfnPropertyNames={mountOptions:"MountOptions",onPremConfig:"OnPremConfig",serverHostname:"ServerHostname",subdirectory:"Subdirectory",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnLocationNFS.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_datasync_CfnLocationNFSProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLocationNFS),error}cdk().requireProperty(props,"onPremConfig",this),this._mountOptions=props.mountOptions,this._onPremConfig=props.onPremConfig,this._serverHostname=props.serverHostname,this._subdirectory=props.subdirectory,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DataSync::LocationNFS",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get locationNfsRef(){return{locationArn:this.ref}}get mountOptions(){return this._mountOptions}set mountOptions(value){cdk().traceProperty(this.node,"MountOptions"),this._mountOptions=value}get onPremConfig(){return this._onPremConfig}set onPremConfig(value){cdk().traceProperty(this.node,"OnPremConfig"),this._onPremConfig=value}get serverHostname(){return this._serverHostname}set serverHostname(value){cdk().traceProperty(this.node,"ServerHostname"),this._serverHostname=value}get subdirectory(){return this._subdirectory}set subdirectory(value){cdk().traceProperty(this.node,"Subdirectory"),this._subdirectory=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrLocationArn(){return cdk().Token.asString(this.getAtt("LocationArn",cdk().ResolutionTypeHint.STRING))}get attrLocationUri(){return cdk().Token.asString(this.getAtt("LocationUri",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{mountOptions:this._mountOptions,onPremConfig:this._onPremConfig,serverHostname:this._serverHostname,subdirectory:this._subdirectory,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",CfnLocationNFS.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLocationNFSPropsToCloudFormation(props)}}exports.CfnLocationNFS=CfnLocationNFS;function CfnLocationNFSMountOptionsPropertyValidator(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("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "MountOptionsProperty"')}function convertCfnLocationNFSMountOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationNFSMountOptionsPropertyValidator(properties).assertSuccess(),{Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnLocationNFSMountOptionsPropertyFromCloudFormation(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("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationNFSOnPremConfigPropertyValidator(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("agentArns",cdk().requiredValidator)(properties.agentArns)),errors.collect(cdk().propertyValidator("agentArns",cdk().listValidator(cdk().validateString))(properties.agentArns)),errors.wrap('supplied properties not correct for "OnPremConfigProperty"')}function convertCfnLocationNFSOnPremConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationNFSOnPremConfigPropertyValidator(properties).assertSuccess(),{AgentArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.agentArns)}):properties}function CfnLocationNFSOnPremConfigPropertyFromCloudFormation(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("agentArns","AgentArns",properties.AgentArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AgentArns):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationNFSPropsValidator(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("mountOptions",CfnLocationNFSMountOptionsPropertyValidator)(properties.mountOptions)),errors.collect(cdk().propertyValidator("onPremConfig",cdk().requiredValidator)(properties.onPremConfig)),errors.collect(cdk().propertyValidator("onPremConfig",CfnLocationNFSOnPremConfigPropertyValidator)(properties.onPremConfig)),errors.collect(cdk().propertyValidator("serverHostname",cdk().validateString)(properties.serverHostname)),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 "CfnLocationNFSProps"')}function convertCfnLocationNFSPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationNFSPropsValidator(properties).assertSuccess(),{MountOptions:convertCfnLocationNFSMountOptionsPropertyToCloudFormation(properties.mountOptions),OnPremConfig:convertCfnLocationNFSOnPremConfigPropertyToCloudFormation(properties.onPremConfig),ServerHostname:cdk().stringToCloudFormation(properties.serverHostname),Subdirectory:cdk().stringToCloudFormation(properties.subdirectory),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnLocationNFSPropsFromCloudFormation(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("mountOptions","MountOptions",properties.MountOptions!=null?CfnLocationNFSMountOptionsPropertyFromCloudFormation(properties.MountOptions):void 0),ret.addPropertyResult("onPremConfig","OnPremConfig",properties.OnPremConfig!=null?CfnLocationNFSOnPremConfigPropertyFromCloudFormation(properties.OnPremConfig):void 0),ret.addPropertyResult("serverHostname","ServerHostname",properties.ServerHostname!=null?cfn_parse().FromCloudFormation.getString(properties.ServerHostname):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 CfnLocationObjectStorage extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_datasync.CfnLocationObjectStorage",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DataSync::LocationObjectStorage";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLocationObjectStoragePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnLocationObjectStorage(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 isCfnLocationObjectStorage(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLocationObjectStorage.CFN_RESOURCE_TYPE_NAME}_accessKey;_agentArns;_bucketName;_cmkSecretConfig;_customSecretConfig;_secretKey;_serverCertificate;_serverHostname;_serverPort;_serverProtocol;_subdirectory;tags;_tagsRaw;cfnPropertyNames={accessKey:"AccessKey",agentArns:"AgentArns",bucketName:"BucketName",cmkSecretConfig:"CmkSecretConfig",customSecretConfig:"CustomSecretConfig",secretKey:"SecretKey",serverCertificate:"ServerCertificate",serverHostname:"ServerHostname",serverPort:"ServerPort",serverProtocol:"ServerProtocol",subdirectory:"Subdirectory",tags:"Tags"};constructor(scope,id,props={}){super(scope,id,{type:CfnLocationObjectStorage.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_datasync_CfnLocationObjectStorageProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLocationObjectStorage),error}this._accessKey=props.accessKey,this._agentArns=props.agentArns,this._bucketName=props.bucketName,this._cmkSecretConfig=props.cmkSecretConfig,this._customSecretConfig=props.customSecretConfig,this._secretKey=props.secretKey,this._serverCertificate=props.serverCertificate,this._serverHostname=props.serverHostname,this._serverPort=props.serverPort,this._serverProtocol=props.serverProtocol,this._subdirectory=props.subdirectory,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DataSync::LocationObjectStorage",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get locationObjectStorageRef(){return{locationArn:this.ref}}get accessKey(){return this._accessKey}set accessKey(value){cdk().traceProperty(this.node,"AccessKey"),this._accessKey=value}get agentArns(){return this._agentArns}set agentArns(value){cdk().traceProperty(this.node,"AgentArns"),this._agentArns=value}get bucketName(){return this._bucketName}set bucketName(value){cdk().traceProperty(this.node,"BucketName"),this._bucketName=value}get cmkSecretConfig(){return this._cmkSecretConfig}set cmkSecretConfig(value){cdk().traceProperty(this.node,"CmkSecretConfig"),this._cmkSecretConfig=value}get customSecretConfig(){return this._customSecretConfig}set customSecretConfig(value){cdk().traceProperty(this.node,"CustomSecretConfig"),this._customSecretConfig=value}get secretKey(){return this._secretKey}set secretKey(value){cdk().traceProperty(this.node,"SecretKey"),this._secretKey=value}get serverCertificate(){return this._serverCertificate}set serverCertificate(value){cdk().traceProperty(this.node,"ServerCertificate"),this._serverCertificate=value}get serverHostname(){return this._serverHostname}set serverHostname(value){cdk().traceProperty(this.node,"ServerHostname"),this._serverHostname=value}get serverPort(){return this._serverPort}set serverPort(value){cdk().traceProperty(this.node,"ServerPort"),this._serverPort=value}get serverProtocol(){return this._serverProtocol}set serverProtocol(value){cdk().traceProperty(this.node,"ServerProtocol"),this._serverProtocol=value}get subdirectory(){return this._subdirectory}set subdirectory(value){cdk().traceProperty(this.node,"Subdirectory"),this._subdirectory=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrCmkSecretConfigSecretArn(){return cdk().Token.asString(this.getAtt("CmkSecretConfig.SecretArn",cdk().ResolutionTypeHint.STRING))}get attrLocationArn(){return cdk().Token.asString(this.getAtt("LocationArn",cdk().ResolutionTypeHint.STRING))}get attrLocationUri(){return cdk().Token.asString(this.getAtt("LocationUri",cdk().ResolutionTypeHint.STRING))}get attrManagedSecretConfig(){return this.getAtt("ManagedSecretConfig")}get cfnProperties(){return{accessKey:this._accessKey,agentArns:this._agentArns,bucketName:this._bucketName,cmkSecretConfig:this._cmkSecretConfig,customSecretConfig:this._customSecretConfig,secretKey:this._secretKey,serverCertificate:this._serverCertificate,serverHostname:this._serverHostname,serverPort:this._serverPort,serverProtocol:this._serverProtocol,subdirectory:this._subdirectory,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",CfnLocationObjectStorage.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLocationObjectStoragePropsToCloudFormation(props)}}exports.CfnLocationObjectStorage=CfnLocationObjectStorage;function CfnLocationObjectStorageCmkSecretConfigPropertyValidator(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("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "CmkSecretConfigProperty"')}function convertCfnLocationObjectStorageCmkSecretConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationObjectStorageCmkSecretConfigPropertyValidator(properties).assertSuccess(),{KmsKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn),SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnLocationObjectStorageCmkSecretConfigPropertyFromCloudFormation(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("kmsKeyArn","KmsKeyArn",properties.KmsKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyArn):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationObjectStorageCustomSecretConfigPropertyValidator(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("secretAccessRoleArn",cdk().requiredValidator)(properties.secretAccessRoleArn)),errors.collect(cdk().propertyValidator("secretAccessRoleArn",cdk().validateString)(properties.secretAccessRoleArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "CustomSecretConfigProperty"')}function convertCfnLocationObjectStorageCustomSecretConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationObjectStorageCustomSecretConfigPropertyValidator(properties).assertSuccess(),{SecretAccessRoleArn:cdk().stringToCloudFormation(properties.secretAccessRoleArn),SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnLocationObjectStorageCustomSecretConfigPropertyFromCloudFormation(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("secretAccessRoleArn","SecretAccessRoleArn",properties.SecretAccessRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretAccessRoleArn):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationObjectStorageManagedSecretConfigPropertyValidator(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("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "ManagedSecretConfigProperty"')}function convertCfnLocationObjectStorageManagedSecretConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationObjectStorageManagedSecretConfigPropertyValidator(properties).assertSuccess(),{SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnLocationObjectStorageManagedSecretConfigPropertyFromCloudFormation(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("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationObjectStoragePropsValidator(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("accessKey",cdk().validateString)(properties.accessKey)),errors.collect(cdk().propertyValidator("agentArns",cdk().listValidator(cdk().validateString))(properties.agentArns)),errors.collect(cdk().propertyValidator("bucketName",cdk().validateString)(properties.bucketName)),errors.collect(cdk().propertyValidator("cmkSecretConfig",CfnLocationObjectStorageCmkSecretConfigPropertyValidator)(properties.cmkSecretConfig)),errors.collect(cdk().propertyValidator("customSecretConfig",CfnLocationObjectStorageCustomSecretConfigPropertyValidator)(properties.customSecretConfig)),errors.collect(cdk().propertyValidator("secretKey",cdk().validateString)(properties.secretKey)),errors.collect(cdk().propertyValidator("serverCertificate",cdk().validateString)(properties.serverCertificate)),errors.collect(cdk().propertyValidator("serverHostname",cdk().validateString)(properties.serverHostname)),errors.collect(cdk().propertyValidator("serverPort",cdk().validateNumber)(properties.serverPort)),errors.collect(cdk().propertyValidator("serverProtocol",cdk().validateString)(properties.serverProtocol)),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 "CfnLocationObjectStorageProps"')}function convertCfnLocationObjectStoragePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationObjectStoragePropsValidator(properties).assertSuccess(),{AccessKey:cdk().stringToCloudFormation(properties.accessKey),AgentArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.agentArns),BucketName:cdk().stringToCloudFormation(properties.bucketName),CmkSecretConfig:convertCfnLocationObjectStorageCmkSecretConfigPropertyToCloudFormation(properties.cmkSecretConfig),CustomSecretConfig:convertCfnLocationObjectStorageCustomSecretConfigPropertyToCloudFormation(properties.customSecretConfig),SecretKey:cdk().stringToCloudFormation(properties.secretKey),ServerCertificate:cdk().stringToCloudFormation(properties.serverCertificate),ServerHostname:cdk().stringToCloudFormation(properties.serverHostname),ServerPort:cdk().numberToCloudFormation(properties.serverPort),ServerProtocol:cdk().stringToCloudFormation(properties.serverProtocol),Subdirectory:cdk().stringToCloudFormation(properties.subdirectory),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnLocationObjectStoragePropsFromCloudFormation(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("accessKey","AccessKey",properties.AccessKey!=null?cfn_parse().FromCloudFormation.getString(properties.AccessKey):void 0),ret.addPropertyResult("agentArns","AgentArns",properties.AgentArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AgentArns):void 0),ret.addPropertyResult("bucketName","BucketName",properties.BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.BucketName):void 0),ret.addPropertyResult("cmkSecretConfig","CmkSecretConfig",properties.CmkSecretConfig!=null?CfnLocationObjectStorageCmkSecretConfigPropertyFromCloudFormation(properties.CmkSecretConfig):void 0),ret.addPropertyResult("customSecretConfig","CustomSecretConfig",properties.CustomSecretConfig!=null?CfnLocationObjectStorageCustomSecretConfigPropertyFromCloudFormation(properties.CustomSecretConfig):void 0),ret.addPropertyResult("secretKey","SecretKey",properties.SecretKey!=null?cfn_parse().FromCloudFormation.getString(properties.SecretKey):void 0),ret.addPropertyResult("serverCertificate","ServerCertificate",properties.ServerCertificate!=null?cfn_parse().FromCloudFormation.getString(properties.ServerCertificate):void 0),ret.addPropertyResult("serverHostname","ServerHostname",properties.ServerHostname!=null?cfn_parse().FromCloudFormation.getString(properties.ServerHostname):void 0),ret.addPropertyResult("serverPort","ServerPort",properties.ServerPort!=null?cfn_parse().FromCloudFormation.getNumber(properties.ServerPort):void 0),ret.addPropertyResult("serverProtocol","ServerProtocol",properties.ServerProtocol!=null?cfn_parse().FromCloudFormation.getString(properties.ServerProtocol):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 CfnLocationS3 extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_datasync.CfnLocationS3",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DataSync::LocationS3";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLocationS3PropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnLocationS3(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 isCfnLocationS3(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLocationS3.CFN_RESOURCE_TYPE_NAME}_s3BucketArn;_s3Config;_s3StorageClass;_subdirectory;tags;_tagsRaw;cfnPropertyNames={s3BucketArn:"S3BucketArn",s3Config:"S3Config",s3StorageClass:"S3StorageClass",subdirectory:"Subdirectory",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnLocationS3.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_datasync_CfnLocationS3Props(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLocationS3),error}cdk().requireProperty(props,"s3Config",this),this._s3BucketArn=cdk().getRefProperty(props.s3BucketArn?.bucketRef,"bucketArn")??cdk().ensureStringOrUndefined(props.s3BucketArn,"s3BucketArn","s3.IBucketRef | string"),this._s3Config=props.s3Config,this._s3StorageClass=props.s3StorageClass,this._subdirectory=props.subdirectory,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DataSync::LocationS3",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get locationS3Ref(){return{locationArn:this.ref}}get s3BucketArn(){return this._s3BucketArn}set s3BucketArn(value){cdk().traceProperty(this.node,"S3BucketArn"),this._s3BucketArn=value}get s3Config(){return this._s3Config}set s3Config(value){cdk().traceProperty(this.node,"S3Config"),this._s3Config=value}get s3StorageClass(){return this._s3StorageClass}set s3StorageClass(value){cdk().traceProperty(this.node,"S3StorageClass"),this._s3StorageClass=value}get subdirectory(){return this._subdirectory}set subdirectory(value){cdk().traceProperty(this.node,"Subdirectory"),this._subdirectory=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrLocationArn(){return cdk().Token.asString(this.getAtt("LocationArn",cdk().ResolutionTypeHint.STRING))}get attrLocationUri(){return cdk().Token.asString(this.getAtt("LocationUri",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{s3BucketArn:this._s3BucketArn,s3Config:this._s3Config,s3StorageClass:this._s3StorageClass,subdirectory:this._subdirectory,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",CfnLocationS3.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLocationS3PropsToCloudFormation(props)}}exports.CfnLocationS3=CfnLocationS3;function CfnLocationS3S3ConfigPropertyValidator(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("bucketAccessRoleArn",cdk().requiredValidator)(properties.bucketAccessRoleArn)),errors.collect(cdk().propertyValidator("bucketAccessRoleArn",cdk().validateString)(properties.bucketAccessRoleArn)),errors.wrap('supplied properties not correct for "S3ConfigProperty"')}function convertCfnLocationS3S3ConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationS3S3ConfigPropertyValidator(properties).assertSuccess(),{BucketAccessRoleArn:cdk().stringToCloudFormation(properties.bucketAccessRoleArn)}):properties}function CfnLocationS3S3ConfigPropertyFromCloudFormation(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("bucketAccessRoleArn","BucketAccessRoleArn",properties.BucketAccessRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.BucketAccessRoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationS3PropsValidator(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("s3BucketArn",cdk().validateString)(properties.s3BucketArn)),errors.collect(cdk().propertyValidator("s3Config",cdk().requiredValidator)(properties.s3Config)),errors.collect(cdk().propertyValidator("s3Config",CfnLocationS3S3ConfigPropertyValidator)(properties.s3Config)),errors.collect(cdk().propertyValidator("s3StorageClass",cdk().validateString)(properties.s3StorageClass)),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 "CfnLocationS3Props"')}function convertCfnLocationS3PropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationS3PropsValidator(properties).assertSuccess(),{S3BucketArn:cdk().stringToCloudFormation(properties.s3BucketArn),S3Config:convertCfnLocationS3S3ConfigPropertyToCloudFormation(properties.s3Config),S3StorageClass:cdk().stringToCloudFormation(properties.s3StorageClass),Subdirectory:cdk().stringToCloudFormation(properties.subdirectory),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnLocationS3PropsFromCloudFormation(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("s3BucketArn","S3BucketArn",properties.S3BucketArn!=null?cfn_parse().FromCloudFormation.getString(properties.S3BucketArn):void 0),ret.addPropertyResult("s3Config","S3Config",properties.S3Config!=null?CfnLocationS3S3ConfigPropertyFromCloudFormation(properties.S3Config):void 0),ret.addPropertyResult("s3StorageClass","S3StorageClass",properties.S3StorageClass!=null?cfn_parse().FromCloudFormation.getString(properties.S3StorageClass):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 CfnLocationSMB extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_datasync.CfnLocationSMB",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DataSync::LocationSMB";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLocationSMBPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnLocationSMB(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 isCfnLocationSMB(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLocationSMB.CFN_RESOURCE_TYPE_NAME}_agentArns;_authenticationType;_cmkSecretConfig;_customSecretConfig;_dnsIpAddresses;_domain;_kerberosKeytab;_kerberosKrb5Conf;_kerberosPrincipal;_mountOptions;_password;_serverHostname;_subdirectory;tags;_tagsRaw;_user;cfnPropertyNames={agentArns:"AgentArns",authenticationType:"AuthenticationType",cmkSecretConfig:"CmkSecretConfig",customSecretConfig:"CustomSecretConfig",dnsIpAddresses:"DnsIpAddresses",domain:"Domain",kerberosKeytab:"KerberosKeytab",kerberosKrb5Conf:"KerberosKrb5Conf",kerberosPrincipal:"KerberosPrincipal",mountOptions:"MountOptions",password:"Password",serverHostname:"ServerHostname",subdirectory:"Subdirectory",tags:"Tags",user:"User"};constructor(scope,id,props){super(scope,id,{type:CfnLocationSMB.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_datasync_CfnLocationSMBProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLocationSMB),error}cdk().requireProperty(props,"agentArns",this),this._agentArns=props.agentArns,this._authenticationType=props.authenticationType,this._cmkSecretConfig=props.cmkSecretConfig,this._customSecretConfig=props.customSecretConfig,this._dnsIpAddresses=props.dnsIpAddresses,this._domain=props.domain,this._kerberosKeytab=props.kerberosKeytab,this._kerberosKrb5Conf=props.kerberosKrb5Conf,this._kerberosPrincipal=props.kerberosPrincipal,this._mountOptions=props.mountOptions,this._password=props.password,this._serverHostname=props.serverHostname,this._subdirectory=props.subdirectory,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DataSync::LocationSMB",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._user=props.user}get locationSmbRef(){return{locationArn:this.ref}}get agentArns(){return this._agentArns}set agentArns(value){cdk().traceProperty(this.node,"AgentArns"),this._agentArns=value}get authenticationType(){return this._authenticationType}set authenticationType(value){cdk().traceProperty(this.node,"AuthenticationType"),this._authenticationType=value}get cmkSecretConfig(){return this._cmkSecretConfig}set cmkSecretConfig(value){cdk().traceProperty(this.node,"CmkSecretConfig"),this._cmkSecretConfig=value}get customSecretConfig(){return this._customSecretConfig}set customSecretConfig(value){cdk().traceProperty(this.node,"CustomSecretConfig"),this._customSecretConfig=value}get dnsIpAddresses(){return this._dnsIpAddresses}set dnsIpAddresses(value){cdk().traceProperty(this.node,"DnsIpAddresses"),this._dnsIpAddresses=value}get domain(){return this._domain}set domain(value){cdk().traceProperty(this.node,"Domain"),this._domain=value}get kerberosKeytab(){return this._kerberosKeytab}set kerberosKeytab(value){cdk().traceProperty(this.node,"KerberosKeytab"),this._kerberosKeytab=value}get kerberosKrb5Conf(){return this._kerberosKrb5Conf}set kerberosKrb5Conf(value){cdk().traceProperty(this.node,"KerberosKrb5Conf"),this._kerberosKrb5Conf=value}get kerberosPrincipal(){return this._kerberosPrincipal}set kerberosPrincipal(value){cdk().traceProperty(this.node,"KerberosPrincipal"),this._kerberosPrincipal=value}get mountOptions(){return this._mountOptions}set mountOptions(value){cdk().traceProperty(this.node,"MountOptions"),this._mountOptions=value}get password(){return this._password}set password(value){cdk().traceProperty(this.node,"Password"),this._password=value}get serverHostname(){return this._serverHostname}set serverHostname(value){cdk().traceProperty(this.node,"ServerHostname"),this._serverHostname=value}get subdirectory(){return this._subdirectory}set subdirectory(value){cdk().traceProperty(this.node,"Subdirectory"),this._subdirectory=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get user(){return this._user}set user(value){cdk().traceProperty(this.node,"User"),this._user=value}get attrCmkSecretConfigSecretArn(){return cdk().Token.asString(this.getAtt("CmkSecretConfig.SecretArn",cdk().ResolutionTypeHint.STRING))}get attrLocationArn(){return cdk().Token.asString(this.getAtt("LocationArn",cdk().ResolutionTypeHint.STRING))}get attrLocationUri(){return cdk().Token.asString(this.getAtt("LocationUri",cdk().ResolutionTypeHint.STRING))}get attrManagedSecretConfig(){return this.getAtt("ManagedSecretConfig")}get cfnProperties(){return{agentArns:this._agentArns,authenticationType:this._authenticationType,cmkSecretConfig:this._cmkSecretConfig,customSecretConfig:this._customSecretConfig,dnsIpAddresses:this._dnsIpAddresses,domain:this._domain,kerberosKeytab:this._kerberosKeytab,kerberosKrb5Conf:this._kerberosKrb5Conf,kerberosPrincipal:this._kerberosPrincipal,mountOptions:this._mountOptions,password:this._password,serverHostname:this._serverHostname,subdirectory:this._subdirectory,tags:this.tags.renderTags(),user:this._user}}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",CfnLocationSMB.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLocationSMBPropsToCloudFormation(props)}}exports.CfnLocationSMB=CfnLocationSMB;function CfnLocationSMBMountOptionsPropertyValidator(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("version",cdk().validateString)(properties.version)),errors.wrap('supplied properties not correct for "MountOptionsProperty"')}function convertCfnLocationSMBMountOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationSMBMountOptionsPropertyValidator(properties).assertSuccess(),{Version:cdk().stringToCloudFormation(properties.version)}):properties}function CfnLocationSMBMountOptionsPropertyFromCloudFormation(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("version","Version",properties.Version!=null?cfn_parse().FromCloudFormation.getString(properties.Version):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationSMBCmkSecretConfigPropertyValidator(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("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "CmkSecretConfigProperty"')}function convertCfnLocationSMBCmkSecretConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationSMBCmkSecretConfigPropertyValidator(properties).assertSuccess(),{KmsKeyArn:cdk().stringToCloudFormation(properties.kmsKeyArn),SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnLocationSMBCmkSecretConfigPropertyFromCloudFormation(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("kmsKeyArn","KmsKeyArn",properties.KmsKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyArn):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationSMBCustomSecretConfigPropertyValidator(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("secretAccessRoleArn",cdk().requiredValidator)(properties.secretAccessRoleArn)),errors.collect(cdk().propertyValidator("secretAccessRoleArn",cdk().validateString)(properties.secretAccessRoleArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "CustomSecretConfigProperty"')}function convertCfnLocationSMBCustomSecretConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationSMBCustomSecretConfigPropertyValidator(properties).assertSuccess(),{SecretAccessRoleArn:cdk().stringToCloudFormation(properties.secretAccessRoleArn),SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnLocationSMBCustomSecretConfigPropertyFromCloudFormation(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("secretAccessRoleArn","SecretAccessRoleArn",properties.SecretAccessRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretAccessRoleArn):void 0),ret.addPropertyResult("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationSMBManagedSecretConfigPropertyValidator(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("secretArn",cdk().requiredValidator)(properties.secretArn)),errors.collect(cdk().propertyValidator("secretArn",cdk().validateString)(properties.secretArn)),errors.wrap('supplied properties not correct for "ManagedSecretConfigProperty"')}function convertCfnLocationSMBManagedSecretConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationSMBManagedSecretConfigPropertyValidator(properties).assertSuccess(),{SecretArn:cdk().stringToCloudFormation(properties.secretArn)}):properties}function CfnLocationSMBManagedSecretConfigPropertyFromCloudFormation(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("secretArn","SecretArn",properties.SecretArn!=null?cfn_parse().FromCloudFormation.getString(properties.SecretArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLocationSMBPropsValidator(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("agentArns",cdk().requiredValidator)(properties.agentArns)),errors.collect(cdk().propertyValidator("agentArns",cdk().listValidator(cdk().validateString))(properties.agentArns)),errors.collect(cdk().propertyValidator("authenticationType",cdk().validateString)(properties.authenticationType)),errors.collect(cdk().propertyValidator("cmkSecretConfig",CfnLocationSMBCmkSecretConfigPropertyValidator)(properties.cmkSecretConfig)),errors.collect(cdk().propertyValidator("customSecretConfig",CfnLocationSMBCustomSecretConfigPropertyValidator)(properties.customSecretConfig)),errors.collect(cdk().propertyValidator("dnsIpAddresses",cdk().listValidator(cdk().validateString))(properties.dnsIpAddresses)),errors.collect(cdk().propertyValidator("domain",cdk().validateString)(properties.domain)),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("mountOptions",CfnLocationSMBMountOptionsPropertyValidator)(properties.mountOptions)),errors.collect(cdk().propertyValidator("password",cdk().validateString)(properties.password)),errors.collect(cdk().propertyValidator("serverHostname",cdk().validateString)(properties.serverHostname)),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().validateString)(properties.user)),errors.wrap('supplied properties not correct for "CfnLocationSMBProps"')}function convertCfnLocationSMBPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLocationSMBPropsValidator(properties).assertSuccess(),{AgentArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.agentArns),AuthenticationType:cdk().stringToCloudFormation(properties.authenticationType),CmkSecretConfig:convertCfnLocationSMBCmkSecretConfigPropertyToCloudFormation(properties.cmkSecretConfig),CustomSecretConfig:convertCfnLocationSMBCustomSecretConfigPropertyToCloudFormation(properties.customSecretConfig),DnsIpAddresses:cdk().listMapper(cdk().stringToCloudFormation)(properties.dnsIpAddresses),Domain:cdk().stringToCloudFormation(properties.domain),KerberosKeytab:cdk().stringToCloudFormation(properties.kerberosKeytab),KerberosKrb5Conf:cdk().stringToCloudFormation(properties.kerberosKrb5Conf),KerberosPrincipal:cdk().stringToCloudFormation(properties.kerberosPrincipal),MountOptions:convertCfnLocationSMBMountOptionsPropertyToCloudFormation(properties.mountOptions),Password:cdk().stringToCloudFormation(properties.password),ServerHostname:cdk().stringToCloudFormation(properties.serverHostname),Subdirectory:cdk().stringToCloudFormation(properties.subdirectory),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),User:cdk().stringToCloudFormation(properties.user)}):properties}function CfnLocationSMBPropsFromCloudFormation(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("agentArns","AgentArns",properties.AgentArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AgentArns):void 0),ret.addPropertyResult("authenticationType","AuthenticationType",properties.AuthenticationType!=null?cfn_parse().FromCloudFormation.getString(properties.AuthenticationType):void 0),ret.addPropertyResult("cmkSecretConfig","CmkSecretConfig",properties.CmkSecretConfig!=null?CfnLocationSMBCmkSecretConfigPropertyFromCloudFormation(properties.CmkSecretConfig):void 0),ret.addPropertyResult("customSecretConfig","CustomSecretConfig",properties.CustomSecretConfig!=null?CfnLocationSMBCustomSecretConfigPropertyFromCloudFormation(properties.CustomSecretConfig):void 0),ret.addPropertyResult("dnsIpAddresses","DnsIpAddresses",properties.DnsIpAddresses!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DnsIpAddresses):void 0),ret.addPropertyResult("domain","Domain",properties.Domain!=null?cfn_parse().FromCloudFormation.getString(properties.Domain):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.addPropertyResult("kerberosPrincipal","KerberosPrincipal",properties.KerberosPrincipal!=null?cfn_parse().FromCloudFormation.getString(properties.KerberosPrincipal):void 0),ret.addPropertyResult("mountOptions","MountOptions",properties.MountOptions!=null?CfnLocationSMBMountOptionsPropertyFromCloudFormation(properties.MountOptions):void 0),ret.addPropertyResult("password","Password",properties.Password!=null?cfn_parse().FromCloudFormation.getString(properties.Password):void 0),ret.addPropertyResult("serverHostname","ServerHostname",properties.ServerHostname!=null?cfn_parse().FromCloudFormation.getString(properties.ServerHostname):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.addPropertyResult("user","User",properties.User!=null?cfn_parse().FromCloudFormation.getString(properties.User):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTask extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_datasync.CfnTask",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::DataSync::Task";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTaskPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTask(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 isCfnTask(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTask.CFN_RESOURCE_TYPE_NAME}static arnForTask(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_datasync_ITaskRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForTask),error}return resource.taskRef.taskArn}_cloudWatchLogGroupArn;_destinationLocationArn;_excludes;_includes;_manifestConfig;_name;_options;_schedule;_sourceLocationArn;tags;_tagsRaw;_taskMode;_taskReportConfig;cfnPropertyNames={cloudWatchLogGroupArn:"CloudWatchLogGroupArn",destinationLocationArn:"DestinationLocationArn",excludes:"Excludes",includes:"Includes",manifestConfig:"ManifestConfig",name:"Name",options:"Options",schedule:"Schedule",sourceLocationArn:"SourceLocationArn",tags:"Tags",taskMode:"TaskMode",taskReportConfig:"TaskReportConfig"};constructor(scope,id,props){super(scope,id,{type:CfnTask.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_datasync_CfnTaskProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTask),error}cdk().requireProperty(props,"destinationLocationArn",this),cdk().requireProperty(props,"sourceLocationArn",this),this._cloudWatchLogGroupArn=cdk().getRefProperty(props.cloudWatchLogGroupArn?.logGroupRef,"logGroupArn")??cdk().ensureStringOrUndefined(props.cloudWatchLogGroupArn,"cloudWatchLogGroupArn","logs.ILogGroupRef | string"),this._destinationLocationArn=cdk().getRefProperty(props.destinationLocationArn?.locationEfsRef,"locationArn")??cdk().getRefProperty(props.destinationLocationArn?.locationS3Ref,"locationArn")??cdk().ensureStringOrUndefined(props.destinationLocationArn,"destinationLocationArn","datasync.ILocationEFSRef | datasync.ILocationS3Ref | string"),this._excludes=props.excludes,this._includes=props.includes,this._manifestConfig=props.manifestConfig,this._name=props.name,this._options=props.options,this._schedule=props.schedule,this._sourceLocationArn=cdk().getRefProperty(props.sourceLocationArn?.locationS3Ref,"locationArn")??cdk().getRefProperty(props.sourceLocationArn?.locationNfsRef,"locationArn")??cdk().ensureStringOrUndefined(props.sourceLocationArn,"sourceLocationArn","datasync.ILocationS3Ref | datasync.ILocationNFSRef | string"),this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::DataSync::Task",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._taskMode=props.taskMode,this._taskReportConfig=props.taskReportConfig}get taskRef(){return{taskArn:this.ref}}get cloudWatchLogGroupArn(){return this._cloudWatchLogGroupArn}set cloudWatchLogGroupArn(value){cdk().traceProperty(this.node,"CloudWatchLogGroupArn"),this._cloudWatchLogGroupArn=value}get destinationLocationArn(){return this._destinationLocationArn}set destinationLocationArn(value){cdk().traceProperty(this.node,"DestinationLocationArn"),this._destinationLocationArn=value}get excludes(){return this._excludes}set excludes(value){cdk().traceProperty(this.node,"Excludes"),this._excludes=value}get includes(){return this._includes}set includes(value){cdk().traceProperty(this.node,"Includes"),this._includes=value}get manifestConfig(){return this._manifestConfig}set manifestConfig(value){cdk().traceProperty(this.node,"ManifestConfig"),this._manifestConfig=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get options(){return this._options}set options(value){cdk().traceProperty(this.node,"Options"),this._options=value}get schedule(){return this._schedule}set schedule(value){cdk().traceProperty(this.node,"Schedule"),this._schedule=value}get sourceLocationArn(){return this._sourceLocationArn}set sourceLocationArn(value){cdk().traceProperty(this.node,"SourceLocationArn"),this._sourceLocationArn=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get taskMode(){return this._taskMode}set taskMode(value){cdk().traceProperty(this.node,"TaskMode"),this._taskMode=value}get taskReportConfig(){return this._taskReportConfig}set taskReportConfig(value){cdk().traceProperty(this.node,"TaskReportConfig"),this._taskReportConfig=value}get attrDestinationNetworkInterfaceArns(){return cdk().Token.asList(this.getAtt("DestinationNetworkInterfaceArns",cdk().ResolutionTypeHint.STRING_LIST))}get attrSourceNetworkInterfaceArns(){return cdk().Token.asList(this.getAtt("SourceNetworkInterfaceArns",cdk().ResolutionTypeHint.STRING_LIST))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrTaskArn(){return cdk().Token.asString(this.getAtt("TaskArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{cloudWatchLogGroupArn:this._cloudWatchLogGroupArn,destinationLocationArn:this._destinationLocationArn,excludes:this._excludes,includes:this._includes,manifestConfig:this._manifestConfig,name:this._name,options:this._options,schedule:this._schedule,sourceLocationArn:this._sourceLocationArn,tags:this.tags.renderTags(),taskMode:this._taskMode,taskReportConfig:this._taskReportConfig}}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",CfnTask.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTaskPropsToCloudFormation(props)}}exports.CfnTask=CfnTask;function CfnTaskFilterRulePropertyValidator(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("filterType",cdk().validateString)(properties.filterType)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "FilterRuleProperty"')}function convertCfnTaskFilterRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskFilterRulePropertyValidator(properties).assertSuccess(),{FilterType:cdk().stringToCloudFormation(properties.filterType),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnTaskFilterRulePropertyFromCloudFormation(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("filterType","FilterType",properties.FilterType!=null?cfn_parse().FromCloudFormation.getString(properties.FilterType):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskOptionsPropertyValidator(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("atime",cdk().validateString)(properties.atime)),errors.collect(cdk().propertyValidator("bytesPerSecond",cdk().validateNumber)(properties.bytesPerSecond)),errors.collect(cdk().propertyValidator("gid",cdk().validateString)(properties.gid)),errors.collect(cdk().propertyValidator("logLevel",cdk().validateString)(properties.logLevel)),errors.collect(cdk().propertyValidator("mtime",cdk().validateString)(properties.mtime)),errors.collect(cdk().propertyValidator("objectTags",cdk().validateString)(properties.objectTags)),errors.collect(cdk().propertyValidator("overwriteMode",cdk().validateString)(properties.overwriteMode)),errors.collect(cdk().propertyValidator("posixPermissions",cdk().validateString)(properties.posixPermissions)),errors.collect(cdk().propertyValidator("preserveDeletedFiles",cdk().validateString)(properties.preserveDeletedFiles)),errors.collect(cdk().propertyValidator("preserveDevices",cdk().validateString)(properties.preserveDevices)),errors.collect(cdk().propertyValidator("securityDescriptorCopyFlags",cdk().validateString)(properties.securityDescriptorCopyFlags)),errors.collect(cdk().propertyValidator("taskQueueing",cdk().validateString)(properties.taskQueueing)),errors.collect(cdk().propertyValidator("transferMode",cdk().validateString)(properties.transferMode)),errors.collect(cdk().propertyValidator("uid",cdk().validateString)(properties.uid)),errors.collect(cdk().propertyValidator("verifyMode",cdk().validateString)(properties.verifyMode)),errors.wrap('supplied properties not correct for "OptionsProperty"')}function convertCfnTaskOptionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskOptionsPropertyValidator(properties).assertSuccess(),{Atime:cdk().stringToCloudFormation(properties.atime),BytesPerSecond:cdk().numberToCloudFormation(properties.bytesPerSecond),Gid:cdk().stringToCloudFormation(properties.gid),LogLevel:cdk().stringToCloudFormation(properties.logLevel),Mtime:cdk().stringToCloudFormation(properties.mtime),ObjectTags:cdk().stringToCloudFormation(properties.objectTags),OverwriteMode:cdk().stringToCloudFormation(properties.overwriteMode),PosixPermissions:cdk().stringToCloudFormation(properties.posixPermissions),PreserveDeletedFiles:cdk().stringToCloudFormation(properties.preserveDeletedFiles),PreserveDevices:cdk().stringToCloudFormation(properties.preserveDevices),SecurityDescriptorCopyFlags:cdk().stringToCloudFormation(properties.securityDescriptorCopyFlags),TaskQueueing:cdk().stringToCloudFormation(properties.taskQueueing),TransferMode:cdk().stringToCloudFormation(properties.transferMode),Uid:cdk().stringToCloudFormation(properties.uid),VerifyMode:cdk().stringToCloudFormation(properties.verifyMode)}):properties}function CfnTaskOptionsPropertyFromCloudFormation(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("atime","Atime",properties.Atime!=null?cfn_parse().FromCloudFormation.getString(properties.Atime):void 0),ret.addPropertyResult("bytesPerSecond","BytesPerSecond",properties.BytesPerSecond!=null?cfn_parse().FromCloudFormation.getNumber(properties.BytesPerSecond):void 0),ret.addPropertyResult("gid","Gid",properties.Gid!=null?cfn_parse().FromCloudFormation.getString(properties.Gid):void 0),ret.addPropertyResult("logLevel","LogLevel",properties.LogLevel!=null?cfn_parse().FromCloudFormation.getString(properties.LogLevel):void 0),ret.addPropertyResult("mtime","Mtime",properties.Mtime!=null?cfn_parse().FromCloudFormation.getString(properties.Mtime):void 0),ret.addPropertyResult("objectTags","ObjectTags",properties.ObjectTags!=null?cfn_parse().FromCloudFormation.getString(properties.ObjectTags):void 0),ret.addPropertyResult("overwriteMode","OverwriteMode",properties.OverwriteMode!=null?cfn_parse().FromCloudFormation.getString(properties.OverwriteMode):void 0),ret.addPropertyResult("posixPermissions","PosixPermissions",properties.PosixPermissions!=null?cfn_parse().FromCloudFormation.getString(properties.PosixPermissions):void 0),ret.addPropertyResult("preserveDeletedFiles","PreserveDeletedFiles",properties.PreserveDeletedFiles!=null?cfn_parse().FromCloudFormation.getString(properties.PreserveDeletedFiles):void 0),ret.addPropertyResult("preserveDevices","PreserveDevices",properties.PreserveDevices!=null?cfn_parse().FromCloudFormation.getString(properties.PreserveDevices):void 0),ret.addPropertyResult("securityDescriptorCopyFlags","SecurityDescriptorCopyFlags",properties.SecurityDescriptorCopyFlags!=null?cfn_parse().FromCloudFormation.getString(properties.SecurityDescriptorCopyFlags):void 0),ret.addPropertyResult("taskQueueing","TaskQueueing",properties.TaskQueueing!=null?cfn_parse().FromCloudFormation.getString(properties.TaskQueueing):void 0),ret.addPropertyResult("transferMode","TransferMode",properties.TransferMode!=null?cfn_parse().FromCloudFormation.getString(properties.TransferMode):void 0),ret.addPropertyResult("uid","Uid",properties.Uid!=null?cfn_parse().FromCloudFormation.getString(properties.Uid):void 0),ret.addPropertyResult("verifyMode","VerifyMode",properties.VerifyMode!=null?cfn_parse().FromCloudFormation.getString(properties.VerifyMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskTaskSchedulePropertyValidator(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("scheduleExpression",cdk().validateString)(properties.scheduleExpression)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "TaskScheduleProperty"')}function convertCfnTaskTaskSchedulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskTaskSchedulePropertyValidator(properties).assertSuccess(),{ScheduleExpression:cdk().stringToCloudFormation(properties.scheduleExpression),Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnTaskTaskSchedulePropertyFromCloudFormation(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("scheduleExpression","ScheduleExpression",properties.ScheduleExpression!=null?cfn_parse().FromCloudFormation.getString(properties.ScheduleExpression):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskS3PropertyValidator(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("bucketAccessRoleArn",cdk().validateString)(properties.bucketAccessRoleArn)),errors.collect(cdk().propertyValidator("s3BucketArn",cdk().validateString)(properties.s3BucketArn)),errors.collect(cdk().propertyValidator("subdirectory",cdk().validateString)(properties.subdirectory)),errors.wrap('supplied properties not correct for "S3Property"')}function convertCfnTaskS3PropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskS3PropertyValidator(properties).assertSuccess(),{BucketAccessRoleArn:cdk().stringToCloudFormation(properties.bucketAccessRoleArn),S3BucketArn:cdk().stringToCloudFormation(properties.s3BucketArn),Subdirectory:cdk().stringToCloudFormation(properties.subdirectory)}):properties}function CfnTaskS3PropertyFromCloudFormation(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("bucketAccessRoleArn","BucketAccessRoleArn",properties.BucketAccessRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.BucketAccessRoleArn):void 0),ret.addPropertyResult("s3BucketArn","S3BucketArn",properties.S3BucketArn!=null?cfn_parse().FromCloudFormation.getString(properties.S3BucketArn):void 0),ret.addPropertyResult("subdirectory","Subdirectory",properties.Subdirectory!=null?cfn_parse().FromCloudFormation.getString(properties.Subdirectory):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskDestinationPropertyValidator(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("s3",CfnTaskS3PropertyValidator)(properties.s3)),errors.wrap('supplied properties not correct for "DestinationProperty"')}function convertCfnTaskDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskDestinationPropertyValidator(properties).assertSuccess(),{S3:convertCfnTaskS3PropertyToCloudFormation(properties.s3)}):properties}function CfnTaskDestinationPropertyFromCloudFormation(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("s3","S3",properties.S3!=null?CfnTaskS3PropertyFromCloudFormation(properties.S3):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskVerifiedPropertyValidator(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("reportLevel",cdk().validateString)(properties.reportLevel)),errors.wrap('supplied properties not correct for "VerifiedProperty"')}function convertCfnTaskVerifiedPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskVerifiedPropertyValidator(properties).assertSuccess(),{ReportLevel:cdk().stringToCloudFormation(properties.reportLevel)}):properties}function CfnTaskVerifiedPropertyFromCloudFormation(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("reportLevel","ReportLevel",properties.ReportLevel!=null?cfn_parse().FromCloudFormation.getString(properties.ReportLevel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskSkippedPropertyValidator(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("reportLevel",cdk().validateString)(properties.reportLevel)),errors.wrap('supplied properties not correct for "SkippedProperty"')}function convertCfnTaskSkippedPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskSkippedPropertyValidator(properties).assertSuccess(),{ReportLevel:cdk().stringToCloudFormation(properties.reportLevel)}):properties}function CfnTaskSkippedPropertyFromCloudFormation(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("reportLevel","ReportLevel",properties.ReportLevel!=null?cfn_parse().FromCloudFormation.getString(properties.ReportLevel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskTransferredPropertyValidator(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("reportLevel",cdk().validateString)(properties.reportLevel)),errors.wrap('supplied properties not correct for "TransferredProperty"')}function convertCfnTaskTransferredPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskTransferredPropertyValidator(properties).assertSuccess(),{ReportLevel:cdk().stringToCloudFormation(properties.reportLevel)}):properties}function CfnTaskTransferredPropertyFromCloudFormation(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("reportLevel","ReportLevel",properties.ReportLevel!=null?cfn_parse().FromCloudFormation.getString(properties.ReportLevel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskDeletedPropertyValidator(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("reportLevel",cdk().validateString)(properties.reportLevel)),errors.wrap('supplied properties not correct for "DeletedProperty"')}function convertCfnTaskDeletedPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskDeletedPropertyValidator(properties).assertSuccess(),{ReportLevel:cdk().stringToCloudFormation(properties.reportLevel)}):properties}function CfnTaskDeletedPropertyFromCloudFormation(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("reportLevel","ReportLevel",properties.ReportLevel!=null?cfn_parse().FromCloudFormation.getString(properties.ReportLevel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskOverridesPropertyValidator(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("deleted",CfnTaskDeletedPropertyValidator)(properties.deleted)),errors.collect(cdk().propertyValidator("skipped",CfnTaskSkippedPropertyValidator)(properties.skipped)),errors.collect(cdk().propertyValidator("transferred",CfnTaskTransferredPropertyValidator)(properties.transferred)),errors.collect(cdk().propertyValidator("verified",CfnTaskVerifiedPropertyValidator)(properties.verified)),errors.wrap('supplied properties not correct for "OverridesProperty"')}function convertCfnTaskOverridesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskOverridesPropertyValidator(properties).assertSuccess(),{Deleted:convertCfnTaskDeletedPropertyToCloudFormation(properties.deleted),Skipped:convertCfnTaskSkippedPropertyToCloudFormation(properties.skipped),Transferred:convertCfnTaskTransferredPropertyToCloudFormation(properties.transferred),Verified:convertCfnTaskVerifiedPropertyToCloudFormation(properties.verified)}):properties}function CfnTaskOverridesPropertyFromCloudFormation(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("deleted","Deleted",properties.Deleted!=null?CfnTaskDeletedPropertyFromCloudFormation(properties.Deleted):void 0),ret.addPropertyResult("skipped","Skipped",properties.Skipped!=null?CfnTaskSkippedPropertyFromCloudFormation(properties.Skipped):void 0),ret.addPropertyResult("transferred","Transferred",properties.Transferred!=null?CfnTaskTransferredPropertyFromCloudFormation(properties.Transferred):void 0),ret.addPropertyResult("verified","Verified",properties.Verified!=null?CfnTaskVerifiedPropertyFromCloudFormation(properties.Verified):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskTaskReportConfigPropertyValidator(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("destination",cdk().requiredValidator)(properties.destination)),errors.collect(cdk().propertyValidator("destination",CfnTaskDestinationPropertyValidator)(properties.destination)),errors.collect(cdk().propertyValidator("objectVersionIds",cdk().validateString)(properties.objectVersionIds)),errors.collect(cdk().propertyValidator("outputType",cdk().requiredValidator)(properties.outputType)),errors.collect(cdk().propertyValidator("outputType",cdk().validateString)(properties.outputType)),errors.collect(cdk().propertyValidator("overrides",CfnTaskOverridesPropertyValidator)(properties.overrides)),errors.collect(cdk().propertyValidator("reportLevel",cdk().validateString)(properties.reportLevel)),errors.wrap('supplied properties not correct for "TaskReportConfigProperty"')}function convertCfnTaskTaskReportConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskTaskReportConfigPropertyValidator(properties).assertSuccess(),{Destination:convertCfnTaskDestinationPropertyToCloudFormation(properties.destination),ObjectVersionIds:cdk().stringToCloudFormation(properties.objectVersionIds),OutputType:cdk().stringToCloudFormation(properties.outputType),Overrides:convertCfnTaskOverridesPropertyToCloudFormation(properties.overrides),ReportLevel:cdk().stringToCloudFormation(properties.reportLevel)}):properties}function CfnTaskTaskReportConfigPropertyFromCloudFormation(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("destination","Destination",properties.Destination!=null?CfnTaskDestinationPropertyFromCloudFormation(properties.Destination):void 0),ret.addPropertyResult("objectVersionIds","ObjectVersionIds",properties.ObjectVersionIds!=null?cfn_parse().FromCloudFormation.getString(properties.ObjectVersionIds):void 0),ret.addPropertyResult("outputType","OutputType",properties.OutputType!=null?cfn_parse().FromCloudFormation.getString(properties.OutputType):void 0),ret.addPropertyResult("overrides","Overrides",properties.Overrides!=null?CfnTaskOverridesPropertyFromCloudFormation(properties.Overrides):void 0),ret.addPropertyResult("reportLevel","ReportLevel",properties.ReportLevel!=null?cfn_parse().FromCloudFormation.getString(properties.ReportLevel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskManifestConfigSourceS3PropertyValidator(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("bucketAccessRoleArn",cdk().validateString)(properties.bucketAccessRoleArn)),errors.collect(cdk().propertyValidator("manifestObjectPath",cdk().validateString)(properties.manifestObjectPath)),errors.collect(cdk().propertyValidator("manifestObjectVersionId",cdk().validateString)(properties.manifestObjectVersionId)),errors.collect(cdk().propertyValidator("s3BucketArn",cdk().validateString)(properties.s3BucketArn)),errors.wrap('supplied properties not correct for "ManifestConfigSourceS3Property"')}function convertCfnTaskManifestConfigSourceS3PropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskManifestConfigSourceS3PropertyValidator(properties).assertSuccess(),{BucketAccessRoleArn:cdk().stringToCloudFormation(properties.bucketAccessRoleArn),ManifestObjectPath:cdk().stringToCloudFormation(properties.manifestObjectPath),ManifestObjectVersionId:cdk().stringToCloudFormation(properties.manifestObjectVersionId),S3BucketArn:cdk().stringToCloudFormation(properties.s3BucketArn)}):properties}function CfnTaskManifestConfigSourceS3PropertyFromCloudFormation(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("bucketAccessRoleArn","BucketAccessRoleArn",properties.BucketAccessRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.BucketAccessRoleArn):void 0),ret.addPropertyResult("manifestObjectPath","ManifestObjectPath",properties.ManifestObjectPath!=null?cfn_parse().FromCloudFormation.getString(properties.ManifestObjectPath):void 0),ret.addPropertyResult("manifestObjectVersionId","ManifestObjectVersionId",properties.ManifestObjectVersionId!=null?cfn_parse().FromCloudFormation.getString(properties.ManifestObjectVersionId):void 0),ret.addPropertyResult("s3BucketArn","S3BucketArn",properties.S3BucketArn!=null?cfn_parse().FromCloudFormation.getString(properties.S3BucketArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskSourcePropertyValidator(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("s3",CfnTaskManifestConfigSourceS3PropertyValidator)(properties.s3)),errors.wrap('supplied properties not correct for "SourceProperty"')}function convertCfnTaskSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskSourcePropertyValidator(properties).assertSuccess(),{S3:convertCfnTaskManifestConfigSourceS3PropertyToCloudFormation(properties.s3)}):properties}function CfnTaskSourcePropertyFromCloudFormation(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("s3","S3",properties.S3!=null?CfnTaskManifestConfigSourceS3PropertyFromCloudFormation(properties.S3):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskManifestConfigPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("action",cdk().validateString)(properties.action)),errors.collect(cdk().propertyValidator("format",cdk().validateString)(properties.format)),errors.collect(cdk().propertyValidator("source",cdk().requiredValidator)(properties.source)),errors.collect(cdk().propertyValidator("source",CfnTaskSourcePropertyValidator)(properties.source)),errors.wrap('supplied properties not correct for "ManifestConfigProperty"')}function convertCfnTaskManifestConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskManifestConfigPropertyValidator(properties).assertSuccess(),{Action:cdk().stringToCloudFormation(properties.action),Format:cdk().stringToCloudFormation(properties.format),Source:convertCfnTaskSourcePropertyToCloudFormation(properties.source)}):properties}function CfnTaskManifestConfigPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("action","Action",properties.Action!=null?cfn_parse().FromCloudFormation.getString(properties.Action):void 0),ret.addPropertyResult("format","Format",properties.Format!=null?cfn_parse().FromCloudFormation.getString(properties.Format):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?CfnTaskSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskPropsValidator(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("cloudWatchLogGroupArn",cdk().validateString)(properties.cloudWatchLogGroupArn)),errors.collect(cdk().propertyValidator("destinationLocationArn",cdk().requiredValidator)(properties.destinationLocationArn)),errors.collect(cdk().propertyValidator("destinationLocationArn",cdk().validateString)(properties.destinationLocationArn)),errors.collect(cdk().propertyValidator("excludes",cdk().listValidator(CfnTaskFilterRulePropertyValidator))(properties.excludes)),errors.collect(cdk().propertyValidator("includes",cdk().listValidator(CfnTaskFilterRulePropertyValidator))(properties.includes)),errors.collect(cdk().propertyValidator("manifestConfig",CfnTaskManifestConfigPropertyValidator)(properties.manifestConfig)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("options",CfnTaskOptionsPropertyValidator)(properties.options)),errors.collect(cdk().propertyValidator("schedule",CfnTaskTaskSchedulePropertyValidator)(properties.schedule)),errors.collect(cdk().propertyValidator("sourceLocationArn",cdk().requiredValidator)(properties.sourceLocationArn)),errors.collect(cdk().propertyValidator("sourceLocationArn",cdk().validateString)(properties.sourceLocationArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("taskMode",cdk().validateString)(properties.taskMode)),errors.collect(cdk().propertyValidator("taskReportConfig",CfnTaskTaskReportConfigPropertyValidator)(properties.taskReportConfig)),errors.wrap('supplied properties not correct for "CfnTaskProps"')}function convertCfnTaskPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskPropsValidator(properties).assertSuccess(),{CloudWatchLogGroupArn:cdk().stringToCloudFormation(properties.cloudWatchLogGroupArn),DestinationLocationArn:cdk().stringToCloudFormation(properties.destinationLocationArn),Excludes:cdk().listMapper(convertCfnTaskFilterRulePropertyToCloudFormation)(properties.excludes),Includes:cdk().listMapper(convertCfnTaskFilterRulePropertyToCloudFormation)(properties.includes),ManifestConfig:convertCfnTaskManifestConfigPropertyToCloudFormation(properties.manifestConfig),Name:cdk().stringToCloudFormation(properties.name),Options:convertCfnTaskOptionsPropertyToCloudFormation(properties.options),Schedule:convertCfnTaskTaskSchedulePropertyToCloudFormation(properties.schedule),SourceLocationArn:cdk().stringToCloudFormation(properties.sourceLocationArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TaskMode:cdk().stringToCloudFormation(properties.taskMode),TaskReportConfig:convertCfnTaskTaskReportConfigPropertyToCloudFormation(properties.taskReportConfig)}):properties}function CfnTaskPropsFromCloudFormation(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("cloudWatchLogGroupArn","CloudWatchLogGroupArn",properties.CloudWatchLogGroupArn!=null?cfn_parse().FromCloudFormation.getString(properties.CloudWatchLogGroupArn):void 0),ret.addPropertyResult("destinationLocationArn","DestinationLocationArn",properties.DestinationLocationArn!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationLocationArn):void 0),ret.addPropertyResult("excludes","Excludes",properties.Excludes!=null?cfn_parse().FromCloudFormation.getArray(CfnTaskFilterRulePropertyFromCloudFormation)(properties.Excludes):void 0),ret.addPropertyResult("includes","Includes",properties.Includes!=null?cfn_parse().FromCloudFormation.getArray(CfnTaskFilterRulePropertyFromCloudFormation)(properties.Includes):void 0),ret.addPropertyResult("manifestConfig","ManifestConfig",properties.ManifestConfig!=null?CfnTaskManifestConfigPropertyFromCloudFormation(properties.ManifestConfig):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("options","Options",properties.Options!=null?CfnTaskOptionsPropertyFromCloudFormation(properties.Options):void 0),ret.addPropertyResult("schedule","Schedule",properties.Schedule!=null?CfnTaskTaskSchedulePropertyFromCloudFormation(properties.Schedule):void 0),ret.addPropertyResult("sourceLocationArn","SourceLocationArn",properties.SourceLocationArn!=null?cfn_parse().FromCloudFormation.getString(properties.SourceLocationArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("taskMode","TaskMode",properties.TaskMode!=null?cfn_parse().FromCloudFormation.getString(properties.TaskMode):void 0),ret.addPropertyResult("taskReportConfig","TaskReportConfig",properties.TaskReportConfig!=null?CfnTaskTaskReportConfigPropertyFromCloudFormation(properties.TaskReportConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}