UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1 lines 73.8 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnTablePolicy=exports.CfnTableBucketPolicy=exports.CfnTableBucket=exports.CfnTable=exports.CfnNamespace=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 CfnNamespace extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_s3tables.CfnNamespace",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::S3Tables::Namespace";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnNamespacePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnNamespace(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 isCfnNamespace(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnNamespace.CFN_RESOURCE_TYPE_NAME}_namespace;_tableBucketArn;constructor(scope,id,props){super(scope,id,{type:CfnNamespace.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_s3tables_CfnNamespaceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnNamespace),error}cdk().requireProperty(props,"namespace",this),cdk().requireProperty(props,"tableBucketArn",this),this._namespace=props.namespace,this._tableBucketArn=props.tableBucketArn}get namespaceRef(){return{tableBucketArn:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),namespace:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get namespace(){return this._namespace}set namespace(value){cdk().traceProperty(this.node,"Namespace"),this._namespace=value}get tableBucketArn(){return this._tableBucketArn}set tableBucketArn(value){cdk().traceProperty(this.node,"TableBucketARN"),this._tableBucketArn=value}get cfnProperties(){return{namespace:this._namespace,tableBucketArn:this._tableBucketArn}}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",CfnNamespace.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnNamespacePropsToCloudFormation(props)}}exports.CfnNamespace=CfnNamespace;function CfnNamespacePropsValidator(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("namespace",cdk().requiredValidator)(properties.namespace)),errors.collect(cdk().propertyValidator("namespace",cdk().validateString)(properties.namespace)),errors.collect(cdk().propertyValidator("tableBucketArn",cdk().requiredValidator)(properties.tableBucketArn)),errors.collect(cdk().propertyValidator("tableBucketArn",cdk().validateString)(properties.tableBucketArn)),errors.wrap('supplied properties not correct for "CfnNamespaceProps"')}function convertCfnNamespacePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnNamespacePropsValidator(properties).assertSuccess(),{Namespace:cdk().stringToCloudFormation(properties.namespace),TableBucketARN:cdk().stringToCloudFormation(properties.tableBucketArn)}):properties}function CfnNamespacePropsFromCloudFormation(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("namespace","Namespace",properties.Namespace!=null?cfn_parse().FromCloudFormation.getString(properties.Namespace):void 0),ret.addPropertyResult("tableBucketArn","TableBucketARN",properties.TableBucketARN!=null?cfn_parse().FromCloudFormation.getString(properties.TableBucketARN):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTable extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_s3tables.CfnTable",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::S3Tables::Table";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTablePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTable(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 isCfnTable(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTable.CFN_RESOURCE_TYPE_NAME}static arnForTable(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_s3tables_ITableRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForTable),error}return resource.tableRef.tableArn}cdkTagManager;_compaction;_icebergMetadata;_namespace;_openTableFormat;_snapshotManagement;_storageClassConfiguration;_tableBucketArn;_tableName;_tags;_withoutMetadata;constructor(scope,id,props){super(scope,id,{type:CfnTable.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_s3tables_CfnTableProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTable),error}cdk().requireProperty(props,"namespace",this),cdk().requireProperty(props,"openTableFormat",this),cdk().requireProperty(props,"tableBucketArn",this),cdk().requireProperty(props,"tableName",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::S3Tables::Table",void 0,{tagPropertyName:"tags"}),this._compaction=props.compaction,this._icebergMetadata=props.icebergMetadata,this._namespace=props.namespace,this._openTableFormat=props.openTableFormat,this._snapshotManagement=props.snapshotManagement,this._storageClassConfiguration=props.storageClassConfiguration,this._tableBucketArn=props.tableBucketArn,this._tableName=props.tableName,this._tags=props.tags,this._withoutMetadata=props.withoutMetadata}get tableRef(){return{tableArn:this.ref}}get compaction(){return this._compaction}set compaction(value){cdk().traceProperty(this.node,"Compaction"),this._compaction=value}get icebergMetadata(){return this._icebergMetadata}set icebergMetadata(value){cdk().traceProperty(this.node,"IcebergMetadata"),this._icebergMetadata=value}get namespace(){return this._namespace}set namespace(value){cdk().traceProperty(this.node,"Namespace"),this._namespace=value}get openTableFormat(){return this._openTableFormat}set openTableFormat(value){cdk().traceProperty(this.node,"OpenTableFormat"),this._openTableFormat=value}get snapshotManagement(){return this._snapshotManagement}set snapshotManagement(value){cdk().traceProperty(this.node,"SnapshotManagement"),this._snapshotManagement=value}get storageClassConfiguration(){return this._storageClassConfiguration}set storageClassConfiguration(value){cdk().traceProperty(this.node,"StorageClassConfiguration"),this._storageClassConfiguration=value}get tableBucketArn(){return this._tableBucketArn}set tableBucketArn(value){cdk().traceProperty(this.node,"TableBucketARN"),this._tableBucketArn=value}get tableName(){return this._tableName}set tableName(value){cdk().traceProperty(this.node,"TableName"),this._tableName=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get withoutMetadata(){return this._withoutMetadata}set withoutMetadata(value){cdk().traceProperty(this.node,"WithoutMetadata"),this._withoutMetadata=value}get attrTableArn(){return cdk().Token.asString(this.getAtt("TableARN",cdk().ResolutionTypeHint.STRING))}get attrVersionToken(){return cdk().Token.asString(this.getAtt("VersionToken",cdk().ResolutionTypeHint.STRING))}get attrWarehouseLocation(){return cdk().Token.asString(this.getAtt("WarehouseLocation",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),compaction:this._compaction,icebergMetadata:this._icebergMetadata,namespace:this._namespace,openTableFormat:this._openTableFormat,snapshotManagement:this._snapshotManagement,storageClassConfiguration:this._storageClassConfiguration,tableBucketArn:this._tableBucketArn,tableName:this._tableName,withoutMetadata:this._withoutMetadata}}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",CfnTable.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTablePropsToCloudFormation(props)}}exports.CfnTable=CfnTable;function CfnTableStorageClassConfigurationPropertyValidator(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("storageClass",cdk().validateString)(properties.storageClass)),errors.wrap('supplied properties not correct for "StorageClassConfigurationProperty"')}function convertCfnTableStorageClassConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableStorageClassConfigurationPropertyValidator(properties).assertSuccess(),{StorageClass:cdk().stringToCloudFormation(properties.storageClass)}):properties}function CfnTableStorageClassConfigurationPropertyFromCloudFormation(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("storageClass","StorageClass",properties.StorageClass!=null?cfn_parse().FromCloudFormation.getString(properties.StorageClass):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableCompactionPropertyValidator(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("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("targetFileSizeMb",cdk().validateNumber)(properties.targetFileSizeMb)),errors.wrap('supplied properties not correct for "CompactionProperty"')}function convertCfnTableCompactionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableCompactionPropertyValidator(properties).assertSuccess(),{Status:cdk().stringToCloudFormation(properties.status),TargetFileSizeMB:cdk().numberToCloudFormation(properties.targetFileSizeMb)}):properties}function CfnTableCompactionPropertyFromCloudFormation(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("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("targetFileSizeMb","TargetFileSizeMB",properties.TargetFileSizeMB!=null?cfn_parse().FromCloudFormation.getNumber(properties.TargetFileSizeMB):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableSchemaFieldPropertyValidator(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().validateNumber)(properties.id)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("required",cdk().validateBoolean)(properties.required)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "SchemaFieldProperty"')}function convertCfnTableSchemaFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableSchemaFieldPropertyValidator(properties).assertSuccess(),{Id:cdk().numberToCloudFormation(properties.id),Name:cdk().stringToCloudFormation(properties.name),Required:cdk().booleanToCloudFormation(properties.required),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnTableSchemaFieldPropertyFromCloudFormation(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.getNumber(properties.Id):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("required","Required",properties.Required!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Required):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableIcebergSchemaPropertyValidator(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("schemaFieldList",cdk().requiredValidator)(properties.schemaFieldList)),errors.collect(cdk().propertyValidator("schemaFieldList",cdk().listValidator(CfnTableSchemaFieldPropertyValidator))(properties.schemaFieldList)),errors.wrap('supplied properties not correct for "IcebergSchemaProperty"')}function convertCfnTableIcebergSchemaPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableIcebergSchemaPropertyValidator(properties).assertSuccess(),{SchemaFieldList:cdk().listMapper(convertCfnTableSchemaFieldPropertyToCloudFormation)(properties.schemaFieldList)}):properties}function CfnTableIcebergSchemaPropertyFromCloudFormation(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("schemaFieldList","SchemaFieldList",properties.SchemaFieldList!=null?cfn_parse().FromCloudFormation.getArray(CfnTableSchemaFieldPropertyFromCloudFormation)(properties.SchemaFieldList):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableIcebergSortFieldPropertyValidator(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("direction",cdk().requiredValidator)(properties.direction)),errors.collect(cdk().propertyValidator("direction",cdk().validateString)(properties.direction)),errors.collect(cdk().propertyValidator("nullOrder",cdk().requiredValidator)(properties.nullOrder)),errors.collect(cdk().propertyValidator("nullOrder",cdk().validateString)(properties.nullOrder)),errors.collect(cdk().propertyValidator("sourceId",cdk().requiredValidator)(properties.sourceId)),errors.collect(cdk().propertyValidator("sourceId",cdk().validateNumber)(properties.sourceId)),errors.collect(cdk().propertyValidator("transform",cdk().requiredValidator)(properties.transform)),errors.collect(cdk().propertyValidator("transform",cdk().validateString)(properties.transform)),errors.wrap('supplied properties not correct for "IcebergSortFieldProperty"')}function convertCfnTableIcebergSortFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableIcebergSortFieldPropertyValidator(properties).assertSuccess(),{Direction:cdk().stringToCloudFormation(properties.direction),NullOrder:cdk().stringToCloudFormation(properties.nullOrder),SourceId:cdk().numberToCloudFormation(properties.sourceId),Transform:cdk().stringToCloudFormation(properties.transform)}):properties}function CfnTableIcebergSortFieldPropertyFromCloudFormation(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("direction","Direction",properties.Direction!=null?cfn_parse().FromCloudFormation.getString(properties.Direction):void 0),ret.addPropertyResult("nullOrder","NullOrder",properties.NullOrder!=null?cfn_parse().FromCloudFormation.getString(properties.NullOrder):void 0),ret.addPropertyResult("sourceId","SourceId",properties.SourceId!=null?cfn_parse().FromCloudFormation.getNumber(properties.SourceId):void 0),ret.addPropertyResult("transform","Transform",properties.Transform!=null?cfn_parse().FromCloudFormation.getString(properties.Transform):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableIcebergSortOrderPropertyValidator(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("fields",cdk().requiredValidator)(properties.fields)),errors.collect(cdk().propertyValidator("fields",cdk().listValidator(CfnTableIcebergSortFieldPropertyValidator))(properties.fields)),errors.collect(cdk().propertyValidator("orderId",cdk().validateNumber)(properties.orderId)),errors.wrap('supplied properties not correct for "IcebergSortOrderProperty"')}function convertCfnTableIcebergSortOrderPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableIcebergSortOrderPropertyValidator(properties).assertSuccess(),{Fields:cdk().listMapper(convertCfnTableIcebergSortFieldPropertyToCloudFormation)(properties.fields),OrderId:cdk().numberToCloudFormation(properties.orderId)}):properties}function CfnTableIcebergSortOrderPropertyFromCloudFormation(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("fields","Fields",properties.Fields!=null?cfn_parse().FromCloudFormation.getArray(CfnTableIcebergSortFieldPropertyFromCloudFormation)(properties.Fields):void 0),ret.addPropertyResult("orderId","OrderId",properties.OrderId!=null?cfn_parse().FromCloudFormation.getNumber(properties.OrderId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableSchemaV2FieldPropertyValidator(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("doc",cdk().validateString)(properties.doc)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateNumber)(properties.id)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("required",cdk().requiredValidator)(properties.required)),errors.collect(cdk().propertyValidator("required",cdk().validateBoolean)(properties.required)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().unionValidator(cdk().validateString,cdk().validateObject))(properties.type)),errors.wrap('supplied properties not correct for "SchemaV2FieldProperty"')}function convertCfnTableSchemaV2FieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableSchemaV2FieldPropertyValidator(properties).assertSuccess(),{Doc:cdk().stringToCloudFormation(properties.doc),Id:cdk().numberToCloudFormation(properties.id),Name:cdk().stringToCloudFormation(properties.name),Required:cdk().booleanToCloudFormation(properties.required),Type:cdk().unionMapper([cdk().validateString,cdk().validateObject],[cdk().stringToCloudFormation,cdk().objectToCloudFormation])(properties.type)}):properties}function CfnTableSchemaV2FieldPropertyFromCloudFormation(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("doc","Doc",properties.Doc!=null?cfn_parse().FromCloudFormation.getString(properties.Doc):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getNumber(properties.Id):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("required","Required",properties.Required!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Required):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getTypeUnion([cdk().validateString,cdk().validateObject],[cfn_parse().FromCloudFormation.getString,cfn_parse().FromCloudFormation.getAny])(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableIcebergSchemaV2PropertyValidator(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("identifierFieldIds",cdk().listValidator(cdk().validateNumber))(properties.identifierFieldIds)),errors.collect(cdk().propertyValidator("schemaId",cdk().validateNumber)(properties.schemaId)),errors.collect(cdk().propertyValidator("schemaV2FieldList",cdk().requiredValidator)(properties.schemaV2FieldList)),errors.collect(cdk().propertyValidator("schemaV2FieldList",cdk().listValidator(CfnTableSchemaV2FieldPropertyValidator))(properties.schemaV2FieldList)),errors.collect(cdk().propertyValidator("schemaV2FieldType",cdk().requiredValidator)(properties.schemaV2FieldType)),errors.collect(cdk().propertyValidator("schemaV2FieldType",cdk().validateString)(properties.schemaV2FieldType)),errors.wrap('supplied properties not correct for "IcebergSchemaV2Property"')}function convertCfnTableIcebergSchemaV2PropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableIcebergSchemaV2PropertyValidator(properties).assertSuccess(),{IdentifierFieldIds:cdk().listMapper(cdk().numberToCloudFormation)(properties.identifierFieldIds),SchemaId:cdk().numberToCloudFormation(properties.schemaId),SchemaV2FieldList:cdk().listMapper(convertCfnTableSchemaV2FieldPropertyToCloudFormation)(properties.schemaV2FieldList),SchemaV2FieldType:cdk().stringToCloudFormation(properties.schemaV2FieldType)}):properties}function CfnTableIcebergSchemaV2PropertyFromCloudFormation(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("identifierFieldIds","IdentifierFieldIds",properties.IdentifierFieldIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.IdentifierFieldIds):void 0),ret.addPropertyResult("schemaId","SchemaId",properties.SchemaId!=null?cfn_parse().FromCloudFormation.getNumber(properties.SchemaId):void 0),ret.addPropertyResult("schemaV2FieldList","SchemaV2FieldList",properties.SchemaV2FieldList!=null?cfn_parse().FromCloudFormation.getArray(CfnTableSchemaV2FieldPropertyFromCloudFormation)(properties.SchemaV2FieldList):void 0),ret.addPropertyResult("schemaV2FieldType","SchemaV2FieldType",properties.SchemaV2FieldType!=null?cfn_parse().FromCloudFormation.getString(properties.SchemaV2FieldType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableIcebergPartitionFieldPropertyValidator(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("fieldId",cdk().validateNumber)(properties.fieldId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("sourceId",cdk().requiredValidator)(properties.sourceId)),errors.collect(cdk().propertyValidator("sourceId",cdk().validateNumber)(properties.sourceId)),errors.collect(cdk().propertyValidator("transform",cdk().requiredValidator)(properties.transform)),errors.collect(cdk().propertyValidator("transform",cdk().validateString)(properties.transform)),errors.wrap('supplied properties not correct for "IcebergPartitionFieldProperty"')}function convertCfnTableIcebergPartitionFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableIcebergPartitionFieldPropertyValidator(properties).assertSuccess(),{FieldId:cdk().numberToCloudFormation(properties.fieldId),Name:cdk().stringToCloudFormation(properties.name),SourceId:cdk().numberToCloudFormation(properties.sourceId),Transform:cdk().stringToCloudFormation(properties.transform)}):properties}function CfnTableIcebergPartitionFieldPropertyFromCloudFormation(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("fieldId","FieldId",properties.FieldId!=null?cfn_parse().FromCloudFormation.getNumber(properties.FieldId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("sourceId","SourceId",properties.SourceId!=null?cfn_parse().FromCloudFormation.getNumber(properties.SourceId):void 0),ret.addPropertyResult("transform","Transform",properties.Transform!=null?cfn_parse().FromCloudFormation.getString(properties.Transform):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableIcebergPartitionSpecPropertyValidator(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("fields",cdk().requiredValidator)(properties.fields)),errors.collect(cdk().propertyValidator("fields",cdk().listValidator(CfnTableIcebergPartitionFieldPropertyValidator))(properties.fields)),errors.collect(cdk().propertyValidator("specId",cdk().validateNumber)(properties.specId)),errors.wrap('supplied properties not correct for "IcebergPartitionSpecProperty"')}function convertCfnTableIcebergPartitionSpecPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableIcebergPartitionSpecPropertyValidator(properties).assertSuccess(),{Fields:cdk().listMapper(convertCfnTableIcebergPartitionFieldPropertyToCloudFormation)(properties.fields),SpecId:cdk().numberToCloudFormation(properties.specId)}):properties}function CfnTableIcebergPartitionSpecPropertyFromCloudFormation(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("fields","Fields",properties.Fields!=null?cfn_parse().FromCloudFormation.getArray(CfnTableIcebergPartitionFieldPropertyFromCloudFormation)(properties.Fields):void 0),ret.addPropertyResult("specId","SpecId",properties.SpecId!=null?cfn_parse().FromCloudFormation.getNumber(properties.SpecId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableIcebergMetadataPropertyValidator(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("icebergPartitionSpec",CfnTableIcebergPartitionSpecPropertyValidator)(properties.icebergPartitionSpec)),errors.collect(cdk().propertyValidator("icebergSchema",CfnTableIcebergSchemaPropertyValidator)(properties.icebergSchema)),errors.collect(cdk().propertyValidator("icebergSchemaV2",CfnTableIcebergSchemaV2PropertyValidator)(properties.icebergSchemaV2)),errors.collect(cdk().propertyValidator("icebergSortOrder",CfnTableIcebergSortOrderPropertyValidator)(properties.icebergSortOrder)),errors.collect(cdk().propertyValidator("tableProperties",cdk().hashValidator(cdk().validateString))(properties.tableProperties)),errors.wrap('supplied properties not correct for "IcebergMetadataProperty"')}function convertCfnTableIcebergMetadataPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableIcebergMetadataPropertyValidator(properties).assertSuccess(),{IcebergPartitionSpec:convertCfnTableIcebergPartitionSpecPropertyToCloudFormation(properties.icebergPartitionSpec),IcebergSchema:convertCfnTableIcebergSchemaPropertyToCloudFormation(properties.icebergSchema),IcebergSchemaV2:convertCfnTableIcebergSchemaV2PropertyToCloudFormation(properties.icebergSchemaV2),IcebergSortOrder:convertCfnTableIcebergSortOrderPropertyToCloudFormation(properties.icebergSortOrder),TableProperties:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tableProperties)}):properties}function CfnTableIcebergMetadataPropertyFromCloudFormation(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("icebergPartitionSpec","IcebergPartitionSpec",properties.IcebergPartitionSpec!=null?CfnTableIcebergPartitionSpecPropertyFromCloudFormation(properties.IcebergPartitionSpec):void 0),ret.addPropertyResult("icebergSchema","IcebergSchema",properties.IcebergSchema!=null?CfnTableIcebergSchemaPropertyFromCloudFormation(properties.IcebergSchema):void 0),ret.addPropertyResult("icebergSchemaV2","IcebergSchemaV2",properties.IcebergSchemaV2!=null?CfnTableIcebergSchemaV2PropertyFromCloudFormation(properties.IcebergSchemaV2):void 0),ret.addPropertyResult("icebergSortOrder","IcebergSortOrder",properties.IcebergSortOrder!=null?CfnTableIcebergSortOrderPropertyFromCloudFormation(properties.IcebergSortOrder):void 0),ret.addPropertyResult("tableProperties","TableProperties",properties.TableProperties!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.TableProperties):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableSnapshotManagementPropertyValidator(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("maxSnapshotAgeHours",cdk().validateNumber)(properties.maxSnapshotAgeHours)),errors.collect(cdk().propertyValidator("minSnapshotsToKeep",cdk().validateNumber)(properties.minSnapshotsToKeep)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "SnapshotManagementProperty"')}function convertCfnTableSnapshotManagementPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableSnapshotManagementPropertyValidator(properties).assertSuccess(),{MaxSnapshotAgeHours:cdk().numberToCloudFormation(properties.maxSnapshotAgeHours),MinSnapshotsToKeep:cdk().numberToCloudFormation(properties.minSnapshotsToKeep),Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnTableSnapshotManagementPropertyFromCloudFormation(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("maxSnapshotAgeHours","MaxSnapshotAgeHours",properties.MaxSnapshotAgeHours!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxSnapshotAgeHours):void 0),ret.addPropertyResult("minSnapshotsToKeep","MinSnapshotsToKeep",properties.MinSnapshotsToKeep!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinSnapshotsToKeep):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTablePropsValidator(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("compaction",CfnTableCompactionPropertyValidator)(properties.compaction)),errors.collect(cdk().propertyValidator("icebergMetadata",CfnTableIcebergMetadataPropertyValidator)(properties.icebergMetadata)),errors.collect(cdk().propertyValidator("namespace",cdk().requiredValidator)(properties.namespace)),errors.collect(cdk().propertyValidator("namespace",cdk().validateString)(properties.namespace)),errors.collect(cdk().propertyValidator("openTableFormat",cdk().requiredValidator)(properties.openTableFormat)),errors.collect(cdk().propertyValidator("openTableFormat",cdk().validateString)(properties.openTableFormat)),errors.collect(cdk().propertyValidator("snapshotManagement",CfnTableSnapshotManagementPropertyValidator)(properties.snapshotManagement)),errors.collect(cdk().propertyValidator("storageClassConfiguration",CfnTableStorageClassConfigurationPropertyValidator)(properties.storageClassConfiguration)),errors.collect(cdk().propertyValidator("tableBucketArn",cdk().requiredValidator)(properties.tableBucketArn)),errors.collect(cdk().propertyValidator("tableBucketArn",cdk().validateString)(properties.tableBucketArn)),errors.collect(cdk().propertyValidator("tableName",cdk().requiredValidator)(properties.tableName)),errors.collect(cdk().propertyValidator("tableName",cdk().validateString)(properties.tableName)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("withoutMetadata",cdk().validateString)(properties.withoutMetadata)),errors.wrap('supplied properties not correct for "CfnTableProps"')}function convertCfnTablePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTablePropsValidator(properties).assertSuccess(),{Compaction:convertCfnTableCompactionPropertyToCloudFormation(properties.compaction),IcebergMetadata:convertCfnTableIcebergMetadataPropertyToCloudFormation(properties.icebergMetadata),Namespace:cdk().stringToCloudFormation(properties.namespace),OpenTableFormat:cdk().stringToCloudFormation(properties.openTableFormat),SnapshotManagement:convertCfnTableSnapshotManagementPropertyToCloudFormation(properties.snapshotManagement),StorageClassConfiguration:convertCfnTableStorageClassConfigurationPropertyToCloudFormation(properties.storageClassConfiguration),TableBucketARN:cdk().stringToCloudFormation(properties.tableBucketArn),TableName:cdk().stringToCloudFormation(properties.tableName),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),WithoutMetadata:cdk().stringToCloudFormation(properties.withoutMetadata)}):properties}function CfnTablePropsFromCloudFormation(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("compaction","Compaction",properties.Compaction!=null?CfnTableCompactionPropertyFromCloudFormation(properties.Compaction):void 0),ret.addPropertyResult("icebergMetadata","IcebergMetadata",properties.IcebergMetadata!=null?CfnTableIcebergMetadataPropertyFromCloudFormation(properties.IcebergMetadata):void 0),ret.addPropertyResult("namespace","Namespace",properties.Namespace!=null?cfn_parse().FromCloudFormation.getString(properties.Namespace):void 0),ret.addPropertyResult("openTableFormat","OpenTableFormat",properties.OpenTableFormat!=null?cfn_parse().FromCloudFormation.getString(properties.OpenTableFormat):void 0),ret.addPropertyResult("snapshotManagement","SnapshotManagement",properties.SnapshotManagement!=null?CfnTableSnapshotManagementPropertyFromCloudFormation(properties.SnapshotManagement):void 0),ret.addPropertyResult("storageClassConfiguration","StorageClassConfiguration",properties.StorageClassConfiguration!=null?CfnTableStorageClassConfigurationPropertyFromCloudFormation(properties.StorageClassConfiguration):void 0),ret.addPropertyResult("tableBucketArn","TableBucketARN",properties.TableBucketARN!=null?cfn_parse().FromCloudFormation.getString(properties.TableBucketARN):void 0),ret.addPropertyResult("tableName","TableName",properties.TableName!=null?cfn_parse().FromCloudFormation.getString(properties.TableName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("withoutMetadata","WithoutMetadata",properties.WithoutMetadata!=null?cfn_parse().FromCloudFormation.getString(properties.WithoutMetadata):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTableBucket extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_s3tables.CfnTableBucket",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::S3Tables::TableBucket";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTableBucketPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTableBucket(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 isCfnTableBucket(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTableBucket.CFN_RESOURCE_TYPE_NAME}static arnForTableBucket(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_s3tables_ITableBucketRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForTableBucket),error}return resource.tableBucketRef.tableBucketArn}cdkTagManager;_encryptionConfiguration;_metricsConfiguration;_replicationConfiguration;_storageClassConfiguration;_tableBucketName;_tags;_unreferencedFileRemoval;constructor(scope,id,props){super(scope,id,{type:CfnTableBucket.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_s3tables_CfnTableBucketProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTableBucket),error}cdk().requireProperty(props,"tableBucketName",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::S3Tables::TableBucket",void 0,{tagPropertyName:"tags"}),this._encryptionConfiguration=props.encryptionConfiguration,this._metricsConfiguration=props.metricsConfiguration,this._replicationConfiguration=props.replicationConfiguration,this._storageClassConfiguration=props.storageClassConfiguration,this._tableBucketName=props.tableBucketName,this._tags=props.tags,this._unreferencedFileRemoval=props.unreferencedFileRemoval}get tableBucketRef(){return{tableBucketArn:this.ref}}get encryptionConfiguration(){return this._encryptionConfiguration}set encryptionConfiguration(value){cdk().traceProperty(this.node,"EncryptionConfiguration"),this._encryptionConfiguration=value}get metricsConfiguration(){return this._metricsConfiguration}set metricsConfiguration(value){cdk().traceProperty(this.node,"MetricsConfiguration"),this._metricsConfiguration=value}get replicationConfiguration(){return this._replicationConfiguration}set replicationConfiguration(value){cdk().traceProperty(this.node,"ReplicationConfiguration"),this._replicationConfiguration=value}get storageClassConfiguration(){return this._storageClassConfiguration}set storageClassConfiguration(value){cdk().traceProperty(this.node,"StorageClassConfiguration"),this._storageClassConfiguration=value}get tableBucketName(){return this._tableBucketName}set tableBucketName(value){cdk().traceProperty(this.node,"TableBucketName"),this._tableBucketName=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get unreferencedFileRemoval(){return this._unreferencedFileRemoval}set unreferencedFileRemoval(value){cdk().traceProperty(this.node,"UnreferencedFileRemoval"),this._unreferencedFileRemoval=value}get attrTableBucketArn(){return cdk().Token.asString(this.getAtt("TableBucketARN",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),encryptionConfiguration:this._encryptionConfiguration,metricsConfiguration:this._metricsConfiguration,replicationConfiguration:this._replicationConfiguration,storageClassConfiguration:this._storageClassConfiguration,tableBucketName:this._tableBucketName,unreferencedFileRemoval:this._unreferencedFileRemoval}}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",CfnTableBucket.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTableBucketPropsToCloudFormation(props)}}exports.CfnTableBucket=CfnTableBucket;function CfnTableBucketUnreferencedFileRemovalPropertyValidator(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("noncurrentDays",cdk().validateNumber)(properties.noncurrentDays)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("unreferencedDays",cdk().validateNumber)(properties.unreferencedDays)),errors.wrap('supplied properties not correct for "UnreferencedFileRemovalProperty"')}function convertCfnTableBucketUnreferencedFileRemovalPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableBucketUnreferencedFileRemovalPropertyValidator(properties).assertSuccess(),{NoncurrentDays:cdk().numberToCloudFormation(properties.noncurrentDays),Status:cdk().stringToCloudFormation(properties.status),UnreferencedDays:cdk().numberToCloudFormation(properties.unreferencedDays)}):properties}function CfnTableBucketUnreferencedFileRemovalPropertyFromCloudFormation(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("noncurrentDays","NoncurrentDays",properties.NoncurrentDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.NoncurrentDays):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("unreferencedDays","UnreferencedDays",properties.UnreferencedDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.UnreferencedDays):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableBucketEncryptionConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("kmsKeyArn",cdk().validateString)(properties.kmsKeyArn))