aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 52.7 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnDirectoryBucket=exports.CfnBucketPolicy=exports.CfnAccessPoint=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 CfnAccessPoint extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_s3express.CfnAccessPoint",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::S3Express::AccessPoint";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAccessPointPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnAccessPoint(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}static isCfnAccessPoint(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAccessPoint.CFN_RESOURCE_TYPE_NAME}static fromAccessPointArn(scope,id,arn){class Import extends cdk().Resource{accessPointRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:s3express:${Region}:${Account}:accesspoint/${AccessPointName}").parse(arn2);this.accessPointRef={accessPointName:variables.AccessPointName,accessPointArn:arn2}}}return new Import(scope,id,arn)}static fromAccessPointName(scope,id,accessPointName){class Import extends cdk().Resource{accessPointRef;constructor(scope2,id2,accessPointName2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:s3express:${Region}:${Account}:accesspoint/${AccessPointName}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,AccessPointName:accessPointName2});super(scope2,id2,{environmentFromArn:arn}),this.accessPointRef={accessPointName:accessPointName2,accessPointArn:arn}}}return new Import(scope,id,accessPointName)}static arnForAccessPoint(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_s3express_IAccessPointRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAccessPoint),error}return resource.accessPointRef.accessPointArn}_bucket;_bucketAccountId;cdkTagManager;_name;_policy;_publicAccessBlockConfiguration;_scope;_tags;_vpcConfiguration;constructor(scope,id,props){super(scope,id,{type:CfnAccessPoint.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_s3express_CfnAccessPointProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAccessPoint),error}cdk().requireProperty(props,"bucket",this),this._bucket=props.bucket,this._bucketAccountId=props.bucketAccountId,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::S3Express::AccessPoint",void 0,{tagPropertyName:"tags"}),this._name=props.name,this._policy=props.policy,this._publicAccessBlockConfiguration=props.publicAccessBlockConfiguration,this._scope=props.scope,this._tags=props.tags,this._vpcConfiguration=props.vpcConfiguration}get accessPointRef(){return{accessPointName:this.ref,accessPointArn:this.attrArn}}get bucket(){return this._bucket}set bucket(value){cdk().traceProperty(this.node,"Bucket"),this._bucket=value}get bucketAccountId(){return this._bucketAccountId}set bucketAccountId(value){cdk().traceProperty(this.node,"BucketAccountId"),this._bucketAccountId=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get policy(){return this._policy}set policy(value){cdk().traceProperty(this.node,"Policy"),this._policy=value}get publicAccessBlockConfiguration(){return this._publicAccessBlockConfiguration}set publicAccessBlockConfiguration(value){cdk().traceProperty(this.node,"PublicAccessBlockConfiguration"),this._publicAccessBlockConfiguration=value}get scope(){return this._scope}set scope(value){cdk().traceProperty(this.node,"Scope"),this._scope=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get vpcConfiguration(){return this._vpcConfiguration}set vpcConfiguration(value){cdk().traceProperty(this.node,"VpcConfiguration"),this._vpcConfiguration=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrNetworkOrigin(){return cdk().Token.asString(this.getAtt("NetworkOrigin",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{bucket:this._bucket,bucketAccountId:this._bucketAccountId,tags:this.cdkTagManager.renderTags(this._tags),name:this._name,policy:this._policy,publicAccessBlockConfiguration:this._publicAccessBlockConfiguration,scope:this._scope,vpcConfiguration:this._vpcConfiguration}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnAccessPoint.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAccessPointPropsToCloudFormation(props)}}exports.CfnAccessPoint=CfnAccessPoint;function CfnAccessPointVpcConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("vpcId",cdk().validateString)(properties.vpcId)),errors.wrap('supplied properties not correct for "VpcConfigurationProperty"')}function convertCfnAccessPointVpcConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAccessPointVpcConfigurationPropertyValidator(properties).assertSuccess(),{VpcId:cdk().stringToCloudFormation(properties.vpcId)}):properties}function CfnAccessPointVpcConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("vpcId","VpcId",properties.VpcId!=null?cfn_parse().FromCloudFormation.getString(properties.VpcId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessPointPublicAccessBlockConfigurationPropertyValidator(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("blockPublicAcls",cdk().validateBoolean)(properties.blockPublicAcls)),errors.collect(cdk().propertyValidator("blockPublicPolicy",cdk().validateBoolean)(properties.blockPublicPolicy)),errors.collect(cdk().propertyValidator("ignorePublicAcls",cdk().validateBoolean)(properties.ignorePublicAcls)),errors.collect(cdk().propertyValidator("restrictPublicBuckets",cdk().validateBoolean)(properties.restrictPublicBuckets)),errors.wrap('supplied properties not correct for "PublicAccessBlockConfigurationProperty"')}function convertCfnAccessPointPublicAccessBlockConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAccessPointPublicAccessBlockConfigurationPropertyValidator(properties).assertSuccess(),{BlockPublicAcls:cdk().booleanToCloudFormation(properties.blockPublicAcls),BlockPublicPolicy:cdk().booleanToCloudFormation(properties.blockPublicPolicy),IgnorePublicAcls:cdk().booleanToCloudFormation(properties.ignorePublicAcls),RestrictPublicBuckets:cdk().booleanToCloudFormation(properties.restrictPublicBuckets)}):properties}function CfnAccessPointPublicAccessBlockConfigurationPropertyFromCloudFormation(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("blockPublicAcls","BlockPublicAcls",properties.BlockPublicAcls!=null?cfn_parse().FromCloudFormation.getBoolean(properties.BlockPublicAcls):void 0),ret.addPropertyResult("blockPublicPolicy","BlockPublicPolicy",properties.BlockPublicPolicy!=null?cfn_parse().FromCloudFormation.getBoolean(properties.BlockPublicPolicy):void 0),ret.addPropertyResult("ignorePublicAcls","IgnorePublicAcls",properties.IgnorePublicAcls!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IgnorePublicAcls):void 0),ret.addPropertyResult("restrictPublicBuckets","RestrictPublicBuckets",properties.RestrictPublicBuckets!=null?cfn_parse().FromCloudFormation.getBoolean(properties.RestrictPublicBuckets):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessPointScopePropertyValidator(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("permissions",cdk().listValidator(cdk().validateString))(properties.permissions)),errors.collect(cdk().propertyValidator("prefixes",cdk().listValidator(cdk().validateString))(properties.prefixes)),errors.wrap('supplied properties not correct for "ScopeProperty"')}function convertCfnAccessPointScopePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAccessPointScopePropertyValidator(properties).assertSuccess(),{Permissions:cdk().listMapper(cdk().stringToCloudFormation)(properties.permissions),Prefixes:cdk().listMapper(cdk().stringToCloudFormation)(properties.prefixes)}):properties}function CfnAccessPointScopePropertyFromCloudFormation(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("permissions","Permissions",properties.Permissions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Permissions):void 0),ret.addPropertyResult("prefixes","Prefixes",properties.Prefixes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Prefixes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAccessPointPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bucket",cdk().requiredValidator)(properties.bucket)),errors.collect(cdk().propertyValidator("bucket",cdk().validateString)(properties.bucket)),errors.collect(cdk().propertyValidator("bucketAccountId",cdk().validateString)(properties.bucketAccountId)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("policy",cdk().validateObject)(properties.policy)),errors.collect(cdk().propertyValidator("publicAccessBlockConfiguration",CfnAccessPointPublicAccessBlockConfigurationPropertyValidator)(properties.publicAccessBlockConfiguration)),errors.collect(cdk().propertyValidator("scope",CfnAccessPointScopePropertyValidator)(properties.scope)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("vpcConfiguration",CfnAccessPointVpcConfigurationPropertyValidator)(properties.vpcConfiguration)),errors.wrap('supplied properties not correct for "CfnAccessPointProps"')}function convertCfnAccessPointPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAccessPointPropsValidator(properties).assertSuccess(),{Bucket:cdk().stringToCloudFormation(properties.bucket),BucketAccountId:cdk().stringToCloudFormation(properties.bucketAccountId),Name:cdk().stringToCloudFormation(properties.name),Policy:cdk().objectToCloudFormation(properties.policy),PublicAccessBlockConfiguration:convertCfnAccessPointPublicAccessBlockConfigurationPropertyToCloudFormation(properties.publicAccessBlockConfiguration),Scope:convertCfnAccessPointScopePropertyToCloudFormation(properties.scope),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),VpcConfiguration:convertCfnAccessPointVpcConfigurationPropertyToCloudFormation(properties.vpcConfiguration)}):properties}function CfnAccessPointPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bucket","Bucket",properties.Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.Bucket):void 0),ret.addPropertyResult("bucketAccountId","BucketAccountId",properties.BucketAccountId!=null?cfn_parse().FromCloudFormation.getString(properties.BucketAccountId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("policy","Policy",properties.Policy!=null?cfn_parse().FromCloudFormation.getAny(properties.Policy):void 0),ret.addPropertyResult("publicAccessBlockConfiguration","PublicAccessBlockConfiguration",properties.PublicAccessBlockConfiguration!=null?CfnAccessPointPublicAccessBlockConfigurationPropertyFromCloudFormation(properties.PublicAccessBlockConfiguration):void 0),ret.addPropertyResult("scope","Scope",properties.Scope!=null?CfnAccessPointScopePropertyFromCloudFormation(properties.Scope):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("vpcConfiguration","VpcConfiguration",properties.VpcConfiguration!=null?CfnAccessPointVpcConfigurationPropertyFromCloudFormation(properties.VpcConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnBucketPolicy extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_s3express.CfnBucketPolicy",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::S3Express::BucketPolicy";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnBucketPolicyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnBucketPolicy(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 isCfnBucketPolicy(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnBucketPolicy.CFN_RESOURCE_TYPE_NAME}_bucket;_policyDocument;constructor(scope,id,props){super(scope,id,{type:CfnBucketPolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_s3express_CfnBucketPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnBucketPolicy),error}cdk().requireProperty(props,"bucket",this),cdk().requireProperty(props,"policyDocument",this),this._bucket=props.bucket,this._policyDocument=props.policyDocument}get bucketPolicyRef(){return{bucket:this.ref}}get bucket(){return this._bucket}set bucket(value){cdk().traceProperty(this.node,"Bucket"),this._bucket=value}get policyDocument(){return this._policyDocument}set policyDocument(value){cdk().traceProperty(this.node,"PolicyDocument"),this._policyDocument=value}get cfnProperties(){return{bucket:this._bucket,policyDocument:this._policyDocument}}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",CfnBucketPolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnBucketPolicyPropsToCloudFormation(props)}}exports.CfnBucketPolicy=CfnBucketPolicy;function CfnBucketPolicyPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("bucket",cdk().requiredValidator)(properties.bucket)),errors.collect(cdk().propertyValidator("bucket",cdk().validateString)(properties.bucket)),errors.collect(cdk().propertyValidator("policyDocument",cdk().requiredValidator)(properties.policyDocument)),errors.collect(cdk().propertyValidator("policyDocument",cdk().unionValidator(cdk().validateString,cdk().validateObject))(properties.policyDocument)),errors.wrap('supplied properties not correct for "CfnBucketPolicyProps"')}function convertCfnBucketPolicyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBucketPolicyPropsValidator(properties).assertSuccess(),{Bucket:cdk().stringToCloudFormation(properties.bucket),PolicyDocument:cdk().unionMapper([cdk().validateString,cdk().validateObject],[cdk().stringToCloudFormation,cdk().objectToCloudFormation])(properties.policyDocument)}):properties}function CfnBucketPolicyPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("bucket","Bucket",properties.Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.Bucket):void 0),ret.addPropertyResult("policyDocument","PolicyDocument",properties.PolicyDocument!=null?cfn_parse().FromCloudFormation.getTypeUnion([cdk().validateString,cdk().validateObject],[cfn_parse().FromCloudFormation.getString,cfn_parse().FromCloudFormation.getAny])(properties.PolicyDocument):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDirectoryBucket extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_s3express.CfnDirectoryBucket",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::S3Express::DirectoryBucket";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDirectoryBucketPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDirectoryBucket(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 isCfnDirectoryBucket(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDirectoryBucket.CFN_RESOURCE_TYPE_NAME}static fromDirectoryBucketArn(scope,id,arn){class Import extends cdk().Resource{directoryBucketRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:s3express:${Region}:${Account}:bucket/${BucketName}").parse(arn2);this.directoryBucketRef={bucketName:variables.BucketName,directoryBucketArn:arn2}}}return new Import(scope,id,arn)}static fromBucketName(scope,id,bucketName){class Import extends cdk().Resource{directoryBucketRef;constructor(scope2,id2,bucketName2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:s3express:${Region}:${Account}:bucket/${BucketName}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,BucketName:bucketName2});super(scope2,id2,{environmentFromArn:arn}),this.directoryBucketRef={bucketName:bucketName2,directoryBucketArn:arn}}}return new Import(scope,id,bucketName)}static arnForDirectoryBucket(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_s3express_IDirectoryBucketRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDirectoryBucket),error}return resource.directoryBucketRef.directoryBucketArn}_bucketEncryption;_bucketName;cdkTagManager;_dataRedundancy;_inventoryConfigurations;_lifecycleConfiguration;_locationName;_metricsConfigurations;_tags;constructor(scope,id,props){super(scope,id,{type:CfnDirectoryBucket.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_s3express_CfnDirectoryBucketProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDirectoryBucket),error}cdk().requireProperty(props,"dataRedundancy",this),cdk().requireProperty(props,"locationName",this),this._bucketEncryption=props.bucketEncryption,this._bucketName=props.bucketName,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::S3Express::DirectoryBucket",void 0,{tagPropertyName:"tags"}),this._dataRedundancy=props.dataRedundancy,this._inventoryConfigurations=props.inventoryConfigurations,this._lifecycleConfiguration=props.lifecycleConfiguration,this._locationName=props.locationName,this._metricsConfigurations=props.metricsConfigurations,this._tags=props.tags}get directoryBucketRef(){return{bucketName:this.ref,directoryBucketArn:this.attrArn}}get bucketEncryption(){return this._bucketEncryption}set bucketEncryption(value){cdk().traceProperty(this.node,"BucketEncryption"),this._bucketEncryption=value}get bucketName(){return this._bucketName}set bucketName(value){cdk().traceProperty(this.node,"BucketName"),this._bucketName=value}get dataRedundancy(){return this._dataRedundancy}set dataRedundancy(value){cdk().traceProperty(this.node,"DataRedundancy"),this._dataRedundancy=value}get inventoryConfigurations(){return this._inventoryConfigurations}set inventoryConfigurations(value){cdk().traceProperty(this.node,"InventoryConfigurations"),this._inventoryConfigurations=value}get lifecycleConfiguration(){return this._lifecycleConfiguration}set lifecycleConfiguration(value){cdk().traceProperty(this.node,"LifecycleConfiguration"),this._lifecycleConfiguration=value}get locationName(){return this._locationName}set locationName(value){cdk().traceProperty(this.node,"LocationName"),this._locationName=value}get metricsConfigurations(){return this._metricsConfigurations}set metricsConfigurations(value){cdk().traceProperty(this.node,"MetricsConfigurations"),this._metricsConfigurations=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrAvailabilityZoneName(){return cdk().Token.asString(this.getAtt("AvailabilityZoneName",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{bucketEncryption:this._bucketEncryption,bucketName:this._bucketName,tags:this.cdkTagManager.renderTags(this._tags),dataRedundancy:this._dataRedundancy,inventoryConfigurations:this._inventoryConfigurations,lifecycleConfiguration:this._lifecycleConfiguration,locationName:this._locationName,metricsConfigurations:this._metricsConfigurations}}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",CfnDirectoryBucket.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDirectoryBucketPropsToCloudFormation(props)}}exports.CfnDirectoryBucket=CfnDirectoryBucket;function CfnDirectoryBucketServerSideEncryptionByDefaultPropertyValidator(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("kmsMasterKeyId",cdk().validateString)(properties.kmsMasterKeyId)),errors.collect(cdk().propertyValidator("sseAlgorithm",cdk().requiredValidator)(properties.sseAlgorithm)),errors.collect(cdk().propertyValidator("sseAlgorithm",cdk().validateString)(properties.sseAlgorithm)),errors.wrap('supplied properties not correct for "ServerSideEncryptionByDefaultProperty"')}function convertCfnDirectoryBucketServerSideEncryptionByDefaultPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDirectoryBucketServerSideEncryptionByDefaultPropertyValidator(properties).assertSuccess(),{KMSMasterKeyID:cdk().stringToCloudFormation(properties.kmsMasterKeyId),SSEAlgorithm:cdk().stringToCloudFormation(properties.sseAlgorithm)}):properties}function CfnDirectoryBucketServerSideEncryptionByDefaultPropertyFromCloudFormation(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("kmsMasterKeyId","KMSMasterKeyID",properties.KMSMasterKeyID!=null?cfn_parse().FromCloudFormation.getString(properties.KMSMasterKeyID):void 0),ret.addPropertyResult("sseAlgorithm","SSEAlgorithm",properties.SSEAlgorithm!=null?cfn_parse().FromCloudFormation.getString(properties.SSEAlgorithm):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDirectoryBucketServerSideEncryptionRulePropertyValidator(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("bucketKeyEnabled",cdk().validateBoolean)(properties.bucketKeyEnabled)),errors.collect(cdk().propertyValidator("serverSideEncryptionByDefault",CfnDirectoryBucketServerSideEncryptionByDefaultPropertyValidator)(properties.serverSideEncryptionByDefault)),errors.wrap('supplied properties not correct for "ServerSideEncryptionRuleProperty"')}function convertCfnDirectoryBucketServerSideEncryptionRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDirectoryBucketServerSideEncryptionRulePropertyValidator(properties).assertSuccess(),{BucketKeyEnabled:cdk().booleanToCloudFormation(properties.bucketKeyEnabled),ServerSideEncryptionByDefault:convertCfnDirectoryBucketServerSideEncryptionByDefaultPropertyToCloudFormation(properties.serverSideEncryptionByDefault)}):properties}function CfnDirectoryBucketServerSideEncryptionRulePropertyFromCloudFormation(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("bucketKeyEnabled","BucketKeyEnabled",properties.BucketKeyEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.BucketKeyEnabled):void 0),ret.addPropertyResult("serverSideEncryptionByDefault","ServerSideEncryptionByDefault",properties.ServerSideEncryptionByDefault!=null?CfnDirectoryBucketServerSideEncryptionByDefaultPropertyFromCloudFormation(properties.ServerSideEncryptionByDefault):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDirectoryBucketBucketEncryptionPropertyValidator(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("serverSideEncryptionConfiguration",cdk().requiredValidator)(properties.serverSideEncryptionConfiguration)),errors.collect(cdk().propertyValidator("serverSideEncryptionConfiguration",cdk().listValidator(CfnDirectoryBucketServerSideEncryptionRulePropertyValidator))(properties.serverSideEncryptionConfiguration)),errors.wrap('supplied properties not correct for "BucketEncryptionProperty"')}function convertCfnDirectoryBucketBucketEncryptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDirectoryBucketBucketEncryptionPropertyValidator(properties).assertSuccess(),{ServerSideEncryptionConfiguration:cdk().listMapper(convertCfnDirectoryBucketServerSideEncryptionRulePropertyToCloudFormation)(properties.serverSideEncryptionConfiguration)}):properties}function CfnDirectoryBucketBucketEncryptionPropertyFromCloudFormation(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("serverSideEncryptionConfiguration","ServerSideEncryptionConfiguration",properties.ServerSideEncryptionConfiguration!=null?cfn_parse().FromCloudFormation.getArray(CfnDirectoryBucketServerSideEncryptionRulePropertyFromCloudFormation)(properties.ServerSideEncryptionConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDirectoryBucketAbortIncompleteMultipartUploadPropertyValidator(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("daysAfterInitiation",cdk().requiredValidator)(properties.daysAfterInitiation)),errors.collect(cdk().propertyValidator("daysAfterInitiation",cdk().validateNumber)(properties.daysAfterInitiation)),errors.wrap('supplied properties not correct for "AbortIncompleteMultipartUploadProperty"')}function convertCfnDirectoryBucketAbortIncompleteMultipartUploadPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDirectoryBucketAbortIncompleteMultipartUploadPropertyValidator(properties).assertSuccess(),{DaysAfterInitiation:cdk().numberToCloudFormation(properties.daysAfterInitiation)}):properties}function CfnDirectoryBucketAbortIncompleteMultipartUploadPropertyFromCloudFormation(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("daysAfterInitiation","DaysAfterInitiation",properties.DaysAfterInitiation!=null?cfn_parse().FromCloudFormation.getNumber(properties.DaysAfterInitiation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDirectoryBucketRulePropertyValidator(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("abortIncompleteMultipartUpload",CfnDirectoryBucketAbortIncompleteMultipartUploadPropertyValidator)(properties.abortIncompleteMultipartUpload)),errors.collect(cdk().propertyValidator("expirationInDays",cdk().validateNumber)(properties.expirationInDays)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("objectSizeGreaterThan",cdk().validateString)(properties.objectSizeGreaterThan)),errors.collect(cdk().propertyValidator("objectSizeLessThan",cdk().validateString)(properties.objectSizeLessThan)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.collect(cdk().propertyValidator("status",cdk().requiredValidator)(properties.status)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "RuleProperty"')}function convertCfnDirectoryBucketRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDirectoryBucketRulePropertyValidator(properties).assertSuccess(),{AbortIncompleteMultipartUpload:convertCfnDirectoryBucketAbortIncompleteMultipartUploadPropertyToCloudFormation(properties.abortIncompleteMultipartUpload),ExpirationInDays:cdk().numberToCloudFormation(properties.expirationInDays),Id:cdk().stringToCloudFormation(properties.id),ObjectSizeGreaterThan:cdk().stringToCloudFormation(properties.objectSizeGreaterThan),ObjectSizeLessThan:cdk().stringToCloudFormation(properties.objectSizeLessThan),Prefix:cdk().stringToCloudFormation(properties.prefix),Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnDirectoryBucketRulePropertyFromCloudFormation(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("abortIncompleteMultipartUpload","AbortIncompleteMultipartUpload",properties.AbortIncompleteMultipartUpload!=null?CfnDirectoryBucketAbortIncompleteMultipartUploadPropertyFromCloudFormation(properties.AbortIncompleteMultipartUpload):void 0),ret.addPropertyResult("expirationInDays","ExpirationInDays",properties.ExpirationInDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.ExpirationInDays):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("objectSizeGreaterThan","ObjectSizeGreaterThan",properties.ObjectSizeGreaterThan!=null?cfn_parse().FromCloudFormation.getString(properties.ObjectSizeGreaterThan):void 0),ret.addPropertyResult("objectSizeLessThan","ObjectSizeLessThan",properties.ObjectSizeLessThan!=null?cfn_parse().FromCloudFormation.getString(properties.ObjectSizeLessThan):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDirectoryBucketLifecycleConfigurationPropertyValidator(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("rules",cdk().requiredValidator)(properties.rules)),errors.collect(cdk().propertyValidator("rules",cdk().listValidator(CfnDirectoryBucketRulePropertyValidator))(properties.rules)),errors.wrap('supplied properties not correct for "LifecycleConfigurationProperty"')}function convertCfnDirectoryBucketLifecycleConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDirectoryBucketLifecycleConfigurationPropertyValidator(properties).assertSuccess(),{Rules:cdk().listMapper(convertCfnDirectoryBucketRulePropertyToCloudFormation)(properties.rules)}):properties}function CfnDirectoryBucketLifecycleConfigurationPropertyFromCloudFormation(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("rules","Rules",properties.Rules!=null?cfn_parse().FromCloudFormation.getArray(CfnDirectoryBucketRulePropertyFromCloudFormation)(properties.Rules):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDirectoryBucketMetricsConfigurationPropertyValidator(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("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.wrap('supplied properties not correct for "MetricsConfigurationProperty"')}function convertCfnDirectoryBucketMetricsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDirectoryBucketMetricsConfigurationPropertyValidator(properties).assertSuccess(),{AccessPointArn:cdk().stringToCloudFormation(properties.accessPointArn),Id:cdk().stringToCloudFormation(properties.id),Prefix:cdk().stringToCloudFormation(properties.prefix)}):properties}function CfnDirectoryBucketMetricsConfigurationPropertyFromCloudFormation(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("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDirectoryBucketDestinationPropertyValidator(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("bucketAccountId",cdk().validateString)(properties.bucketAccountId)),errors.collect(cdk().propertyValidator("bucketArn",cdk().requiredValidator)(properties.bucketArn)),errors.collect(cdk().propertyValidator("bucketArn",cdk().validateString)(properties.bucketArn)),errors.collect(cdk().propertyValidator("format",cdk().requiredValidator)(properties.format)),errors.collect(cdk().propertyValidator("format",cdk().validateString)(properties.format)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.wrap('supplied properties not correct for "DestinationProperty"')}function convertCfnDirectoryBucketDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDirectoryBucketDestinationPropertyValidator(properties).assertSuccess(),{BucketAccountId:cdk().stringToCloudFormation(properties.bucketAccountId),BucketArn:cdk().stringToCloudFormation(properties.bucketArn),Format:cdk().stringToCloudFormation(properties.format),Prefix:cdk().stringToCloudFormation(properties.prefix)}):properties}function CfnDirectoryBucketDestinationPropertyFromCloudFormation(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("bucketAccountId","BucketAccountId",properties.BucketAccountId!=null?cfn_parse().FromCloudFormation.getString(properties.BucketAccountId):void 0),ret.addPropertyResult("bucketArn","BucketArn",properties.BucketArn!=null?cfn_parse().FromCloudFormation.getString(properties.BucketArn):void 0),ret.addPropertyResult("format","Format",properties.Format!=null?cfn_parse().FromCloudFormation.getString(properties.Format):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDirectoryBucketInventoryConfigurationPropertyValidator(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",CfnDirectoryBucketDestinationPropertyValidator)(properties.destination)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("includedObjectVersions",cdk().requiredValidator)(properties.includedObjectVersions)),errors.collect(cdk().propertyValidator("includedObjectVersions",cdk().validateString)(properties.includedObjectVersions)),errors.collect(cdk().propertyValidator("optionalFields",cdk().listValidator(cdk().validateString))(properties.optionalFields)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.collect(cdk().propertyValidator("scheduleFrequency",cdk().requiredValidator)(properties.scheduleFrequency)),errors.collect(cdk().propertyValidator("scheduleFrequency",cdk().validateString)(properties.scheduleFrequency)),errors.wrap('supplied properties not correct for "InventoryConfigurationProperty"')}function convertCfnDirectoryBucketInventoryConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDirectoryBucketInventoryConfigurationPropertyValidator(properties).assertSuccess(),{Destination:convertCfnDirectoryBucketDestinationPropertyToCloudFormation(properties.destination),Enabled:cdk().booleanToCloudFormation(properties.enabled),Id:cdk().stringToCloudFormation(properties.id),IncludedObjectVersions:cdk().stringToCloudFormation(properties.includedObjectVersions),OptionalFields:cdk().listMapper(cdk().stringToCloudFormation)(properties.optionalFields),Prefix:cdk().stringToCloudFormation(properties.prefix),ScheduleFrequency:cdk().stringToCloudFormation(properties.scheduleFrequency)}):properties}function CfnDirectoryBucketInventoryConfigurationPropertyFromCloudFormation(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?CfnDirectoryBucketDestinationPropertyFromCloudFormation(properties.Destination):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("includedObjectVersions","IncludedObjectVersions",properties.IncludedObjectVersions!=null?cfn_parse().FromCloudFormation.getString(properties.IncludedObjectVersions):void 0),ret.addPropertyResult("optionalFields","OptionalFields",properties.OptionalFields!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.OptionalFields):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("scheduleFrequency","ScheduleFrequency",properties.ScheduleFrequency!=null?cfn_parse().FromCloudFormation.getString(properties.ScheduleFrequency):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDirectoryBucketPropsValidator(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("bucketEncryption",CfnDirectoryBucketBucketEncryptionPropertyValidator)(properties.bucketEncryption)),errors.collect(cdk().propertyValidator("bucketName",cdk().validateString)(properties.bucketName)),errors.collect(cdk().propertyValidator("dataRedundancy",cdk().requiredValidator)(properties.dataRedundancy)),errors.collect(cdk().propertyValidator("dataRedundancy",cdk().validateString)(properties.dataRedundancy)),errors.collect(cdk().propertyValidator("inventoryConfigurations",cdk().listValidator(CfnDirectoryBucketInventoryConfigurationPropertyValidator))(properties.inventoryConfigurations)),errors.collect(cdk().propertyValidator("lifecycleConfiguration",CfnDirectoryBucketLifecycleConfigurationPropertyValidator)(properties.lifecycleConfiguration)),errors.collect(cdk().propertyValidator("locationName",cdk().requiredValidator)(properties.locationName)),errors.collect(cdk().propertyValidator("locationName",cdk().validateString)(properties.locationName)),errors.collect(cdk().propertyValidator("metricsConfigurations",cdk().listValidator(CfnDirectoryBucketMetricsConfigurationPropertyValidator))(properties.metricsConfigurations)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDirectoryBucketProps"')}function convertCfnDirectoryBucketPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDirectoryBucketPropsValidator(properties).assertSuccess(),{BucketEncryption:convertCfnDirectoryBucketBucketEncryptionPropertyToCloudFormation(properties.bucketEn