UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1 lines 89.5 kB
"use strict";var _a,_b;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnTable=exports.CfnGlobalTable=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cdk=require("../../core"),cfn_parse=require("../../core/lib/helpers-internal");function CfnGlobalTablePropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("attributeDefinitions",cdk.requiredValidator)(properties.attributeDefinitions)),errors.collect(cdk.propertyValidator("attributeDefinitions",cdk.listValidator(CfnGlobalTable_AttributeDefinitionPropertyValidator))(properties.attributeDefinitions)),errors.collect(cdk.propertyValidator("billingMode",cdk.validateString)(properties.billingMode)),errors.collect(cdk.propertyValidator("globalSecondaryIndexes",cdk.listValidator(CfnGlobalTable_GlobalSecondaryIndexPropertyValidator))(properties.globalSecondaryIndexes)),errors.collect(cdk.propertyValidator("keySchema",cdk.requiredValidator)(properties.keySchema)),errors.collect(cdk.propertyValidator("keySchema",cdk.listValidator(CfnGlobalTable_KeySchemaPropertyValidator))(properties.keySchema)),errors.collect(cdk.propertyValidator("localSecondaryIndexes",cdk.listValidator(CfnGlobalTable_LocalSecondaryIndexPropertyValidator))(properties.localSecondaryIndexes)),errors.collect(cdk.propertyValidator("replicas",cdk.requiredValidator)(properties.replicas)),errors.collect(cdk.propertyValidator("replicas",cdk.listValidator(CfnGlobalTable_ReplicaSpecificationPropertyValidator))(properties.replicas)),errors.collect(cdk.propertyValidator("sseSpecification",CfnGlobalTable_SSESpecificationPropertyValidator)(properties.sseSpecification)),errors.collect(cdk.propertyValidator("streamSpecification",CfnGlobalTable_StreamSpecificationPropertyValidator)(properties.streamSpecification)),errors.collect(cdk.propertyValidator("tableName",cdk.validateString)(properties.tableName)),errors.collect(cdk.propertyValidator("timeToLiveSpecification",CfnGlobalTable_TimeToLiveSpecificationPropertyValidator)(properties.timeToLiveSpecification)),errors.collect(cdk.propertyValidator("writeProvisionedThroughputSettings",CfnGlobalTable_WriteProvisionedThroughputSettingsPropertyValidator)(properties.writeProvisionedThroughputSettings)),errors.wrap('supplied properties not correct for "CfnGlobalTableProps"')}function cfnGlobalTablePropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalTablePropsValidator(properties).assertSuccess(),{AttributeDefinitions:cdk.listMapper(cfnGlobalTableAttributeDefinitionPropertyToCloudFormation)(properties.attributeDefinitions),KeySchema:cdk.listMapper(cfnGlobalTableKeySchemaPropertyToCloudFormation)(properties.keySchema),Replicas:cdk.listMapper(cfnGlobalTableReplicaSpecificationPropertyToCloudFormation)(properties.replicas),BillingMode:cdk.stringToCloudFormation(properties.billingMode),GlobalSecondaryIndexes:cdk.listMapper(cfnGlobalTableGlobalSecondaryIndexPropertyToCloudFormation)(properties.globalSecondaryIndexes),LocalSecondaryIndexes:cdk.listMapper(cfnGlobalTableLocalSecondaryIndexPropertyToCloudFormation)(properties.localSecondaryIndexes),SSESpecification:cfnGlobalTableSSESpecificationPropertyToCloudFormation(properties.sseSpecification),StreamSpecification:cfnGlobalTableStreamSpecificationPropertyToCloudFormation(properties.streamSpecification),TableName:cdk.stringToCloudFormation(properties.tableName),TimeToLiveSpecification:cfnGlobalTableTimeToLiveSpecificationPropertyToCloudFormation(properties.timeToLiveSpecification),WriteProvisionedThroughputSettings:cfnGlobalTableWriteProvisionedThroughputSettingsPropertyToCloudFormation(properties.writeProvisionedThroughputSettings)}):properties}function CfnGlobalTablePropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("attributeDefinitions","AttributeDefinitions",cfn_parse.FromCloudFormation.getArray(CfnGlobalTableAttributeDefinitionPropertyFromCloudFormation)(properties.AttributeDefinitions)),ret.addPropertyResult("keySchema","KeySchema",cfn_parse.FromCloudFormation.getArray(CfnGlobalTableKeySchemaPropertyFromCloudFormation)(properties.KeySchema)),ret.addPropertyResult("replicas","Replicas",cfn_parse.FromCloudFormation.getArray(CfnGlobalTableReplicaSpecificationPropertyFromCloudFormation)(properties.Replicas)),ret.addPropertyResult("billingMode","BillingMode",properties.BillingMode!=null?cfn_parse.FromCloudFormation.getString(properties.BillingMode):void 0),ret.addPropertyResult("globalSecondaryIndexes","GlobalSecondaryIndexes",properties.GlobalSecondaryIndexes!=null?cfn_parse.FromCloudFormation.getArray(CfnGlobalTableGlobalSecondaryIndexPropertyFromCloudFormation)(properties.GlobalSecondaryIndexes):void 0),ret.addPropertyResult("localSecondaryIndexes","LocalSecondaryIndexes",properties.LocalSecondaryIndexes!=null?cfn_parse.FromCloudFormation.getArray(CfnGlobalTableLocalSecondaryIndexPropertyFromCloudFormation)(properties.LocalSecondaryIndexes):void 0),ret.addPropertyResult("sseSpecification","SSESpecification",properties.SSESpecification!=null?CfnGlobalTableSSESpecificationPropertyFromCloudFormation(properties.SSESpecification):void 0),ret.addPropertyResult("streamSpecification","StreamSpecification",properties.StreamSpecification!=null?CfnGlobalTableStreamSpecificationPropertyFromCloudFormation(properties.StreamSpecification):void 0),ret.addPropertyResult("tableName","TableName",properties.TableName!=null?cfn_parse.FromCloudFormation.getString(properties.TableName):void 0),ret.addPropertyResult("timeToLiveSpecification","TimeToLiveSpecification",properties.TimeToLiveSpecification!=null?CfnGlobalTableTimeToLiveSpecificationPropertyFromCloudFormation(properties.TimeToLiveSpecification):void 0),ret.addPropertyResult("writeProvisionedThroughputSettings","WriteProvisionedThroughputSettings",properties.WriteProvisionedThroughputSettings!=null?CfnGlobalTableWriteProvisionedThroughputSettingsPropertyFromCloudFormation(properties.WriteProvisionedThroughputSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnGlobalTable extends cdk.CfnResource{constructor(scope,id,props){super(scope,id,{type:CfnGlobalTable.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings.aws_cdk_lib_aws_dynamodb_CfnGlobalTableProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnGlobalTable),error}cdk.requireProperty(props,"attributeDefinitions",this),cdk.requireProperty(props,"keySchema",this),cdk.requireProperty(props,"replicas",this),this.attrArn=cdk.Token.asString(this.getAtt("Arn",cdk.ResolutionTypeHint.STRING)),this.attrStreamArn=cdk.Token.asString(this.getAtt("StreamArn",cdk.ResolutionTypeHint.STRING)),this.attrTableId=cdk.Token.asString(this.getAtt("TableId",cdk.ResolutionTypeHint.STRING)),this.attributeDefinitions=props.attributeDefinitions,this.keySchema=props.keySchema,this.replicas=props.replicas,this.billingMode=props.billingMode,this.globalSecondaryIndexes=props.globalSecondaryIndexes,this.localSecondaryIndexes=props.localSecondaryIndexes,this.sseSpecification=props.sseSpecification,this.streamSpecification=props.streamSpecification,this.tableName=props.tableName,this.timeToLiveSpecification=props.timeToLiveSpecification,this.writeProvisionedThroughputSettings=props.writeProvisionedThroughputSettings,this.node.scope&&cdk.Resource.isResource(this.node.scope)&&this.node.addValidation({validate:()=>this.cfnOptions.deletionPolicy===void 0?["'AWS::DynamoDB::GlobalTable' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnGlobalTablePropsFromCloudFormation(resourceProperties),ret=new CfnGlobalTable(scope,id,propsResult.value);for(const[propKey,propVal]of Object.entries(propsResult.extraProperties))ret.addPropertyOverride(propKey,propVal);return options.parser.handleAttributes(ret,resourceAttributes,id),ret}inspect(inspector){try{jsiiDeprecationWarnings.aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnGlobalTable.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}get cfnProperties(){return{attributeDefinitions:this.attributeDefinitions,keySchema:this.keySchema,replicas:this.replicas,billingMode:this.billingMode,globalSecondaryIndexes:this.globalSecondaryIndexes,localSecondaryIndexes:this.localSecondaryIndexes,sseSpecification:this.sseSpecification,streamSpecification:this.streamSpecification,tableName:this.tableName,timeToLiveSpecification:this.timeToLiveSpecification,writeProvisionedThroughputSettings:this.writeProvisionedThroughputSettings}}renderProperties(props){return cfnGlobalTablePropsToCloudFormation(props)}}exports.CfnGlobalTable=CfnGlobalTable,_a=JSII_RTTI_SYMBOL_1,CfnGlobalTable[_a]={fqn:"aws-cdk-lib.aws_dynamodb.CfnGlobalTable",version:"2.70.0"},CfnGlobalTable.CFN_RESOURCE_TYPE_NAME="AWS::DynamoDB::GlobalTable";function CfnGlobalTable_AttributeDefinitionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("attributeName",cdk.requiredValidator)(properties.attributeName)),errors.collect(cdk.propertyValidator("attributeName",cdk.validateString)(properties.attributeName)),errors.collect(cdk.propertyValidator("attributeType",cdk.requiredValidator)(properties.attributeType)),errors.collect(cdk.propertyValidator("attributeType",cdk.validateString)(properties.attributeType)),errors.wrap('supplied properties not correct for "AttributeDefinitionProperty"')}function cfnGlobalTableAttributeDefinitionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalTable_AttributeDefinitionPropertyValidator(properties).assertSuccess(),{AttributeName:cdk.stringToCloudFormation(properties.attributeName),AttributeType:cdk.stringToCloudFormation(properties.attributeType)}):properties}function CfnGlobalTableAttributeDefinitionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("attributeName","AttributeName",cfn_parse.FromCloudFormation.getString(properties.AttributeName)),ret.addPropertyResult("attributeType","AttributeType",cfn_parse.FromCloudFormation.getString(properties.AttributeType)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalTable_CapacityAutoScalingSettingsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("maxCapacity",cdk.requiredValidator)(properties.maxCapacity)),errors.collect(cdk.propertyValidator("maxCapacity",cdk.validateNumber)(properties.maxCapacity)),errors.collect(cdk.propertyValidator("minCapacity",cdk.requiredValidator)(properties.minCapacity)),errors.collect(cdk.propertyValidator("minCapacity",cdk.validateNumber)(properties.minCapacity)),errors.collect(cdk.propertyValidator("seedCapacity",cdk.validateNumber)(properties.seedCapacity)),errors.collect(cdk.propertyValidator("targetTrackingScalingPolicyConfiguration",cdk.requiredValidator)(properties.targetTrackingScalingPolicyConfiguration)),errors.collect(cdk.propertyValidator("targetTrackingScalingPolicyConfiguration",CfnGlobalTable_TargetTrackingScalingPolicyConfigurationPropertyValidator)(properties.targetTrackingScalingPolicyConfiguration)),errors.wrap('supplied properties not correct for "CapacityAutoScalingSettingsProperty"')}function cfnGlobalTableCapacityAutoScalingSettingsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalTable_CapacityAutoScalingSettingsPropertyValidator(properties).assertSuccess(),{MaxCapacity:cdk.numberToCloudFormation(properties.maxCapacity),MinCapacity:cdk.numberToCloudFormation(properties.minCapacity),SeedCapacity:cdk.numberToCloudFormation(properties.seedCapacity),TargetTrackingScalingPolicyConfiguration:cfnGlobalTableTargetTrackingScalingPolicyConfigurationPropertyToCloudFormation(properties.targetTrackingScalingPolicyConfiguration)}):properties}function CfnGlobalTableCapacityAutoScalingSettingsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("maxCapacity","MaxCapacity",cfn_parse.FromCloudFormation.getNumber(properties.MaxCapacity)),ret.addPropertyResult("minCapacity","MinCapacity",cfn_parse.FromCloudFormation.getNumber(properties.MinCapacity)),ret.addPropertyResult("seedCapacity","SeedCapacity",properties.SeedCapacity!=null?cfn_parse.FromCloudFormation.getNumber(properties.SeedCapacity):void 0),ret.addPropertyResult("targetTrackingScalingPolicyConfiguration","TargetTrackingScalingPolicyConfiguration",CfnGlobalTableTargetTrackingScalingPolicyConfigurationPropertyFromCloudFormation(properties.TargetTrackingScalingPolicyConfiguration)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalTable_ContributorInsightsSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("enabled",cdk.requiredValidator)(properties.enabled)),errors.collect(cdk.propertyValidator("enabled",cdk.validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "ContributorInsightsSpecificationProperty"')}function cfnGlobalTableContributorInsightsSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalTable_ContributorInsightsSpecificationPropertyValidator(properties).assertSuccess(),{Enabled:cdk.booleanToCloudFormation(properties.enabled)}):properties}function CfnGlobalTableContributorInsightsSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("enabled","Enabled",cfn_parse.FromCloudFormation.getBoolean(properties.Enabled)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalTable_GlobalSecondaryIndexPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("indexName",cdk.requiredValidator)(properties.indexName)),errors.collect(cdk.propertyValidator("indexName",cdk.validateString)(properties.indexName)),errors.collect(cdk.propertyValidator("keySchema",cdk.requiredValidator)(properties.keySchema)),errors.collect(cdk.propertyValidator("keySchema",cdk.listValidator(CfnGlobalTable_KeySchemaPropertyValidator))(properties.keySchema)),errors.collect(cdk.propertyValidator("projection",cdk.requiredValidator)(properties.projection)),errors.collect(cdk.propertyValidator("projection",CfnGlobalTable_ProjectionPropertyValidator)(properties.projection)),errors.collect(cdk.propertyValidator("writeProvisionedThroughputSettings",CfnGlobalTable_WriteProvisionedThroughputSettingsPropertyValidator)(properties.writeProvisionedThroughputSettings)),errors.wrap('supplied properties not correct for "GlobalSecondaryIndexProperty"')}function cfnGlobalTableGlobalSecondaryIndexPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalTable_GlobalSecondaryIndexPropertyValidator(properties).assertSuccess(),{IndexName:cdk.stringToCloudFormation(properties.indexName),KeySchema:cdk.listMapper(cfnGlobalTableKeySchemaPropertyToCloudFormation)(properties.keySchema),Projection:cfnGlobalTableProjectionPropertyToCloudFormation(properties.projection),WriteProvisionedThroughputSettings:cfnGlobalTableWriteProvisionedThroughputSettingsPropertyToCloudFormation(properties.writeProvisionedThroughputSettings)}):properties}function CfnGlobalTableGlobalSecondaryIndexPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("indexName","IndexName",cfn_parse.FromCloudFormation.getString(properties.IndexName)),ret.addPropertyResult("keySchema","KeySchema",cfn_parse.FromCloudFormation.getArray(CfnGlobalTableKeySchemaPropertyFromCloudFormation)(properties.KeySchema)),ret.addPropertyResult("projection","Projection",CfnGlobalTableProjectionPropertyFromCloudFormation(properties.Projection)),ret.addPropertyResult("writeProvisionedThroughputSettings","WriteProvisionedThroughputSettings",properties.WriteProvisionedThroughputSettings!=null?CfnGlobalTableWriteProvisionedThroughputSettingsPropertyFromCloudFormation(properties.WriteProvisionedThroughputSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalTable_KeySchemaPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("attributeName",cdk.requiredValidator)(properties.attributeName)),errors.collect(cdk.propertyValidator("attributeName",cdk.validateString)(properties.attributeName)),errors.collect(cdk.propertyValidator("keyType",cdk.requiredValidator)(properties.keyType)),errors.collect(cdk.propertyValidator("keyType",cdk.validateString)(properties.keyType)),errors.wrap('supplied properties not correct for "KeySchemaProperty"')}function cfnGlobalTableKeySchemaPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalTable_KeySchemaPropertyValidator(properties).assertSuccess(),{AttributeName:cdk.stringToCloudFormation(properties.attributeName),KeyType:cdk.stringToCloudFormation(properties.keyType)}):properties}function CfnGlobalTableKeySchemaPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("attributeName","AttributeName",cfn_parse.FromCloudFormation.getString(properties.AttributeName)),ret.addPropertyResult("keyType","KeyType",cfn_parse.FromCloudFormation.getString(properties.KeyType)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalTable_KinesisStreamSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("streamArn",cdk.requiredValidator)(properties.streamArn)),errors.collect(cdk.propertyValidator("streamArn",cdk.validateString)(properties.streamArn)),errors.wrap('supplied properties not correct for "KinesisStreamSpecificationProperty"')}function cfnGlobalTableKinesisStreamSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalTable_KinesisStreamSpecificationPropertyValidator(properties).assertSuccess(),{StreamArn:cdk.stringToCloudFormation(properties.streamArn)}):properties}function CfnGlobalTableKinesisStreamSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("streamArn","StreamArn",cfn_parse.FromCloudFormation.getString(properties.StreamArn)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalTable_LocalSecondaryIndexPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("indexName",cdk.requiredValidator)(properties.indexName)),errors.collect(cdk.propertyValidator("indexName",cdk.validateString)(properties.indexName)),errors.collect(cdk.propertyValidator("keySchema",cdk.requiredValidator)(properties.keySchema)),errors.collect(cdk.propertyValidator("keySchema",cdk.listValidator(CfnGlobalTable_KeySchemaPropertyValidator))(properties.keySchema)),errors.collect(cdk.propertyValidator("projection",cdk.requiredValidator)(properties.projection)),errors.collect(cdk.propertyValidator("projection",CfnGlobalTable_ProjectionPropertyValidator)(properties.projection)),errors.wrap('supplied properties not correct for "LocalSecondaryIndexProperty"')}function cfnGlobalTableLocalSecondaryIndexPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalTable_LocalSecondaryIndexPropertyValidator(properties).assertSuccess(),{IndexName:cdk.stringToCloudFormation(properties.indexName),KeySchema:cdk.listMapper(cfnGlobalTableKeySchemaPropertyToCloudFormation)(properties.keySchema),Projection:cfnGlobalTableProjectionPropertyToCloudFormation(properties.projection)}):properties}function CfnGlobalTableLocalSecondaryIndexPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("indexName","IndexName",cfn_parse.FromCloudFormation.getString(properties.IndexName)),ret.addPropertyResult("keySchema","KeySchema",cfn_parse.FromCloudFormation.getArray(CfnGlobalTableKeySchemaPropertyFromCloudFormation)(properties.KeySchema)),ret.addPropertyResult("projection","Projection",CfnGlobalTableProjectionPropertyFromCloudFormation(properties.Projection)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalTable_PointInTimeRecoverySpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("pointInTimeRecoveryEnabled",cdk.validateBoolean)(properties.pointInTimeRecoveryEnabled)),errors.wrap('supplied properties not correct for "PointInTimeRecoverySpecificationProperty"')}function cfnGlobalTablePointInTimeRecoverySpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalTable_PointInTimeRecoverySpecificationPropertyValidator(properties).assertSuccess(),{PointInTimeRecoveryEnabled:cdk.booleanToCloudFormation(properties.pointInTimeRecoveryEnabled)}):properties}function CfnGlobalTablePointInTimeRecoverySpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("pointInTimeRecoveryEnabled","PointInTimeRecoveryEnabled",properties.PointInTimeRecoveryEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.PointInTimeRecoveryEnabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalTable_ProjectionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("nonKeyAttributes",cdk.listValidator(cdk.validateString))(properties.nonKeyAttributes)),errors.collect(cdk.propertyValidator("projectionType",cdk.validateString)(properties.projectionType)),errors.wrap('supplied properties not correct for "ProjectionProperty"')}function cfnGlobalTableProjectionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalTable_ProjectionPropertyValidator(properties).assertSuccess(),{NonKeyAttributes:cdk.listMapper(cdk.stringToCloudFormation)(properties.nonKeyAttributes),ProjectionType:cdk.stringToCloudFormation(properties.projectionType)}):properties}function CfnGlobalTableProjectionPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("nonKeyAttributes","NonKeyAttributes",properties.NonKeyAttributes!=null?cfn_parse.FromCloudFormation.getStringArray(properties.NonKeyAttributes):void 0),ret.addPropertyResult("projectionType","ProjectionType",properties.ProjectionType!=null?cfn_parse.FromCloudFormation.getString(properties.ProjectionType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalTable_ReadProvisionedThroughputSettingsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("readCapacityAutoScalingSettings",CfnGlobalTable_CapacityAutoScalingSettingsPropertyValidator)(properties.readCapacityAutoScalingSettings)),errors.collect(cdk.propertyValidator("readCapacityUnits",cdk.validateNumber)(properties.readCapacityUnits)),errors.wrap('supplied properties not correct for "ReadProvisionedThroughputSettingsProperty"')}function cfnGlobalTableReadProvisionedThroughputSettingsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalTable_ReadProvisionedThroughputSettingsPropertyValidator(properties).assertSuccess(),{ReadCapacityAutoScalingSettings:cfnGlobalTableCapacityAutoScalingSettingsPropertyToCloudFormation(properties.readCapacityAutoScalingSettings),ReadCapacityUnits:cdk.numberToCloudFormation(properties.readCapacityUnits)}):properties}function CfnGlobalTableReadProvisionedThroughputSettingsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("readCapacityAutoScalingSettings","ReadCapacityAutoScalingSettings",properties.ReadCapacityAutoScalingSettings!=null?CfnGlobalTableCapacityAutoScalingSettingsPropertyFromCloudFormation(properties.ReadCapacityAutoScalingSettings):void 0),ret.addPropertyResult("readCapacityUnits","ReadCapacityUnits",properties.ReadCapacityUnits!=null?cfn_parse.FromCloudFormation.getNumber(properties.ReadCapacityUnits):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalTable_ReplicaGlobalSecondaryIndexSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("contributorInsightsSpecification",CfnGlobalTable_ContributorInsightsSpecificationPropertyValidator)(properties.contributorInsightsSpecification)),errors.collect(cdk.propertyValidator("indexName",cdk.requiredValidator)(properties.indexName)),errors.collect(cdk.propertyValidator("indexName",cdk.validateString)(properties.indexName)),errors.collect(cdk.propertyValidator("readProvisionedThroughputSettings",CfnGlobalTable_ReadProvisionedThroughputSettingsPropertyValidator)(properties.readProvisionedThroughputSettings)),errors.wrap('supplied properties not correct for "ReplicaGlobalSecondaryIndexSpecificationProperty"')}function cfnGlobalTableReplicaGlobalSecondaryIndexSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalTable_ReplicaGlobalSecondaryIndexSpecificationPropertyValidator(properties).assertSuccess(),{ContributorInsightsSpecification:cfnGlobalTableContributorInsightsSpecificationPropertyToCloudFormation(properties.contributorInsightsSpecification),IndexName:cdk.stringToCloudFormation(properties.indexName),ReadProvisionedThroughputSettings:cfnGlobalTableReadProvisionedThroughputSettingsPropertyToCloudFormation(properties.readProvisionedThroughputSettings)}):properties}function CfnGlobalTableReplicaGlobalSecondaryIndexSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("contributorInsightsSpecification","ContributorInsightsSpecification",properties.ContributorInsightsSpecification!=null?CfnGlobalTableContributorInsightsSpecificationPropertyFromCloudFormation(properties.ContributorInsightsSpecification):void 0),ret.addPropertyResult("indexName","IndexName",cfn_parse.FromCloudFormation.getString(properties.IndexName)),ret.addPropertyResult("readProvisionedThroughputSettings","ReadProvisionedThroughputSettings",properties.ReadProvisionedThroughputSettings!=null?CfnGlobalTableReadProvisionedThroughputSettingsPropertyFromCloudFormation(properties.ReadProvisionedThroughputSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalTable_ReplicaSSESpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("kmsMasterKeyId",cdk.requiredValidator)(properties.kmsMasterKeyId)),errors.collect(cdk.propertyValidator("kmsMasterKeyId",cdk.validateString)(properties.kmsMasterKeyId)),errors.wrap('supplied properties not correct for "ReplicaSSESpecificationProperty"')}function cfnGlobalTableReplicaSSESpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalTable_ReplicaSSESpecificationPropertyValidator(properties).assertSuccess(),{KMSMasterKeyId:cdk.stringToCloudFormation(properties.kmsMasterKeyId)}):properties}function CfnGlobalTableReplicaSSESpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("kmsMasterKeyId","KMSMasterKeyId",cfn_parse.FromCloudFormation.getString(properties.KMSMasterKeyId)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalTable_ReplicaSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("contributorInsightsSpecification",CfnGlobalTable_ContributorInsightsSpecificationPropertyValidator)(properties.contributorInsightsSpecification)),errors.collect(cdk.propertyValidator("deletionProtectionEnabled",cdk.validateBoolean)(properties.deletionProtectionEnabled)),errors.collect(cdk.propertyValidator("globalSecondaryIndexes",cdk.listValidator(CfnGlobalTable_ReplicaGlobalSecondaryIndexSpecificationPropertyValidator))(properties.globalSecondaryIndexes)),errors.collect(cdk.propertyValidator("kinesisStreamSpecification",CfnGlobalTable_KinesisStreamSpecificationPropertyValidator)(properties.kinesisStreamSpecification)),errors.collect(cdk.propertyValidator("pointInTimeRecoverySpecification",CfnGlobalTable_PointInTimeRecoverySpecificationPropertyValidator)(properties.pointInTimeRecoverySpecification)),errors.collect(cdk.propertyValidator("readProvisionedThroughputSettings",CfnGlobalTable_ReadProvisionedThroughputSettingsPropertyValidator)(properties.readProvisionedThroughputSettings)),errors.collect(cdk.propertyValidator("region",cdk.requiredValidator)(properties.region)),errors.collect(cdk.propertyValidator("region",cdk.validateString)(properties.region)),errors.collect(cdk.propertyValidator("sseSpecification",CfnGlobalTable_ReplicaSSESpecificationPropertyValidator)(properties.sseSpecification)),errors.collect(cdk.propertyValidator("tableClass",cdk.validateString)(properties.tableClass)),errors.collect(cdk.propertyValidator("tags",cdk.listValidator(cdk.validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "ReplicaSpecificationProperty"')}function cfnGlobalTableReplicaSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalTable_ReplicaSpecificationPropertyValidator(properties).assertSuccess(),{ContributorInsightsSpecification:cfnGlobalTableContributorInsightsSpecificationPropertyToCloudFormation(properties.contributorInsightsSpecification),DeletionProtectionEnabled:cdk.booleanToCloudFormation(properties.deletionProtectionEnabled),GlobalSecondaryIndexes:cdk.listMapper(cfnGlobalTableReplicaGlobalSecondaryIndexSpecificationPropertyToCloudFormation)(properties.globalSecondaryIndexes),KinesisStreamSpecification:cfnGlobalTableKinesisStreamSpecificationPropertyToCloudFormation(properties.kinesisStreamSpecification),PointInTimeRecoverySpecification:cfnGlobalTablePointInTimeRecoverySpecificationPropertyToCloudFormation(properties.pointInTimeRecoverySpecification),ReadProvisionedThroughputSettings:cfnGlobalTableReadProvisionedThroughputSettingsPropertyToCloudFormation(properties.readProvisionedThroughputSettings),Region:cdk.stringToCloudFormation(properties.region),SSESpecification:cfnGlobalTableReplicaSSESpecificationPropertyToCloudFormation(properties.sseSpecification),TableClass:cdk.stringToCloudFormation(properties.tableClass),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags)}):properties}function CfnGlobalTableReplicaSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("contributorInsightsSpecification","ContributorInsightsSpecification",properties.ContributorInsightsSpecification!=null?CfnGlobalTableContributorInsightsSpecificationPropertyFromCloudFormation(properties.ContributorInsightsSpecification):void 0),ret.addPropertyResult("deletionProtectionEnabled","DeletionProtectionEnabled",properties.DeletionProtectionEnabled!=null?cfn_parse.FromCloudFormation.getBoolean(properties.DeletionProtectionEnabled):void 0),ret.addPropertyResult("globalSecondaryIndexes","GlobalSecondaryIndexes",properties.GlobalSecondaryIndexes!=null?cfn_parse.FromCloudFormation.getArray(CfnGlobalTableReplicaGlobalSecondaryIndexSpecificationPropertyFromCloudFormation)(properties.GlobalSecondaryIndexes):void 0),ret.addPropertyResult("kinesisStreamSpecification","KinesisStreamSpecification",properties.KinesisStreamSpecification!=null?CfnGlobalTableKinesisStreamSpecificationPropertyFromCloudFormation(properties.KinesisStreamSpecification):void 0),ret.addPropertyResult("pointInTimeRecoverySpecification","PointInTimeRecoverySpecification",properties.PointInTimeRecoverySpecification!=null?CfnGlobalTablePointInTimeRecoverySpecificationPropertyFromCloudFormation(properties.PointInTimeRecoverySpecification):void 0),ret.addPropertyResult("readProvisionedThroughputSettings","ReadProvisionedThroughputSettings",properties.ReadProvisionedThroughputSettings!=null?CfnGlobalTableReadProvisionedThroughputSettingsPropertyFromCloudFormation(properties.ReadProvisionedThroughputSettings):void 0),ret.addPropertyResult("region","Region",cfn_parse.FromCloudFormation.getString(properties.Region)),ret.addPropertyResult("sseSpecification","SSESpecification",properties.SSESpecification!=null?CfnGlobalTableReplicaSSESpecificationPropertyFromCloudFormation(properties.SSESpecification):void 0),ret.addPropertyResult("tableClass","TableClass",properties.TableClass!=null?cfn_parse.FromCloudFormation.getString(properties.TableClass):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse.FromCloudFormation.getArray(cfn_parse.FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalTable_SSESpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("sseEnabled",cdk.requiredValidator)(properties.sseEnabled)),errors.collect(cdk.propertyValidator("sseEnabled",cdk.validateBoolean)(properties.sseEnabled)),errors.collect(cdk.propertyValidator("sseType",cdk.validateString)(properties.sseType)),errors.wrap('supplied properties not correct for "SSESpecificationProperty"')}function cfnGlobalTableSSESpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalTable_SSESpecificationPropertyValidator(properties).assertSuccess(),{SSEEnabled:cdk.booleanToCloudFormation(properties.sseEnabled),SSEType:cdk.stringToCloudFormation(properties.sseType)}):properties}function CfnGlobalTableSSESpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("sseEnabled","SSEEnabled",cfn_parse.FromCloudFormation.getBoolean(properties.SSEEnabled)),ret.addPropertyResult("sseType","SSEType",properties.SSEType!=null?cfn_parse.FromCloudFormation.getString(properties.SSEType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalTable_StreamSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("streamViewType",cdk.requiredValidator)(properties.streamViewType)),errors.collect(cdk.propertyValidator("streamViewType",cdk.validateString)(properties.streamViewType)),errors.wrap('supplied properties not correct for "StreamSpecificationProperty"')}function cfnGlobalTableStreamSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalTable_StreamSpecificationPropertyValidator(properties).assertSuccess(),{StreamViewType:cdk.stringToCloudFormation(properties.streamViewType)}):properties}function CfnGlobalTableStreamSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("streamViewType","StreamViewType",cfn_parse.FromCloudFormation.getString(properties.StreamViewType)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalTable_TargetTrackingScalingPolicyConfigurationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("disableScaleIn",cdk.validateBoolean)(properties.disableScaleIn)),errors.collect(cdk.propertyValidator("scaleInCooldown",cdk.validateNumber)(properties.scaleInCooldown)),errors.collect(cdk.propertyValidator("scaleOutCooldown",cdk.validateNumber)(properties.scaleOutCooldown)),errors.collect(cdk.propertyValidator("targetValue",cdk.requiredValidator)(properties.targetValue)),errors.collect(cdk.propertyValidator("targetValue",cdk.validateNumber)(properties.targetValue)),errors.wrap('supplied properties not correct for "TargetTrackingScalingPolicyConfigurationProperty"')}function cfnGlobalTableTargetTrackingScalingPolicyConfigurationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalTable_TargetTrackingScalingPolicyConfigurationPropertyValidator(properties).assertSuccess(),{DisableScaleIn:cdk.booleanToCloudFormation(properties.disableScaleIn),ScaleInCooldown:cdk.numberToCloudFormation(properties.scaleInCooldown),ScaleOutCooldown:cdk.numberToCloudFormation(properties.scaleOutCooldown),TargetValue:cdk.numberToCloudFormation(properties.targetValue)}):properties}function CfnGlobalTableTargetTrackingScalingPolicyConfigurationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("disableScaleIn","DisableScaleIn",properties.DisableScaleIn!=null?cfn_parse.FromCloudFormation.getBoolean(properties.DisableScaleIn):void 0),ret.addPropertyResult("scaleInCooldown","ScaleInCooldown",properties.ScaleInCooldown!=null?cfn_parse.FromCloudFormation.getNumber(properties.ScaleInCooldown):void 0),ret.addPropertyResult("scaleOutCooldown","ScaleOutCooldown",properties.ScaleOutCooldown!=null?cfn_parse.FromCloudFormation.getNumber(properties.ScaleOutCooldown):void 0),ret.addPropertyResult("targetValue","TargetValue",cfn_parse.FromCloudFormation.getNumber(properties.TargetValue)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalTable_TimeToLiveSpecificationPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("attributeName",cdk.validateString)(properties.attributeName)),errors.collect(cdk.propertyValidator("enabled",cdk.requiredValidator)(properties.enabled)),errors.collect(cdk.propertyValidator("enabled",cdk.validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "TimeToLiveSpecificationProperty"')}function cfnGlobalTableTimeToLiveSpecificationPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalTable_TimeToLiveSpecificationPropertyValidator(properties).assertSuccess(),{AttributeName:cdk.stringToCloudFormation(properties.attributeName),Enabled:cdk.booleanToCloudFormation(properties.enabled)}):properties}function CfnGlobalTableTimeToLiveSpecificationPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("attributeName","AttributeName",properties.AttributeName!=null?cfn_parse.FromCloudFormation.getString(properties.AttributeName):void 0),ret.addPropertyResult("enabled","Enabled",cfn_parse.FromCloudFormation.getBoolean(properties.Enabled)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnGlobalTable_WriteProvisionedThroughputSettingsPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("writeCapacityAutoScalingSettings",CfnGlobalTable_CapacityAutoScalingSettingsPropertyValidator)(properties.writeCapacityAutoScalingSettings)),errors.wrap('supplied properties not correct for "WriteProvisionedThroughputSettingsProperty"')}function cfnGlobalTableWriteProvisionedThroughputSettingsPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnGlobalTable_WriteProvisionedThroughputSettingsPropertyValidator(properties).assertSuccess(),{WriteCapacityAutoScalingSettings:cfnGlobalTableCapacityAutoScalingSettingsPropertyToCloudFormation(properties.writeCapacityAutoScalingSettings)}):properties}function CfnGlobalTableWriteProvisionedThroughputSettingsPropertyFromCloudFormation(properties){if(cdk.isResolvableObject(properties))return new cfn_parse.FromCloudFormationResult(properties);if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("writeCapacityAutoScalingSettings","WriteCapacityAutoScalingSettings",properties.WriteCapacityAutoScalingSettings!=null?CfnGlobalTableCapacityAutoScalingSettingsPropertyFromCloudFormation(properties.WriteCapacityAutoScalingSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTablePropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("attributeDefinitions",cdk.listValidator(CfnTable_AttributeDefinitionPropertyValidator))(properties.attributeDefinitions)),errors.collect(cdk.propertyValidator("billingMode",cdk.validateString)(properties.billingMode)),errors.collect(cdk.propertyValidator("contributorInsightsSpecification",CfnTable_ContributorInsightsSpecificationPropertyValidator)(properties.contributorInsightsSpecification)),errors.collect(cdk.propertyValidator("deletionProtectionEnabled",cdk.validateBoolean)(properties.deletionProtectionEnabled)),errors.collect(cdk.propertyValidator("globalSecondaryIndexes",cdk.listValidator(CfnTable_GlobalSecondaryIndexPropertyValidator))(properties.globalSecondaryIndexes)),errors.collect(cdk.propertyValidator("importSourceSpecification",CfnTable_ImportSourceSpecificationPropertyValidator)(properties.importSourceSpecification)),errors.collect(cdk.propertyValidator("keySchema",cdk.requiredValidator)(properties.keySchema)),errors.collect(cdk.propertyValidator("keySchema",cdk.listValidator(CfnTable_KeySchemaPropertyValidator))(properties.keySchema)),errors.collect(cdk.propertyValidator("kinesisStreamSpecification",CfnTable_KinesisStreamSpecificationPropertyValidator)(properties.kinesisStreamSpecification)),errors.collect(cdk.propertyValidator("localSecondaryIndexes",cdk.listValidator(CfnTable_LocalSecondaryIndexPropertyValidator))(properties.localSecondaryIndexes)),errors.collect(cdk.propertyValidator("pointInTimeRecoverySpecification",CfnTable_PointInTimeRecoverySpecificationPropertyValidator)(properties.point