aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 258 kB
JavaScript
"use strict";var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnStorageLensGroup=exports.CfnAccessGrantsLocation=exports.CfnAccessGrantsInstance=exports.CfnAccessGrant=exports.CfnStorageLens=exports.CfnMultiRegionAccessPointPolicy=exports.CfnMultiRegionAccessPoint=exports.CfnBucketPolicy=exports.CfnBucket=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");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 _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("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}constructor(scope,id,props){super(scope,id,{type:CfnAccessPoint.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_s3_CfnAccessPointProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAccessPoint),error}cdk().requireProperty(props,"bucket",this),this.attrAlias=cdk().Token.asString(this.getAtt("Alias",cdk().ResolutionTypeHint.STRING)),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrName=cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING)),this.attrNetworkOrigin=cdk().Token.asString(this.getAtt("NetworkOrigin",cdk().ResolutionTypeHint.STRING)),this.bucket=props.bucket,this.bucketAccountId=props.bucketAccountId,this.name=props.name,this.policy=props.policy,this.publicAccessBlockConfiguration=props.publicAccessBlockConfiguration,this.vpcConfiguration=props.vpcConfiguration}get cfnProperties(){return{bucket:this.bucket,bucketAccountId:this.bucketAccountId,name:this.name,policy:this.policy,publicAccessBlockConfiguration:this.publicAccessBlockConfiguration,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:props",this.cfnProperties)}renderProperties(props){return convertCfnAccessPointPropsToCloudFormation(props)}}exports.CfnAccessPoint=CfnAccessPoint,_a=JSII_RTTI_SYMBOL_1,CfnAccessPoint[_a]={fqn:"aws-cdk-lib.aws_s3.CfnAccessPoint",version:"2.185.0"},CfnAccessPoint.CFN_RESOURCE_TYPE_NAME="AWS::S3::AccessPoint";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 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 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("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),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("vpcConfiguration","VpcConfiguration",properties.VpcConfiguration!=null?CfnAccessPointVpcConfigurationPropertyFromCloudFormation(properties.VpcConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnBucket extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnBucketPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnBucket(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}constructor(scope,id,props={}){super(scope,id,{type:CfnBucket.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_s3_CfnBucketProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnBucket),error}this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrDomainName=cdk().Token.asString(this.getAtt("DomainName",cdk().ResolutionTypeHint.STRING)),this.attrDualStackDomainName=cdk().Token.asString(this.getAtt("DualStackDomainName",cdk().ResolutionTypeHint.STRING)),this.attrMetadataTableConfigurationS3TablesDestinationTableArn=cdk().Token.asString(this.getAtt("MetadataTableConfiguration.S3TablesDestination.TableArn",cdk().ResolutionTypeHint.STRING)),this.attrMetadataTableConfigurationS3TablesDestinationTableNamespace=cdk().Token.asString(this.getAtt("MetadataTableConfiguration.S3TablesDestination.TableNamespace",cdk().ResolutionTypeHint.STRING)),this.attrRegionalDomainName=cdk().Token.asString(this.getAtt("RegionalDomainName",cdk().ResolutionTypeHint.STRING)),this.attrWebsiteUrl=cdk().Token.asString(this.getAtt("WebsiteURL",cdk().ResolutionTypeHint.STRING)),this.accelerateConfiguration=props.accelerateConfiguration,this.accessControl=props.accessControl,this.analyticsConfigurations=props.analyticsConfigurations,this.bucketEncryption=props.bucketEncryption,this.bucketName=props.bucketName,this.corsConfiguration=props.corsConfiguration,this.intelligentTieringConfigurations=props.intelligentTieringConfigurations,this.inventoryConfigurations=props.inventoryConfigurations,this.lifecycleConfiguration=props.lifecycleConfiguration,this.loggingConfiguration=props.loggingConfiguration,this.metadataTableConfiguration=props.metadataTableConfiguration,this.metricsConfigurations=props.metricsConfigurations,this.notificationConfiguration=props.notificationConfiguration,this.objectLockConfiguration=props.objectLockConfiguration,this.objectLockEnabled=props.objectLockEnabled,this.ownershipControls=props.ownershipControls,this.publicAccessBlockConfiguration=props.publicAccessBlockConfiguration,this.replicationConfiguration=props.replicationConfiguration,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::S3::Bucket",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags,this.versioningConfiguration=props.versioningConfiguration,this.websiteConfiguration=props.websiteConfiguration,this.node.scope!=null&&cdk().Resource.isResource(this.node.scope)&&this.node.addValidation({validate:()=>this.cfnOptions.deletionPolicy===void 0?["'AWS::S3::Bucket' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}get cfnProperties(){return{accelerateConfiguration:this.accelerateConfiguration,accessControl:this.accessControl,analyticsConfigurations:this.analyticsConfigurations,bucketEncryption:this.bucketEncryption,bucketName:this.bucketName,corsConfiguration:this.corsConfiguration,intelligentTieringConfigurations:this.intelligentTieringConfigurations,inventoryConfigurations:this.inventoryConfigurations,lifecycleConfiguration:this.lifecycleConfiguration,loggingConfiguration:this.loggingConfiguration,metadataTableConfiguration:this.metadataTableConfiguration,metricsConfigurations:this.metricsConfigurations,notificationConfiguration:this.notificationConfiguration,objectLockConfiguration:this.objectLockConfiguration,objectLockEnabled:this.objectLockEnabled,ownershipControls:this.ownershipControls,publicAccessBlockConfiguration:this.publicAccessBlockConfiguration,replicationConfiguration:this.replicationConfiguration,tags:this.tags.renderTags(),versioningConfiguration:this.versioningConfiguration,websiteConfiguration:this.websiteConfiguration}}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",CfnBucket.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnBucketPropsToCloudFormation(props)}}exports.CfnBucket=CfnBucket,_b=JSII_RTTI_SYMBOL_1,CfnBucket[_b]={fqn:"aws-cdk-lib.aws_s3.CfnBucket",version:"2.185.0"},CfnBucket.CFN_RESOURCE_TYPE_NAME="AWS::S3::Bucket";function CfnBucketAccelerateConfigurationPropertyValidator(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("accelerationStatus",cdk().requiredValidator)(properties.accelerationStatus)),errors.collect(cdk().propertyValidator("accelerationStatus",cdk().validateString)(properties.accelerationStatus)),errors.wrap('supplied properties not correct for "AccelerateConfigurationProperty"')}function convertCfnBucketAccelerateConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBucketAccelerateConfigurationPropertyValidator(properties).assertSuccess(),{AccelerationStatus:cdk().stringToCloudFormation(properties.accelerationStatus)}):properties}function CfnBucketAccelerateConfigurationPropertyFromCloudFormation(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("accelerationStatus","AccelerationStatus",properties.AccelerationStatus!=null?cfn_parse().FromCloudFormation.getString(properties.AccelerationStatus):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucketDestinationPropertyValidator(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 convertCfnBucketDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBucketDestinationPropertyValidator(properties).assertSuccess(),{BucketAccountId:cdk().stringToCloudFormation(properties.bucketAccountId),BucketArn:cdk().stringToCloudFormation(properties.bucketArn),Format:cdk().stringToCloudFormation(properties.format),Prefix:cdk().stringToCloudFormation(properties.prefix)}):properties}function CfnBucketDestinationPropertyFromCloudFormation(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 CfnBucketDataExportPropertyValidator(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",CfnBucketDestinationPropertyValidator)(properties.destination)),errors.collect(cdk().propertyValidator("outputSchemaVersion",cdk().requiredValidator)(properties.outputSchemaVersion)),errors.collect(cdk().propertyValidator("outputSchemaVersion",cdk().validateString)(properties.outputSchemaVersion)),errors.wrap('supplied properties not correct for "DataExportProperty"')}function convertCfnBucketDataExportPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBucketDataExportPropertyValidator(properties).assertSuccess(),{Destination:convertCfnBucketDestinationPropertyToCloudFormation(properties.destination),OutputSchemaVersion:cdk().stringToCloudFormation(properties.outputSchemaVersion)}):properties}function CfnBucketDataExportPropertyFromCloudFormation(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?CfnBucketDestinationPropertyFromCloudFormation(properties.Destination):void 0),ret.addPropertyResult("outputSchemaVersion","OutputSchemaVersion",properties.OutputSchemaVersion!=null?cfn_parse().FromCloudFormation.getString(properties.OutputSchemaVersion):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucketStorageClassAnalysisPropertyValidator(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("dataExport",CfnBucketDataExportPropertyValidator)(properties.dataExport)),errors.wrap('supplied properties not correct for "StorageClassAnalysisProperty"')}function convertCfnBucketStorageClassAnalysisPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBucketStorageClassAnalysisPropertyValidator(properties).assertSuccess(),{DataExport:convertCfnBucketDataExportPropertyToCloudFormation(properties.dataExport)}):properties}function CfnBucketStorageClassAnalysisPropertyFromCloudFormation(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("dataExport","DataExport",properties.DataExport!=null?CfnBucketDataExportPropertyFromCloudFormation(properties.DataExport):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucketTagFilterPropertyValidator(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("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "TagFilterProperty"')}function convertCfnBucketTagFilterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBucketTagFilterPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnBucketTagFilterPropertyFromCloudFormation(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("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucketAnalyticsConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.collect(cdk().propertyValidator("storageClassAnalysis",cdk().requiredValidator)(properties.storageClassAnalysis)),errors.collect(cdk().propertyValidator("storageClassAnalysis",CfnBucketStorageClassAnalysisPropertyValidator)(properties.storageClassAnalysis)),errors.collect(cdk().propertyValidator("tagFilters",cdk().listValidator(CfnBucketTagFilterPropertyValidator))(properties.tagFilters)),errors.wrap('supplied properties not correct for "AnalyticsConfigurationProperty"')}function convertCfnBucketAnalyticsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBucketAnalyticsConfigurationPropertyValidator(properties).assertSuccess(),{Id:cdk().stringToCloudFormation(properties.id),Prefix:cdk().stringToCloudFormation(properties.prefix),StorageClassAnalysis:convertCfnBucketStorageClassAnalysisPropertyToCloudFormation(properties.storageClassAnalysis),TagFilters:cdk().listMapper(convertCfnBucketTagFilterPropertyToCloudFormation)(properties.tagFilters)}):properties}function CfnBucketAnalyticsConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("storageClassAnalysis","StorageClassAnalysis",properties.StorageClassAnalysis!=null?CfnBucketStorageClassAnalysisPropertyFromCloudFormation(properties.StorageClassAnalysis):void 0),ret.addPropertyResult("tagFilters","TagFilters",properties.TagFilters!=null?cfn_parse().FromCloudFormation.getArray(CfnBucketTagFilterPropertyFromCloudFormation)(properties.TagFilters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucketServerSideEncryptionByDefaultPropertyValidator(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 convertCfnBucketServerSideEncryptionByDefaultPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBucketServerSideEncryptionByDefaultPropertyValidator(properties).assertSuccess(),{KMSMasterKeyID:cdk().stringToCloudFormation(properties.kmsMasterKeyId),SSEAlgorithm:cdk().stringToCloudFormation(properties.sseAlgorithm)}):properties}function CfnBucketServerSideEncryptionByDefaultPropertyFromCloudFormation(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 CfnBucketServerSideEncryptionRulePropertyValidator(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",CfnBucketServerSideEncryptionByDefaultPropertyValidator)(properties.serverSideEncryptionByDefault)),errors.wrap('supplied properties not correct for "ServerSideEncryptionRuleProperty"')}function convertCfnBucketServerSideEncryptionRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBucketServerSideEncryptionRulePropertyValidator(properties).assertSuccess(),{BucketKeyEnabled:cdk().booleanToCloudFormation(properties.bucketKeyEnabled),ServerSideEncryptionByDefault:convertCfnBucketServerSideEncryptionByDefaultPropertyToCloudFormation(properties.serverSideEncryptionByDefault)}):properties}function CfnBucketServerSideEncryptionRulePropertyFromCloudFormation(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?CfnBucketServerSideEncryptionByDefaultPropertyFromCloudFormation(properties.ServerSideEncryptionByDefault):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucketBucketEncryptionPropertyValidator(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(CfnBucketServerSideEncryptionRulePropertyValidator))(properties.serverSideEncryptionConfiguration)),errors.wrap('supplied properties not correct for "BucketEncryptionProperty"')}function convertCfnBucketBucketEncryptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBucketBucketEncryptionPropertyValidator(properties).assertSuccess(),{ServerSideEncryptionConfiguration:cdk().listMapper(convertCfnBucketServerSideEncryptionRulePropertyToCloudFormation)(properties.serverSideEncryptionConfiguration)}):properties}function CfnBucketBucketEncryptionPropertyFromCloudFormation(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(CfnBucketServerSideEncryptionRulePropertyFromCloudFormation)(properties.ServerSideEncryptionConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucketCorsRulePropertyValidator(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("allowedHeaders",cdk().listValidator(cdk().validateString))(properties.allowedHeaders)),errors.collect(cdk().propertyValidator("allowedMethods",cdk().requiredValidator)(properties.allowedMethods)),errors.collect(cdk().propertyValidator("allowedMethods",cdk().listValidator(cdk().validateString))(properties.allowedMethods)),errors.collect(cdk().propertyValidator("allowedOrigins",cdk().requiredValidator)(properties.allowedOrigins)),errors.collect(cdk().propertyValidator("allowedOrigins",cdk().listValidator(cdk().validateString))(properties.allowedOrigins)),errors.collect(cdk().propertyValidator("exposedHeaders",cdk().listValidator(cdk().validateString))(properties.exposedHeaders)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("maxAge",cdk().validateNumber)(properties.maxAge)),errors.wrap('supplied properties not correct for "CorsRuleProperty"')}function convertCfnBucketCorsRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBucketCorsRulePropertyValidator(properties).assertSuccess(),{AllowedHeaders:cdk().listMapper(cdk().stringToCloudFormation)(properties.allowedHeaders),AllowedMethods:cdk().listMapper(cdk().stringToCloudFormation)(properties.allowedMethods),AllowedOrigins:cdk().listMapper(cdk().stringToCloudFormation)(properties.allowedOrigins),ExposedHeaders:cdk().listMapper(cdk().stringToCloudFormation)(properties.exposedHeaders),Id:cdk().stringToCloudFormation(properties.id),MaxAge:cdk().numberToCloudFormation(properties.maxAge)}):properties}function CfnBucketCorsRulePropertyFromCloudFormation(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("allowedHeaders","AllowedHeaders",properties.AllowedHeaders!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AllowedHeaders):void 0),ret.addPropertyResult("allowedMethods","AllowedMethods",properties.AllowedMethods!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AllowedMethods):void 0),ret.addPropertyResult("allowedOrigins","AllowedOrigins",properties.AllowedOrigins!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AllowedOrigins):void 0),ret.addPropertyResult("exposedHeaders","ExposedHeaders",properties.ExposedHeaders!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExposedHeaders):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("maxAge","MaxAge",properties.MaxAge!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxAge):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucketCorsConfigurationPropertyValidator(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("corsRules",cdk().requiredValidator)(properties.corsRules)),errors.collect(cdk().propertyValidator("corsRules",cdk().listValidator(CfnBucketCorsRulePropertyValidator))(properties.corsRules)),errors.wrap('supplied properties not correct for "CorsConfigurationProperty"')}function convertCfnBucketCorsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBucketCorsConfigurationPropertyValidator(properties).assertSuccess(),{CorsRules:cdk().listMapper(convertCfnBucketCorsRulePropertyToCloudFormation)(properties.corsRules)}):properties}function CfnBucketCorsConfigurationPropertyFromCloudFormation(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("corsRules","CorsRules",properties.CorsRules!=null?cfn_parse().FromCloudFormation.getArray(CfnBucketCorsRulePropertyFromCloudFormation)(properties.CorsRules):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucketTieringPropertyValidator(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("accessTier",cdk().requiredValidator)(properties.accessTier)),errors.collect(cdk().propertyValidator("accessTier",cdk().validateString)(properties.accessTier)),errors.collect(cdk().propertyValidator("days",cdk().requiredValidator)(properties.days)),errors.collect(cdk().propertyValidator("days",cdk().validateNumber)(properties.days)),errors.wrap('supplied properties not correct for "TieringProperty"')}function convertCfnBucketTieringPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBucketTieringPropertyValidator(properties).assertSuccess(),{AccessTier:cdk().stringToCloudFormation(properties.accessTier),Days:cdk().numberToCloudFormation(properties.days)}):properties}function CfnBucketTieringPropertyFromCloudFormation(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("accessTier","AccessTier",properties.AccessTier!=null?cfn_parse().FromCloudFormation.getString(properties.AccessTier):void 0),ret.addPropertyResult("days","Days",properties.Days!=null?cfn_parse().FromCloudFormation.getNumber(properties.Days):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucketIntelligentTieringConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),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.collect(cdk().propertyValidator("tagFilters",cdk().listValidator(CfnBucketTagFilterPropertyValidator))(properties.tagFilters)),errors.collect(cdk().propertyValidator("tierings",cdk().requiredValidator)(properties.tierings)),errors.collect(cdk().propertyValidator("tierings",cdk().listValidator(CfnBucketTieringPropertyValidator))(properties.tierings)),errors.wrap('supplied properties not correct for "IntelligentTieringConfigurationProperty"')}function convertCfnBucketIntelligentTieringConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBucketIntelligentTieringConfigurationPropertyValidator(properties).assertSuccess(),{Id:cdk().stringToCloudFormation(properties.id),Prefix:cdk().stringToCloudFormation(properties.prefix),Status:cdk().stringToCloudFormation(properties.status),TagFilters:cdk().listMapper(convertCfnBucketTagFilterPropertyToCloudFormation)(properties.tagFilters),Tierings:cdk().listMapper(convertCfnBucketTieringPropertyToCloudFormation)(properties.tierings)}):properties}function CfnBucketIntelligentTieringConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):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.addPropertyResult("tagFilters","TagFilters",properties.TagFilters!=null?cfn_parse().FromCloudFormation.getArray(CfnBucketTagFilterPropertyFromCloudFormation)(properties.TagFilters):void 0),ret.addPropertyResult("tierings","Tierings",properties.Tierings!=null?cfn_parse().FromCloudFormation.getArray(CfnBucketTieringPropertyFromCloudFormation)(properties.Tierings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBucketInventoryConfigurationPropertyValidator(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",CfnBucketDestinationPropertyValidator)(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 convertCfnBucketInventoryConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBucketInventoryConfigurationPropertyValidator(properties).assertSuccess(),{Destination:convertCfnBucketDestinationPropertyToCloudFormation(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 CfnBucketInventoryConfigurationPropertyFromCloudFormation(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?CfnBucketDestinationPropertyFromCloudFormation(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 CfnBucketAbortIncompleteMultipartUploadPropertyValidator(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 convertCfnBucketAbortIncompleteMultipartUploadPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBucketAbortIncompleteMultipartUploadPropertyValidator(properties).assertSuccess(),{DaysAfterInitiation:cdk().numberToCloudFormation(properties.daysAfterInitiation)}):properties}function CfnBucketAbortIncompleteMultipartUploadPropertyFromCloudFormation(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 CfnBucketNoncurrentVersionExpirationPropertyValidator(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("newerNoncurrentVersions",cdk().validateNumber)(properties.newerNoncurrentVersions)),errors.collect(cdk().propertyValidator("noncurrentDays",cdk().requiredValidator)(properties.noncurrentDays)),errors.collect(cdk().propertyValidator("noncurrentDays",cdk().validateNumber)(properties.noncurrentDays)),errors.wrap('supplied