"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnInfluxDBInstance=exports.CfnInfluxDBCluster=exports.CfnTable=exports.CfnScheduledQuery=exports.CfnDatabase=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 CfnDatabase extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_timestream.CfnDatabase",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Timestream::Database";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDatabasePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDatabase(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 isCfnDatabase(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDatabase.CFN_RESOURCE_TYPE_NAME}static fromDatabaseArn(scope,id,arn){class Import extends cdk().Resource{databaseRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:timestream:${Region}:${Account}:database/${DatabaseName}").parse(arn2);this.databaseRef={databaseName:variables.DatabaseName,databaseArn:arn2}}}return new Import(scope,id,arn)}static fromDatabaseName(scope,id,databaseName){class Import extends cdk().Resource{databaseRef;constructor(scope2,id2,databaseName2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:timestream:${Region}:${Account}:database/${DatabaseName}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,DatabaseName:databaseName2});super(scope2,id2,{environmentFromArn:arn}),this.databaseRef={databaseName:databaseName2,databaseArn:arn}}}return new Import(scope,id,databaseName)}static arnForDatabase(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_timestream_IDatabaseRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDatabase),error}return resource.databaseRef.databaseArn}_databaseName;_kmsKeyId;tags;_tagsRaw;cfnPropertyNames={databaseName:"DatabaseName",kmsKeyId:"KmsKeyId",tags:"Tags"};constructor(scope,id,props={}){super(scope,id,{type:CfnDatabase.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_timestream_CfnDatabaseProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDatabase),error}this._databaseName=props.databaseName,this._kmsKeyId=cdk().getRefProperty(props.kmsKeyId?.keyRef,"keyId")??cdk().ensureStringOrUndefined(props.kmsKeyId,"kmsKeyId","kms.IKeyRef | string"),this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Timestream::Database",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get databaseRef(){return{databaseName:this.ref,databaseArn:this.attrArn}}get databaseName(){return this._databaseName}set databaseName(value){cdk().traceProperty(this.node,"DatabaseName"),this._databaseName=value}get kmsKeyId(){return this._kmsKeyId}set kmsKeyId(value){cdk().traceProperty(this.node,"KmsKeyId"),this._kmsKeyId=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{databaseName:this._databaseName,kmsKeyId:this._kmsKeyId,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDatabase.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDatabasePropsToCloudFormation(props)}}exports.CfnDatabase=CfnDatabase;function CfnDatabasePropsValidator(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("databaseName",cdk().validateString)(properties.databaseName)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDatabaseProps"')}function convertCfnDatabasePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDatabasePropsValidator(properties).assertSuccess(),{DatabaseName:cdk().stringToCloudFormation(properties.databaseName),KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDatabasePropsFromCloudFormation(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("databaseName","DatabaseName",properties.DatabaseName!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseName):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnScheduledQuery extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_timestream.CfnScheduledQuery",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Timestream::ScheduledQuery";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnScheduledQueryPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnScheduledQuery(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 isCfnScheduledQuery(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnScheduledQuery.CFN_RESOURCE_TYPE_NAME}static arnForScheduledQuery(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_timestream_IScheduledQueryRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForScheduledQuery),error}return resource.scheduledQueryRef.scheduledQueryArn}_clientToken;_errorReportConfiguration;_kmsKeyId;_notificationConfiguration;_queryString;_scheduleConfiguration;_scheduledQueryExecutionRoleArn;_scheduledQueryName;tags;_tagsRaw;_targetConfiguration;cfnPropertyNames={clientToken:"ClientToken",errorReportConfiguration:"ErrorReportConfiguration",kmsKeyId:"KmsKeyId",notificationConfiguration:"NotificationConfiguration",queryString:"QueryString",scheduleConfiguration:"ScheduleConfiguration",scheduledQueryExecutionRoleArn:"ScheduledQueryExecutionRoleArn",scheduledQueryName:"ScheduledQueryName",tags:"Tags",targetConfiguration:"TargetConfiguration"};constructor(scope,id,props){super(scope,id,{type:CfnScheduledQuery.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_timestream_CfnScheduledQueryProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnScheduledQuery),error}cdk().requireProperty(props,"errorReportConfiguration",this),cdk().requireProperty(props,"notificationConfiguration",this),cdk().requireProperty(props,"queryString",this),cdk().requireProperty(props,"scheduleConfiguration",this),cdk().requireProperty(props,"scheduledQueryExecutionRoleArn",this),this._clientToken=props.clientToken,this._errorReportConfiguration=props.errorReportConfiguration,this._kmsKeyId=cdk().getRefProperty(props.kmsKeyId?.keyRef,"keyId")??cdk().ensureStringOrUndefined(props.kmsKeyId,"kmsKeyId","kms.IKeyRef | string"),this._notificationConfiguration=props.notificationConfiguration,this._queryString=props.queryString,this._scheduleConfiguration=props.scheduleConfiguration,this._scheduledQueryExecutionRoleArn=cdk().getRefProperty(props.scheduledQueryExecutionRoleArn?.roleRef,"roleArn")??cdk().ensureStringOrUndefined(props.scheduledQueryExecutionRoleArn,"scheduledQueryExecutionRoleArn","iam.IRoleRef | string"),this._scheduledQueryName=props.scheduledQueryName,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Timestream::ScheduledQuery",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._targetConfiguration=props.targetConfiguration}get scheduledQueryRef(){return{scheduledQueryArn:this.ref}}get clientToken(){return this._clientToken}set clientToken(value){cdk().traceProperty(this.node,"ClientToken"),this._clientToken=value}get errorReportConfiguration(){return this._errorReportConfiguration}set errorReportConfiguration(value){cdk().traceProperty(this.node,"ErrorReportConfiguration"),this._errorReportConfiguration=value}get kmsKeyId(){return this._kmsKeyId}set kmsKeyId(value){cdk().traceProperty(this.node,"KmsKeyId"),this._kmsKeyId=value}get notificationConfiguration(){return this._notificationConfiguration}set notificationConfiguration(value){cdk().traceProperty(this.node,"NotificationConfiguration"),this._notificationConfiguration=value}get queryString(){return this._queryString}set queryString(value){cdk().traceProperty(this.node,"QueryString"),this._queryString=value}get scheduleConfiguration(){return this._scheduleConfiguration}set scheduleConfiguration(value){cdk().traceProperty(this.node,"ScheduleConfiguration"),this._scheduleConfiguration=value}get scheduledQueryExecutionRoleArn(){return this._scheduledQueryExecutionRoleArn}set scheduledQueryExecutionRoleArn(value){cdk().traceProperty(this.node,"ScheduledQueryExecutionRoleArn"),this._scheduledQueryExecutionRoleArn=value}get scheduledQueryName(){return this._scheduledQueryName}set scheduledQueryName(value){cdk().traceProperty(this.node,"ScheduledQueryName"),this._scheduledQueryName=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get targetConfiguration(){return this._targetConfiguration}set targetConfiguration(value){cdk().traceProperty(this.node,"TargetConfiguration"),this._targetConfiguration=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrSqErrorReportConfiguration(){return cdk().Token.asString(this.getAtt("SQErrorReportConfiguration",cdk().ResolutionTypeHint.STRING))}get attrSqKmsKeyId(){return cdk().Token.asString(this.getAtt("SQKmsKeyId",cdk().ResolutionTypeHint.STRING))}get attrSqName(){return cdk().Token.asString(this.getAtt("SQName",cdk().ResolutionTypeHint.STRING))}get attrSqNotificationConfiguration(){return cdk().Token.asString(this.getAtt("SQNotificationConfiguration",cdk().ResolutionTypeHint.STRING))}get attrSqQueryString(){return cdk().Token.asString(this.getAtt("SQQueryString",cdk().ResolutionTypeHint.STRING))}get attrSqScheduleConfiguration(){return cdk().Token.asString(this.getAtt("SQScheduleConfiguration",cdk().ResolutionTypeHint.STRING))}get attrSqScheduledQueryExecutionRoleArn(){return cdk().Token.asString(this.getAtt("SQScheduledQueryExecutionRoleArn",cdk().ResolutionTypeHint.STRING))}get attrSqTargetConfiguration(){return cdk().Token.asString(this.getAtt("SQTargetConfiguration",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{clientToken:this._clientToken,errorReportConfiguration:this._errorReportConfiguration,kmsKeyId:this._kmsKeyId,notificationConfiguration:this._notificationConfiguration,queryString:this._queryString,scheduleConfiguration:this._scheduleConfiguration,scheduledQueryExecutionRoleArn:this._scheduledQueryExecutionRoleArn,scheduledQueryName:this._scheduledQueryName,tags:this.tags.renderTags(),targetConfiguration:this._targetConfiguration}}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",CfnScheduledQuery.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnScheduledQueryPropsToCloudFormation(props)}}exports.CfnScheduledQuery=CfnScheduledQuery;function CfnScheduledQueryS3ConfigurationPropertyValidator(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("bucketName",cdk().requiredValidator)(properties.bucketName)),errors.collect(cdk().propertyValidator("bucketName",cdk().validateString)(properties.bucketName)),errors.collect(cdk().propertyValidator("encryptionOption",cdk().validateString)(properties.encryptionOption)),errors.collect(cdk().propertyValidator("objectKeyPrefix",cdk().validateString)(properties.objectKeyPrefix)),errors.wrap('supplied properties not correct for "S3ConfigurationProperty"')}function convertCfnScheduledQueryS3ConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnScheduledQueryS3ConfigurationPropertyValidator(properties).assertSuccess(),{BucketName:cdk().stringToCloudFormation(properties.bucketName),EncryptionOption:cdk().stringToCloudFormation(properties.encryptionOption),ObjectKeyPrefix:cdk().stringToCloudFormation(properties.objectKeyPrefix)}):properties}function CfnScheduledQueryS3ConfigurationPropertyFromCloudFormation(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("bucketName","BucketName",properties.BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.BucketName):void 0),ret.addPropertyResult("encryptionOption","EncryptionOption",properties.EncryptionOption!=null?cfn_parse().FromCloudFormation.getString(properties.EncryptionOption):void 0),ret.addPropertyResult("objectKeyPrefix","ObjectKeyPrefix",properties.ObjectKeyPrefix!=null?cfn_parse().FromCloudFormation.getString(properties.ObjectKeyPrefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnScheduledQueryErrorReportConfigurationPropertyValidator(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("s3Configuration",cdk().requiredValidator)(properties.s3Configuration)),errors.collect(cdk().propertyValidator("s3Configuration",CfnScheduledQueryS3ConfigurationPropertyValidator)(properties.s3Configuration)),errors.wrap('supplied properties not correct for "ErrorReportConfigurationProperty"')}function convertCfnScheduledQueryErrorReportConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnScheduledQueryErrorReportConfigurationPropertyValidator(properties).assertSuccess(),{S3Configuration:convertCfnScheduledQueryS3ConfigurationPropertyToCloudFormation(properties.s3Configuration)}):properties}function CfnScheduledQueryErrorReportConfigurationPropertyFromCloudFormation(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("s3Configuration","S3Configuration",properties.S3Configuration!=null?CfnScheduledQueryS3ConfigurationPropertyFromCloudFormation(properties.S3Configuration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnScheduledQueryScheduleConfigurationPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("scheduleExpression",cdk().requiredValidator)(properties.scheduleExpression)),errors.collect(cdk().propertyValidator("scheduleExpression",cdk().validateString)(properties.scheduleExpression)),errors.wrap('supplied properties not correct for "ScheduleConfigurationProperty"')}function convertCfnScheduledQueryScheduleConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnScheduledQueryScheduleConfigurationPropertyValidator(properties).assertSuccess(),{ScheduleExpression:cdk().stringToCloudFormation(properties.scheduleExpression)}):properties}function CfnScheduledQueryScheduleConfigurationPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("scheduleExpression","ScheduleExpression",properties.ScheduleExpression!=null?cfn_parse().FromCloudFormation.getString(properties.ScheduleExpression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnScheduledQueryDimensionMappingPropertyValidator(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("dimensionValueType",cdk().requiredValidator)(properties.dimensionValueType)),errors.collect(cdk().propertyValidator("dimensionValueType",cdk().validateString)(properties.dimensionValueType)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "DimensionMappingProperty"')}function convertCfnScheduledQueryDimensionMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnScheduledQueryDimensionMappingPropertyValidator(properties).assertSuccess(),{DimensionValueType:cdk().stringToCloudFormation(properties.dimensionValueType),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnScheduledQueryDimensionMappingPropertyFromCloudFormation(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("dimensionValueType","DimensionValueType",properties.DimensionValueType!=null?cfn_parse().FromCloudFormation.getString(properties.DimensionValueType):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnScheduledQueryMultiMeasureAttributeMappingPropertyValidator(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("measureValueType",cdk().requiredValidator)(properties.measureValueType)),errors.collect(cdk().propertyValidator("measureValueType",cdk().validateString)(properties.measureValueType)),errors.collect(cdk().propertyValidator("sourceColumn",cdk().requiredValidator)(properties.sourceColumn)),errors.collect(cdk().propertyValidator("sourceColumn",cdk().validateString)(properties.sourceColumn)),errors.collect(cdk().propertyValidator("targetMultiMeasureAttributeName",cdk().validateString)(properties.targetMultiMeasureAttributeName)),errors.wrap('supplied properties not correct for "MultiMeasureAttributeMappingProperty"')}function convertCfnScheduledQueryMultiMeasureAttributeMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnScheduledQueryMultiMeasureAttributeMappingPropertyValidator(properties).assertSuccess(),{MeasureValueType:cdk().stringToCloudFormation(properties.measureValueType),SourceColumn:cdk().stringToCloudFormation(properties.sourceColumn),TargetMultiMeasureAttributeName:cdk().stringToCloudFormation(properties.targetMultiMeasureAttributeName)}):properties}function CfnScheduledQueryMultiMeasureAttributeMappingPropertyFromCloudFormation(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("measureValueType","MeasureValueType",properties.MeasureValueType!=null?cfn_parse().FromCloudFormation.getString(properties.MeasureValueType):void 0),ret.addPropertyResult("sourceColumn","SourceColumn",properties.SourceColumn!=null?cfn_parse().FromCloudFormation.getString(properties.SourceColumn):void 0),ret.addPropertyResult("targetMultiMeasureAttributeName","TargetMultiMeasureAttributeName",properties.TargetMultiMeasureAttributeName!=null?cfn_parse().FromCloudFormation.getString(properties.TargetMultiMeasureAttributeName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnScheduledQueryMixedMeasureMappingPropertyValidator(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("measureName",cdk().validateString)(properties.measureName)),errors.collect(cdk().propertyValidator("measureValueType",cdk().requiredValidator)(properties.measureValueType)),errors.collect(cdk().propertyValidator("measureValueType",cdk().validateString)(properties.measureValueType)),errors.collect(cdk().propertyValidator("multiMeasureAttributeMappings",cdk().listValidator(CfnScheduledQueryMultiMeasureAttributeMappingPropertyValidator))(properties.multiMeasureAttributeMappings)),errors.collect(cdk().propertyValidator("sourceColumn",cdk().validateString)(properties.sourceColumn)),errors.collect(cdk().propertyValidator("targetMeasureName",cdk().validateString)(properties.targetMeasureName)),errors.wrap('supplied properties not correct for "MixedMeasureMappingProperty"')}function convertCfnScheduledQueryMixedMeasureMappingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnScheduledQueryMixedMeasureMappingPropertyValidator(properties).assertSuccess(),{MeasureName:cdk().stringToCloudFormation(properties.measureName),MeasureValueType:cdk().stringToCloudFormation(properties.measureValueType),MultiMeasureAttributeMappings:cdk().listMapper(convertCfnScheduledQueryMultiMeasureAttributeMappingPropertyToCloudFormation)(properties.multiMeasureAttributeMappings),SourceColumn:cdk().stringToCloudFormation(properties.sourceColumn),TargetMeasureName:cdk().stringToCloudFormation(properties.targetMeasureName)}):properties}function CfnScheduledQueryMixedMeasureMappingPropertyFromCloudFormation(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("measureName","MeasureName",properties.MeasureName!=null?cfn_parse().FromCloudFormation.getString(properties.MeasureName):void 0),ret.addPropertyResult("measureValueType","MeasureValueType",properties.MeasureValueType!=null?cfn_parse().FromCloudFormation.getString(properties.MeasureValueType):void 0),ret.addPropertyResult("multiMeasureAttributeMappings","MultiMeasureAttributeMappings",properties.MultiMeasureAttributeMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnScheduledQueryMultiMeasureAttributeMappingPropertyFromCloudFormation)(properties.MultiMeasureAttributeMappings):void 0),ret.addPropertyResult("sourceColumn","SourceColumn",properties.SourceColumn!=null?cfn_parse().FromCloudFormation.getString(properties.SourceColumn):void 0),ret.addPropertyResult("targetMeasureName","TargetMeasureName",properties.TargetMeasureName!=null?cfn_parse().FromCloudFormation.getString(properties.TargetMeasureName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnScheduledQueryMultiMeasureMappingsPropertyValidator(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("multiMeasureAttributeMappings",cdk().requiredValidator)(properties.multiMeasureAttributeMappings)),errors.collect(cdk().propertyValidator("multiMeasureAttributeMappings",cdk().listValidator(CfnScheduledQueryMultiMeasureAttributeMappingPropertyValidator))(properties.multiMeasureAttributeMappings)),errors.collect(cdk().propertyValidator("targetMultiMeasureName",cdk().validateString)(properties.targetMultiMeasureName)),errors.wrap('supplied properties not correct for "MultiMeasureMappingsProperty"')}function convertCfnScheduledQueryMultiMeasureMappingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnScheduledQueryMultiMeasureMappingsPropertyValidator(properties).assertSuccess(),{MultiMeasureAttributeMappings:cdk().listMapper(convertCfnScheduledQueryMultiMeasureAttributeMappingPropertyToCloudFormation)(properties.multiMeasureAttributeMappings),TargetMultiMeasureName:cdk().stringToCloudFormation(properties.targetMultiMeasureName)}):properties}function CfnScheduledQueryMultiMeasureMappingsPropertyFromCloudFormation(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("multiMeasureAttributeMappings","MultiMeasureAttributeMappings",properties.MultiMeasureAttributeMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnScheduledQueryMultiMeasureAttributeMappingPropertyFromCloudFormation)(properties.MultiMeasureAttributeMappings):void 0),ret.addPropertyResult("targetMultiMeasureName","TargetMultiMeasureName",properties.TargetMultiMeasureName!=null?cfn_parse().FromCloudFormation.getString(properties.TargetMultiMeasureName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnScheduledQueryTimestreamConfigurationPropertyValidator(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("databaseName",cdk().requiredValidator)(properties.databaseName)),errors.collect(cdk().propertyValidator("databaseName",cdk().validateString)(properties.databaseName)),errors.collect(cdk().propertyValidator("dimensionMappings",cdk().requiredValidator)(properties.dimensionMappings)),errors.collect(cdk().propertyValidator("dimensionMappings",cdk().listValidator(CfnScheduledQueryDimensionMappingPropertyValidator))(properties.dimensionMappings)),errors.collect(cdk().propertyValidator("measureNameColumn",cdk().validateString)(properties.measureNameColumn)),errors.collect(cdk().propertyValidator("mixedMeasureMappings",cdk().listValidator(CfnScheduledQueryMixedMeasureMappingPropertyValidator))(properties.mixedMeasureMappings)),errors.collect(cdk().propertyValidator("multiMeasureMappings",CfnScheduledQueryMultiMeasureMappingsPropertyValidator)(properties.multiMeasureMappings)),errors.collect(cdk().propertyValidator("tableName",cdk().requiredValidator)(properties.tableName)),errors.collect(cdk().propertyValidator("tableName",cdk().validateString)(properties.tableName)),errors.collect(cdk().propertyValidator("timeColumn",cdk().requiredValidator)(properties.timeColumn)),errors.collect(cdk().propertyValidator("timeColumn",cdk().validateString)(properties.timeColumn)),errors.wrap('supplied properties not correct for "TimestreamConfigurationProperty"')}function convertCfnScheduledQueryTimestreamConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnScheduledQueryTimestreamConfigurationPropertyValidator(properties).assertSuccess(),{DatabaseName:cdk().stringToCloudFormation(properties.databaseName),DimensionMappings:cdk().listMapper(convertCfnScheduledQueryDimensionMappingPropertyToCloudFormation)(properties.dimensionMappings),MeasureNameColumn:cdk().stringToCloudFormation(properties.measureNameColumn),MixedMeasureMappings:cdk().listMapper(convertCfnScheduledQueryMixedMeasureMappingPropertyToCloudFormation)(properties.mixedMeasureMappings),MultiMeasureMappings:convertCfnScheduledQueryMultiMeasureMappingsPropertyToCloudFormation(properties.multiMeasureMappings),TableName:cdk().stringToCloudFormation(properties.tableName),TimeColumn:cdk().stringToCloudFormation(properties.timeColumn)}):properties}function CfnScheduledQueryTimestreamConfigurationPropertyFromCloudFormation(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("databaseName","DatabaseName",properties.DatabaseName!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseName):void 0),ret.addPropertyResult("dimensionMappings","DimensionMappings",properties.DimensionMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnScheduledQueryDimensionMappingPropertyFromCloudFormation)(properties.DimensionMappings):void 0),ret.addPropertyResult("measureNameColumn","MeasureNameColumn",properties.MeasureNameColumn!=null?cfn_parse().FromCloudFormation.getString(properties.MeasureNameColumn):void 0),ret.addPropertyResult("mixedMeasureMappings","MixedMeasureMappings",properties.MixedMeasureMappings!=null?cfn_parse().FromCloudFormation.getArray(CfnScheduledQueryMixedMeasureMappingPropertyFromCloudFormation)(properties.MixedMeasureMappings):void 0),ret.addPropertyResult("multiMeasureMappings","MultiMeasureMappings",properties.MultiMeasureMappings!=null?CfnScheduledQueryMultiMeasureMappingsPropertyFromCloudFormation(properties.MultiMeasureMappings):void 0),ret.addPropertyResult("tableName","TableName",properties.TableName!=null?cfn_parse().FromCloudFormation.getString(properties.TableName):void 0),ret.addPropertyResult("timeColumn","TimeColumn",properties.TimeColumn!=null?cfn_parse().FromCloudFormation.getString(properties.TimeColumn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnScheduledQueryTargetConfigurationPropertyValidator(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("timestreamConfiguration",cdk().requiredValidator)(properties.timestreamConfiguration)),errors.collect(cdk().propertyValidator("timestreamConfiguration",CfnScheduledQueryTimestreamConfigurationPropertyValidator)(properties.timestreamConfiguration)),errors.wrap('supplied properties not correct for "TargetConfigurationProperty"')}function convertCfnScheduledQueryTargetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnScheduledQueryTargetConfigurationPropertyValidator(properties).assertSuccess(),{TimestreamConfiguration:convertCfnScheduledQueryTimestreamConfigurationPropertyToCloudFormation(properties.timestreamConfiguration)}):properties}function CfnScheduledQueryTargetConfigurationPropertyFromCloudFormation(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("timestreamConfiguration","TimestreamConfiguration",properties.TimestreamConfiguration!=null?CfnScheduledQueryTimestreamConfigurationPropertyFromCloudFormation(properties.TimestreamConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnScheduledQuerySnsConfigurationPropertyValidator(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("topicArn",cdk().requiredValidator)(properties.topicArn)),errors.collect(cdk().propertyValidator("topicArn",cdk().validateString)(properties.topicArn)),errors.wrap('supplied properties not correct for "SnsConfigurationProperty"')}function convertCfnScheduledQuerySnsConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnScheduledQuerySnsConfigurationPropertyValidator(properties).assertSuccess(),{TopicArn:cdk().stringToCloudFormation(properties.topicArn)}):properties}function CfnScheduledQuerySnsConfigurationPropertyFromCloudFormation(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("topicArn","TopicArn",properties.TopicArn!=null?cfn_parse().FromCloudFormation.getString(properties.TopicArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnScheduledQueryNotificationConfigurationPropertyValidator(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("snsConfiguration",cdk().requiredValidator)(properties.snsConfiguration)),errors.collect(cdk().propertyValidator("snsConfiguration",CfnScheduledQuerySnsConfigurationPropertyValidator)(properties.snsConfiguration)),errors.wrap('supplied properties not correct for "NotificationConfigurationProperty"')}function convertCfnScheduledQueryNotificationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnScheduledQueryNotificationConfigurationPropertyValidator(properties).assertSuccess(),{SnsConfiguration:convertCfnScheduledQuerySnsConfigurationPropertyToCloudFormation(properties.snsConfiguration)}):properties}function CfnScheduledQueryNotificationConfigurationPropertyFromCloudFormation(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("snsConfiguration","SnsConfiguration",properties.SnsConfiguration!=null?CfnScheduledQuerySnsConfigurationPropertyFromCloudFormation(properties.SnsConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnScheduledQueryPropsValidator(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("clientToken",cdk().validateString)(properties.clientToken)),errors.collect(cdk().propertyValidator("errorReportConfiguration",cdk().requiredValidator)(properties.errorReportConfiguration)),errors.collect(cdk().propertyValidator("errorReportConfiguration",CfnScheduledQueryErrorReportConfigurationPropertyValidator)(properties.errorReportConfiguration)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("notificationConfiguration",cdk().requiredValidator)(properties.notificationConfiguration)),errors.collect(cdk().propertyValidator("notificationConfiguration",CfnScheduledQueryNotificationConfigurationPropertyValidator)(properties.notificationConfiguration)),errors.collect(cdk().propertyValidator("queryString",cdk().requiredValidator)(properties.queryString)),errors.collect(cdk().propertyValidator("queryString",cdk().validateString)(properties.queryString)),errors.collect(cdk().propertyValidator("scheduleConfiguration",cdk().requiredValidator)(properties.scheduleConfiguration)),errors.collect(cdk().propertyValidator("scheduleConfiguration",CfnScheduledQueryScheduleConfigurationPropertyValidator)(properties.scheduleConfiguration)),errors.collect(cdk().propertyValidator("scheduledQueryExecutionRoleArn",cdk().requiredValidator)(properties.scheduledQueryExecutionRoleArn)),errors.collect(cdk().propertyValidator("scheduledQueryExecutionRoleArn",cdk().validateString)(properties.scheduledQueryExecutionRoleArn)),errors.collect(cdk().propertyValidator("scheduledQueryName",cdk().validateString)(properties.scheduledQueryName)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("targetConfiguration",CfnScheduledQueryTargetConfigurationPropertyValidator)(properties.targetConfiguration)),errors.wrap('supplied properties not correct for "CfnScheduledQueryProps"')}function convertCfnScheduledQueryPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnScheduledQueryPropsValidator(properties).assertSuccess(),{ClientToken:cdk().stringToCloudFormation(properties.clientToken),ErrorReportConfiguration:convertCfnScheduledQueryErrorReportConfigurationPropertyToCloudFormation(properties.errorReportConfiguration),KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),NotificationConfiguration:convertCfnScheduledQueryNotificationConfigurationPropertyToCloudFormation(properties.notificationConfiguration),QueryString:cdk().stringToCloudFormation(properties.queryString),ScheduleConfiguration:convertCfnScheduledQueryScheduleConfigurationPropertyToCloudFormation(properties.scheduleConfiguration),ScheduledQueryExecutionRoleArn:cdk().stringToCloudFormation(properties.scheduledQueryExecutionRoleArn),ScheduledQueryName:cdk().stringToCloudFormation(properties.scheduledQueryName),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TargetConfiguration:convertCfnScheduledQueryTargetConfigurationPropertyToCloudFormation(properties.targetConfiguration)}):properties}function CfnScheduledQueryPropsFromCloudFormation(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("clientToken","ClientToken",properties.ClientToken!=null?cfn_parse().FromCloudFormation.getString(properties.ClientToken):void 0),ret.addPropertyResult("errorReportConfiguration","ErrorReportConfiguration",properties.ErrorReportConfiguration!=null?CfnScheduledQueryErrorReportConfigurationPropertyFromCloudFormation(properties.ErrorReportConfiguration):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("notificationConfiguration","NotificationConfiguration",properties.NotificationConfiguration!=null?CfnScheduledQueryNotificationConfigurationPropertyFromCloudFormation(properties.NotificationConfiguration):void 0),ret.addPropertyResult("queryString","QueryString",properties.QueryString!=null?cfn_parse().FromCloudFormation.getString(properties.QueryString):void 0),ret.addPropertyResult("scheduleConfiguration","ScheduleConfiguration",properties.ScheduleConfiguration!=null?CfnScheduledQueryScheduleConfigurationPropertyFromCloudFormation(properties.ScheduleConfiguration):void 0),ret.addPropertyResult("scheduledQueryExecutionRoleArn","ScheduledQueryExecutionRoleArn",properties.ScheduledQueryExecutionRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.ScheduledQueryExecutionRoleArn):void 0),ret.addPropertyResult("scheduledQueryName","ScheduledQueryName",properties.ScheduledQueryName!=null?cfn_parse().FromCloudFormation.getString(properties.ScheduledQueryName):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("targetConfiguration","TargetConfiguration",properties.TargetConfiguration!=null?CfnScheduledQueryTargetConfigurationPropertyFromCloudFormation(properties.TargetConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTable extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_timestream.CfnTable",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Timestream::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_timestream_ITableRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForTable),error}return resource.tableRef.tableArn}_databaseName;_magneticStoreWriteProperties;_retentionProperties;_schema;_tableName;tags;_tagsRaw;cfnPropertyNames={databaseName:"DatabaseName",magneticStoreWriteProperties:"MagneticStoreWriteProperties",retentionProperties:"RetentionProperties",schema:"Schema",tableName:"TableName",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnTable.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_timestream_CfnTableProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTable),error}cdk().requireProperty(props,"databaseName",this),this._databaseName=cdk().getRefProperty(props.databaseName?.databaseRef,"databaseName")??cdk().ensureStringOrUndefined(props.databaseName,"databaseName","timestream.IDatabaseRef | string"),this._magneticStoreWriteProperties=props.magneticStoreWriteProperties,this._retentionProperties=props.retentionProperties,this._schema=props.schema,this._tableName=props.tableName,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Timestream::Table",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get tableRef(){return{databaseName:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),tableName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),tableArn:this.attrArn}}get databaseName(){return this._databaseName}set databaseName(value){cdk().traceProperty(this.node,"DatabaseName"),this._databaseName=value}get magneticStoreWriteProperties(){return this._magneticStoreWriteProperties}set magneticStoreWriteProperties(value){cdk().traceProperty(this.node,"MagneticStoreWriteProperties"),this._magneticStoreWriteProperties=value}get retentionProperties(){return this._retentionProperties}set retentionProperties(value){cdk().traceProperty(this.node,"RetentionProperties"),this._retentionProperties=value}get schema(){return this._schema}set schema(value){cdk().traceProperty(this.node,"Schema"),this._schema=value}get tableName(){return this._tableName}set tableName(value){cdk().traceProperty(this.node,"TableName"),this._tableName=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrName(){return cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{databaseName:this._databaseName,magneticStoreWriteProperties:this._magneticStoreWriteProperties,retentionProperties:this._retentionProperties,schema:this._schema,tableName:this._tableName,tags:this.tags.renderTags()}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",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 CfnTableRetentionPropertiesPropertyValidator(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("magneticStoreRetentionPeriodInDays",cdk().validateString)(properties.magneticStoreRetentionPeriodInDays)),errors.collect(cdk().propertyValidator("memoryStoreRetentionPeriodInHours",cdk().validateString)(properties.memoryStoreRetentionPeriodInHours)),errors.wrap('supplied properties not correct for "RetentionPropertiesProperty"')}function convertCfnTableRetentionPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableRetentionPropertiesPropertyValidator(properties).assertSuccess(),{MagneticStoreRetentionPeriodInDays:cdk().stringToCloudFormation(properties.magneticStoreRetentionPeriodInDays),MemoryStoreRetentionPeriodInHours:cdk().stringToCloudFormation(properties.memoryStoreRetentionPeriodInHours)}):properties}function CfnTableRetentionPropertiesPropertyFromCloudFormation(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("magneticStoreRetentionPeriodInDays","MagneticStoreRetentionPeriodInDays",properties.MagneticStoreRetentionPeriodInDays!=null?cfn_parse().FromCloudFormation.getString(properties.MagneticStoreRetentionPeriodInDays):void 0),ret.addPropertyResult("memoryStoreRetentionPeriodInHours","MemoryStoreRetentionPeriodInHours",properties.MemoryStoreRetentionPeriodInHours!=null?cfn_parse().FromCloudFormation.getString(properties.MemoryStoreRetentionPeriodInHours):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTablePartitionKeyPropertyValidator(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("enforcementInRecord",cdk().validateString)(properties.enforcementInRecord)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),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 "PartitionKeyProperty"')}function convertCfnTablePartitionKeyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTablePartitionKeyPropertyValidator(properties).assertSuccess(),{EnforcementInRecord:cdk().stringToCloudFormation(properties.enforcementInRecord),Name:cdk().stringToCloudFormation(properties.name),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnTablePartitionKeyPropertyFromCloudFormation(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("enforcementInRecord","EnforcementInRecord",properties.EnforcementInRecord!=null?cfn_parse().FromCloudFormation.getString(properties.EnforcementInRecord):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableSchemaPropertyValidator(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("compositePartitionKey",cdk().listValidator(CfnTablePartitionKeyPropertyValidator))(properties.compositePartitionKey)),errors.wrap('supplied properties not correct for "SchemaProperty"')}function convertCfnTableSchemaPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableSchemaPropertyValidator(properties).assertSuccess(),{CompositePartitionKey:cdk().listMapper(convertCfnTablePartitionKeyPropertyToCloudFormation)(properties.compositePartitionKey)}):properties}function CfnTableSchemaPropertyFromCloudFormation(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("compositePartitionKey","CompositePartitionKey",properties.CompositePartitionKey!=null?cfn_parse().FromCloudFormation.getArray(CfnTablePartitionKeyPropertyFromCloudFormation)(properties.CompositePartitionKey):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableS3ConfigurationPropertyValidator(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("bucketName",cdk().requiredValidator)(properties.bucketName)),errors.collect(cdk().propertyValidator("bucketName",cdk().validateString)(properties.bucketName)),errors.collect(cdk().propertyValidator("encryptionOption",cdk().requiredValidator)(properties.encryptionOption)),errors.collect(cdk().propertyValidator("encryptionOption",cdk().validateString)(properties.encryptionOption)),errors.collect(cdk().propertyValidator("kmsKeyId",cdk().validateString)(properties.kmsKeyId)),errors.collect(cdk().propertyValidator("objectKeyPrefix",cdk().validateString)(properties.objectKeyPrefix)),errors.wrap('supplied properties not correct for "S3ConfigurationProperty"')}function convertCfnTableS3ConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableS3ConfigurationPropertyValidator(properties).assertSuccess(),{BucketName:cdk().stringToCloudFormation(properties.bucketName),EncryptionOption:cdk().stringToCloudFormation(properties.encryptionOption),KmsKeyId:cdk().stringToCloudFormation(properties.kmsKeyId),ObjectKeyPrefix:cdk().stringToCloudFormation(properties.objectKeyPrefix)}):properties}function CfnTableS3ConfigurationPropertyFromCloudFormation(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("bucketName","BucketName",properties.BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.BucketName):void 0),ret.addPropertyResult("encryptionOption","EncryptionOption",properties.EncryptionOption!=null?cfn_parse().FromCloudFormation.getString(properties.EncryptionOption):void 0),ret.addPropertyResult("kmsKeyId","KmsKeyId",properties.KmsKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsKeyId):void 0),ret.addPropertyResult("objectKeyPrefix","ObjectKeyPrefix",properties.ObjectKeyPrefix!=null?cfn_parse().FromCloudFormation.getString(properties.ObjectKeyPrefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableMagneticStoreRejectedDataLocationPropertyValidator(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("s3Configuration",CfnTableS3ConfigurationPropertyValidator)(properties.s3Configuration)),errors.wrap('supplied properties not correct for "MagneticStoreRejectedDataLocationProperty"')}function convertCfnTableMagneticStoreRejectedDataLocationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableMagneticStoreRejectedDataLocationPropertyValidator(properties).assertSuccess(),{S3Configuration:convertCfnTableS3ConfigurationPropertyToCloudFormation(properties.s3Configuration)}):properties}function CfnTableMagneticStoreRejectedDataLocationPropertyFromCloudFormation(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("s3Configuration","S3Configuration",properties.S3Configuration!=null?CfnTableS3ConfigurationPropertyFromCloudFormation(properties.S3Configuration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTableMagneticStoreWritePropertiesPropertyValidator(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("enableMagneticStoreWrites",cdk().requiredValidator)(properties.enableMagneticStoreWrites)),errors.collect(cdk().propertyValidator("enableMagneticStoreWrites",cdk().validateBoolean)(properties.enableMagneticStoreWrites)),errors.collect(cdk().propertyValidator("magneticStoreRejectedDataLocation",CfnTableMagneticStoreRejectedDataLocationPropertyValidator)(properties.magneticStoreRejectedDataLocation)),errors.wrap('supplied properties not correct for "MagneticStoreWritePropertiesProperty"')}function convertCfnTableMagneticStoreWritePropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTableMagneticStoreWritePropertiesPropertyValidator(properties).assertSuccess(),{EnableMagneticStoreWrites:cdk().booleanToCloudFormation(properties.enableMagneticStoreWrites),MagneticStoreRejectedDataLocation:convertCfnTableMagneticStoreRejectedDataLocationPropertyToCloudFormation(properties.magneticStoreRejectedDataLocation)}):properties}function CfnTableMagneticStoreWritePropertiesPropertyFromCloudFormation(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("enableMagneticStoreWrites","EnableMagneticStoreWrites",properties.EnableMagneticStoreWrites!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableMagneticStoreWrites):void 0),ret.addPropertyResult("magneticStoreRejectedDataLocation","MagneticStoreRejectedDataLocation",properties.MagneticStoreRejectedDataLocation!=null?CfnTableMagneticStoreRejectedDataLocationPropertyFromCloudFormation(properties.MagneticStoreRejectedDataLocation):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("databaseName",cdk().requiredValidator)(properties.databaseName)),errors.collect(cdk().propertyValidator("databaseName",cdk().validateString)(properties.databaseName)),errors.collect(cdk().propertyValidator("magneticStoreWriteProperties",cdk().validateObject)(properties.magneticStoreWriteProperties)),errors.collect(cdk().propertyValidator("retentionProperties",cdk().validateObject)(properties.retentionProperties)),errors.collect(cdk().propertyValidator("schema",CfnTableSchemaPropertyValidator)(properties.schema)),errors.collect(cdk().propertyValidator("tableName",cdk().validateString)(properties.tableName)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnTableProps"')}function convertCfnTablePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTablePropsValidator(properties).assertSuccess(),{DatabaseName:cdk().stringToCloudFormation(properties.databaseName),MagneticStoreWriteProperties:cdk().objectToCloudFormation(properties.magneticStoreWriteProperties),RetentionProperties:cdk().objectToCloudFormation(properties.retentionProperties),Schema:convertCfnTableSchemaPropertyToCloudFormation(properties.schema),TableName:cdk().stringToCloudFormation(properties.tableName),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):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("databaseName","DatabaseName",properties.DatabaseName!=null?cfn_parse().FromCloudFormation.getString(properties.DatabaseName):void 0),ret.addPropertyResult("magneticStoreWriteProperties","MagneticStoreWriteProperties",properties.MagneticStoreWriteProperties!=null?cfn_parse().FromCloudFormation.getAny(properties.MagneticStoreWriteProperties):void 0),ret.addPropertyResult("retentionProperties","RetentionProperties",properties.RetentionProperties!=null?cfn_parse().FromCloudFormation.getAny(properties.RetentionProperties):void 0),ret.addPropertyResult("schema","Schema",properties.Schema!=null?CfnTableSchemaPropertyFromCloudFormation(properties.Schema):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.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnInfluxDBCluster extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_timestream.CfnInfluxDBCluster",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Timestream::InfluxDBCluster";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnInfluxDBClusterPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnInfluxDBCluster(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 isCfnInfluxDBCluster(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnInfluxDBCluster.CFN_RESOURCE_TYPE_NAME}static arnForInfluxDBCluster(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_timestream_IInfluxDBClusterRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForInfluxDBCluster),error}return resource.influxDbClusterRef.influxDbClusterArn}_allocatedStorage;_bucket;cdkTagManager;_dbInstanceType;_dbParameterGroupIdentifier;_dbStorageType;_deploymentType;_failoverMode;_logDeliveryConfiguration;_name;_networkType;_organization;_password;_port;_publiclyAccessible;_tags;_username;_vpcSecurityGroupIds;_vpcSubnetIds;cfnPropertyNames={allocatedStorage:"AllocatedStorage",bucket:"Bucket",tags:"Tags",dbInstanceType:"DbInstanceType",dbParameterGroupIdentifier:"DbParameterGroupIdentifier",dbStorageType:"DbStorageType",deploymentType:"DeploymentType",failoverMode:"FailoverMode",logDeliveryConfiguration:"LogDeliveryConfiguration",name:"Name",networkType:"NetworkType",organization:"Organization",password:"Password",port:"Port",publiclyAccessible:"PubliclyAccessible",username:"Username",vpcSecurityGroupIds:"VpcSecurityGroupIds",vpcSubnetIds:"VpcSubnetIds"};constructor(scope,id,props={}){super(scope,id,{type:CfnInfluxDBCluster.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_timestream_CfnInfluxDBClusterProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnInfluxDBCluster),error}this._allocatedStorage=props.allocatedStorage,this._bucket=props.bucket,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Timestream::InfluxDBCluster",void 0,{tagPropertyName:"tags"}),this._dbInstanceType=props.dbInstanceType,this._dbParameterGroupIdentifier=props.dbParameterGroupIdentifier,this._dbStorageType=props.dbStorageType,this._deploymentType=props.deploymentType,this._failoverMode=props.failoverMode,this._logDeliveryConfiguration=props.logDeliveryConfiguration,this._name=props.name,this._networkType=props.networkType,this._organization=props.organization,this._password=props.password,this._port=props.port,this._publiclyAccessible=props.publiclyAccessible,this._tags=props.tags,this._username=props.username,this._vpcSecurityGroupIds=props.vpcSecurityGroupIds,this._vpcSubnetIds=props.vpcSubnetIds}get influxDbClusterRef(){return{influxDbClusterId:this.ref,influxDbClusterArn:this.attrArn}}get allocatedStorage(){return this._allocatedStorage}set allocatedStorage(value){cdk().traceProperty(this.node,"AllocatedStorage"),this._allocatedStorage=value}get bucket(){return this._bucket}set bucket(value){cdk().traceProperty(this.node,"Bucket"),this._bucket=value}get dbInstanceType(){return this._dbInstanceType}set dbInstanceType(value){cdk().traceProperty(this.node,"DbInstanceType"),this._dbInstanceType=value}get dbParameterGroupIdentifier(){return this._dbParameterGroupIdentifier}set dbParameterGroupIdentifier(value){cdk().traceProperty(this.node,"DbParameterGroupIdentifier"),this._dbParameterGroupIdentifier=value}get dbStorageType(){return this._dbStorageType}set dbStorageType(value){cdk().traceProperty(this.node,"DbStorageType"),this._dbStorageType=value}get deploymentType(){return this._deploymentType}set deploymentType(value){cdk().traceProperty(this.node,"DeploymentType"),this._deploymentType=value}get failoverMode(){return this._failoverMode}set failoverMode(value){cdk().traceProperty(this.node,"FailoverMode"),this._failoverMode=value}get logDeliveryConfiguration(){return this._logDeliveryConfiguration}set logDeliveryConfiguration(value){cdk().traceProperty(this.node,"LogDeliveryConfiguration"),this._logDeliveryConfiguration=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get networkType(){return this._networkType}set networkType(value){cdk().traceProperty(this.node,"NetworkType"),this._networkType=value}get organization(){return this._organization}set organization(value){cdk().traceProperty(this.node,"Organization"),this._organization=value}get password(){return this._password}set password(value){cdk().traceProperty(this.node,"Password"),this._password=value}get port(){return this._port}set port(value){cdk().traceProperty(this.node,"Port"),this._port=value}get publiclyAccessible(){return this._publiclyAccessible}set publiclyAccessible(value){cdk().traceProperty(this.node,"PubliclyAccessible"),this._publiclyAccessible=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get username(){return this._username}set username(value){cdk().traceProperty(this.node,"Username"),this._username=value}get vpcSecurityGroupIds(){return this._vpcSecurityGroupIds}set vpcSecurityGroupIds(value){cdk().traceProperty(this.node,"VpcSecurityGroupIds"),this._vpcSecurityGroupIds=value}get vpcSubnetIds(){return this._vpcSubnetIds}set vpcSubnetIds(value){cdk().traceProperty(this.node,"VpcSubnetIds"),this._vpcSubnetIds=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrEndpoint(){return cdk().Token.asString(this.getAtt("Endpoint",cdk().ResolutionTypeHint.STRING))}get attrEngineType(){return cdk().Token.asString(this.getAtt("EngineType",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrInfluxAuthParametersSecretArn(){return cdk().Token.asString(this.getAtt("InfluxAuthParametersSecretArn",cdk().ResolutionTypeHint.STRING))}get attrReaderEndpoint(){return cdk().Token.asString(this.getAtt("ReaderEndpoint",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{allocatedStorage:this._allocatedStorage,bucket:this._bucket,tags:this.cdkTagManager.renderTags(this._tags),dbInstanceType:this._dbInstanceType,dbParameterGroupIdentifier:this._dbParameterGroupIdentifier,dbStorageType:this._dbStorageType,deploymentType:this._deploymentType,failoverMode:this._failoverMode,logDeliveryConfiguration:this._logDeliveryConfiguration,name:this._name,networkType:this._networkType,organization:this._organization,password:this._password,port:this._port,publiclyAccessible:this._publiclyAccessible,username:this._username,vpcSecurityGroupIds:this._vpcSecurityGroupIds,vpcSubnetIds:this._vpcSubnetIds}}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",CfnInfluxDBCluster.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnInfluxDBClusterPropsToCloudFormation(props)}}exports.CfnInfluxDBCluster=CfnInfluxDBCluster;function CfnInfluxDBClusterS3ConfigurationPropertyValidator(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("bucketName",cdk().requiredValidator)(properties.bucketName)),errors.collect(cdk().propertyValidator("bucketName",cdk().validateString)(properties.bucketName)),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 "S3ConfigurationProperty"')}function convertCfnInfluxDBClusterS3ConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInfluxDBClusterS3ConfigurationPropertyValidator(properties).assertSuccess(),{BucketName:cdk().stringToCloudFormation(properties.bucketName),Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnInfluxDBClusterS3ConfigurationPropertyFromCloudFormation(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("bucketName","BucketName",properties.BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.BucketName):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInfluxDBClusterLogDeliveryConfigurationPropertyValidator(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("s3Configuration",cdk().requiredValidator)(properties.s3Configuration)),errors.collect(cdk().propertyValidator("s3Configuration",CfnInfluxDBClusterS3ConfigurationPropertyValidator)(properties.s3Configuration)),errors.wrap('supplied properties not correct for "LogDeliveryConfigurationProperty"')}function convertCfnInfluxDBClusterLogDeliveryConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInfluxDBClusterLogDeliveryConfigurationPropertyValidator(properties).assertSuccess(),{S3Configuration:convertCfnInfluxDBClusterS3ConfigurationPropertyToCloudFormation(properties.s3Configuration)}):properties}function CfnInfluxDBClusterLogDeliveryConfigurationPropertyFromCloudFormation(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("s3Configuration","S3Configuration",properties.S3Configuration!=null?CfnInfluxDBClusterS3ConfigurationPropertyFromCloudFormation(properties.S3Configuration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInfluxDBClusterPropsValidator(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("allocatedStorage",cdk().validateNumber)(properties.allocatedStorage)),errors.collect(cdk().propertyValidator("bucket",cdk().validateString)(properties.bucket)),errors.collect(cdk().propertyValidator("dbInstanceType",cdk().validateString)(properties.dbInstanceType)),errors.collect(cdk().propertyValidator("dbParameterGroupIdentifier",cdk().validateString)(properties.dbParameterGroupIdentifier)),errors.collect(cdk().propertyValidator("dbStorageType",cdk().validateString)(properties.dbStorageType)),errors.collect(cdk().propertyValidator("deploymentType",cdk().validateString)(properties.deploymentType)),errors.collect(cdk().propertyValidator("failoverMode",cdk().validateString)(properties.failoverMode)),errors.collect(cdk().propertyValidator("logDeliveryConfiguration",CfnInfluxDBClusterLogDeliveryConfigurationPropertyValidator)(properties.logDeliveryConfiguration)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("networkType",cdk().validateString)(properties.networkType)),errors.collect(cdk().propertyValidator("organization",cdk().validateString)(properties.organization)),errors.collect(cdk().propertyValidator("password",cdk().validateString)(properties.password)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.collect(cdk().propertyValidator("publiclyAccessible",cdk().validateBoolean)(properties.publiclyAccessible)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("username",cdk().validateString)(properties.username)),errors.collect(cdk().propertyValidator("vpcSecurityGroupIds",cdk().listValidator(cdk().validateString))(properties.vpcSecurityGroupIds)),errors.collect(cdk().propertyValidator("vpcSubnetIds",cdk().listValidator(cdk().validateString))(properties.vpcSubnetIds)),errors.wrap('supplied properties not correct for "CfnInfluxDBClusterProps"')}function convertCfnInfluxDBClusterPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInfluxDBClusterPropsValidator(properties).assertSuccess(),{AllocatedStorage:cdk().numberToCloudFormation(properties.allocatedStorage),Bucket:cdk().stringToCloudFormation(properties.bucket),DbInstanceType:cdk().stringToCloudFormation(properties.dbInstanceType),DbParameterGroupIdentifier:cdk().stringToCloudFormation(properties.dbParameterGroupIdentifier),DbStorageType:cdk().stringToCloudFormation(properties.dbStorageType),DeploymentType:cdk().stringToCloudFormation(properties.deploymentType),FailoverMode:cdk().stringToCloudFormation(properties.failoverMode),LogDeliveryConfiguration:convertCfnInfluxDBClusterLogDeliveryConfigurationPropertyToCloudFormation(properties.logDeliveryConfiguration),Name:cdk().stringToCloudFormation(properties.name),NetworkType:cdk().stringToCloudFormation(properties.networkType),Organization:cdk().stringToCloudFormation(properties.organization),Password:cdk().stringToCloudFormation(properties.password),Port:cdk().numberToCloudFormation(properties.port),PubliclyAccessible:cdk().booleanToCloudFormation(properties.publiclyAccessible),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Username:cdk().stringToCloudFormation(properties.username),VpcSecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.vpcSecurityGroupIds),VpcSubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.vpcSubnetIds)}):properties}function CfnInfluxDBClusterPropsFromCloudFormation(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("allocatedStorage","AllocatedStorage",properties.AllocatedStorage!=null?cfn_parse().FromCloudFormation.getNumber(properties.AllocatedStorage):void 0),ret.addPropertyResult("bucket","Bucket",properties.Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.Bucket):void 0),ret.addPropertyResult("dbInstanceType","DbInstanceType",properties.DbInstanceType!=null?cfn_parse().FromCloudFormation.getString(properties.DbInstanceType):void 0),ret.addPropertyResult("dbParameterGroupIdentifier","DbParameterGroupIdentifier",properties.DbParameterGroupIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DbParameterGroupIdentifier):void 0),ret.addPropertyResult("dbStorageType","DbStorageType",properties.DbStorageType!=null?cfn_parse().FromCloudFormation.getString(properties.DbStorageType):void 0),ret.addPropertyResult("deploymentType","DeploymentType",properties.DeploymentType!=null?cfn_parse().FromCloudFormation.getString(properties.DeploymentType):void 0),ret.addPropertyResult("failoverMode","FailoverMode",properties.FailoverMode!=null?cfn_parse().FromCloudFormation.getString(properties.FailoverMode):void 0),ret.addPropertyResult("logDeliveryConfiguration","LogDeliveryConfiguration",properties.LogDeliveryConfiguration!=null?CfnInfluxDBClusterLogDeliveryConfigurationPropertyFromCloudFormation(properties.LogDeliveryConfiguration):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("networkType","NetworkType",properties.NetworkType!=null?cfn_parse().FromCloudFormation.getString(properties.NetworkType):void 0),ret.addPropertyResult("organization","Organization",properties.Organization!=null?cfn_parse().FromCloudFormation.getString(properties.Organization):void 0),ret.addPropertyResult("password","Password",properties.Password!=null?cfn_parse().FromCloudFormation.getString(properties.Password):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addPropertyResult("publiclyAccessible","PubliclyAccessible",properties.PubliclyAccessible!=null?cfn_parse().FromCloudFormation.getBoolean(properties.PubliclyAccessible):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("username","Username",properties.Username!=null?cfn_parse().FromCloudFormation.getString(properties.Username):void 0),ret.addPropertyResult("vpcSecurityGroupIds","VpcSecurityGroupIds",properties.VpcSecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.VpcSecurityGroupIds):void 0),ret.addPropertyResult("vpcSubnetIds","VpcSubnetIds",properties.VpcSubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.VpcSubnetIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnInfluxDBInstance extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_timestream.CfnInfluxDBInstance",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Timestream::InfluxDBInstance";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnInfluxDBInstancePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnInfluxDBInstance(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 isCfnInfluxDBInstance(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnInfluxDBInstance.CFN_RESOURCE_TYPE_NAME}static arnForInfluxDBInstance(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_timestream_IInfluxDBInstanceRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForInfluxDBInstance),error}return resource.influxDbInstanceRef.influxDbInstanceArn}_allocatedStorage;_bucket;cdkTagManager;_dbInstanceType;_dbParameterGroupIdentifier;_dbStorageType;_deploymentType;_logDeliveryConfiguration;_name;_networkType;_organization;_password;_port;_publiclyAccessible;_tags;_username;_vpcSecurityGroupIds;_vpcSubnetIds;cfnPropertyNames={allocatedStorage:"AllocatedStorage",bucket:"Bucket",tags:"Tags",dbInstanceType:"DbInstanceType",dbParameterGroupIdentifier:"DbParameterGroupIdentifier",dbStorageType:"DbStorageType",deploymentType:"DeploymentType",logDeliveryConfiguration:"LogDeliveryConfiguration",name:"Name",networkType:"NetworkType",organization:"Organization",password:"Password",port:"Port",publiclyAccessible:"PubliclyAccessible",username:"Username",vpcSecurityGroupIds:"VpcSecurityGroupIds",vpcSubnetIds:"VpcSubnetIds"};constructor(scope,id,props={}){super(scope,id,{type:CfnInfluxDBInstance.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_timestream_CfnInfluxDBInstanceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnInfluxDBInstance),error}this._allocatedStorage=props.allocatedStorage,this._bucket=props.bucket,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Timestream::InfluxDBInstance",void 0,{tagPropertyName:"tags"}),this._dbInstanceType=props.dbInstanceType,this._dbParameterGroupIdentifier=props.dbParameterGroupIdentifier,this._dbStorageType=props.dbStorageType,this._deploymentType=props.deploymentType,this._logDeliveryConfiguration=props.logDeliveryConfiguration,this._name=props.name,this._networkType=props.networkType,this._organization=props.organization,this._password=props.password,this._port=props.port,this._publiclyAccessible=props.publiclyAccessible,this._tags=props.tags,this._username=props.username,this._vpcSecurityGroupIds=props.vpcSecurityGroupIds,this._vpcSubnetIds=props.vpcSubnetIds}get influxDbInstanceRef(){return{influxDbInstanceId:this.ref,influxDbInstanceArn:this.attrArn}}get allocatedStorage(){return this._allocatedStorage}set allocatedStorage(value){cdk().traceProperty(this.node,"AllocatedStorage"),this._allocatedStorage=value}get bucket(){return this._bucket}set bucket(value){cdk().traceProperty(this.node,"Bucket"),this._bucket=value}get dbInstanceType(){return this._dbInstanceType}set dbInstanceType(value){cdk().traceProperty(this.node,"DbInstanceType"),this._dbInstanceType=value}get dbParameterGroupIdentifier(){return this._dbParameterGroupIdentifier}set dbParameterGroupIdentifier(value){cdk().traceProperty(this.node,"DbParameterGroupIdentifier"),this._dbParameterGroupIdentifier=value}get dbStorageType(){return this._dbStorageType}set dbStorageType(value){cdk().traceProperty(this.node,"DbStorageType"),this._dbStorageType=value}get deploymentType(){return this._deploymentType}set deploymentType(value){cdk().traceProperty(this.node,"DeploymentType"),this._deploymentType=value}get logDeliveryConfiguration(){return this._logDeliveryConfiguration}set logDeliveryConfiguration(value){cdk().traceProperty(this.node,"LogDeliveryConfiguration"),this._logDeliveryConfiguration=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get networkType(){return this._networkType}set networkType(value){cdk().traceProperty(this.node,"NetworkType"),this._networkType=value}get organization(){return this._organization}set organization(value){cdk().traceProperty(this.node,"Organization"),this._organization=value}get password(){return this._password}set password(value){cdk().traceProperty(this.node,"Password"),this._password=value}get port(){return this._port}set port(value){cdk().traceProperty(this.node,"Port"),this._port=value}get publiclyAccessible(){return this._publiclyAccessible}set publiclyAccessible(value){cdk().traceProperty(this.node,"PubliclyAccessible"),this._publiclyAccessible=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get username(){return this._username}set username(value){cdk().traceProperty(this.node,"Username"),this._username=value}get vpcSecurityGroupIds(){return this._vpcSecurityGroupIds}set vpcSecurityGroupIds(value){cdk().traceProperty(this.node,"VpcSecurityGroupIds"),this._vpcSecurityGroupIds=value}get vpcSubnetIds(){return this._vpcSubnetIds}set vpcSubnetIds(value){cdk().traceProperty(this.node,"VpcSubnetIds"),this._vpcSubnetIds=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrAvailabilityZone(){return cdk().Token.asString(this.getAtt("AvailabilityZone",cdk().ResolutionTypeHint.STRING))}get attrEndpoint(){return cdk().Token.asString(this.getAtt("Endpoint",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrInfluxAuthParametersSecretArn(){return cdk().Token.asString(this.getAtt("InfluxAuthParametersSecretArn",cdk().ResolutionTypeHint.STRING))}get attrSecondaryAvailabilityZone(){return cdk().Token.asString(this.getAtt("SecondaryAvailabilityZone",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{allocatedStorage:this._allocatedStorage,bucket:this._bucket,tags:this.cdkTagManager.renderTags(this._tags),dbInstanceType:this._dbInstanceType,dbParameterGroupIdentifier:this._dbParameterGroupIdentifier,dbStorageType:this._dbStorageType,deploymentType:this._deploymentType,logDeliveryConfiguration:this._logDeliveryConfiguration,name:this._name,networkType:this._networkType,organization:this._organization,password:this._password,port:this._port,publiclyAccessible:this._publiclyAccessible,username:this._username,vpcSecurityGroupIds:this._vpcSecurityGroupIds,vpcSubnetIds:this._vpcSubnetIds}}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",CfnInfluxDBInstance.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnInfluxDBInstancePropsToCloudFormation(props)}}exports.CfnInfluxDBInstance=CfnInfluxDBInstance;function CfnInfluxDBInstanceS3ConfigurationPropertyValidator(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("bucketName",cdk().requiredValidator)(properties.bucketName)),errors.collect(cdk().propertyValidator("bucketName",cdk().validateString)(properties.bucketName)),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 "S3ConfigurationProperty"')}function convertCfnInfluxDBInstanceS3ConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInfluxDBInstanceS3ConfigurationPropertyValidator(properties).assertSuccess(),{BucketName:cdk().stringToCloudFormation(properties.bucketName),Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnInfluxDBInstanceS3ConfigurationPropertyFromCloudFormation(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("bucketName","BucketName",properties.BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.BucketName):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInfluxDBInstanceLogDeliveryConfigurationPropertyValidator(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("s3Configuration",cdk().requiredValidator)(properties.s3Configuration)),errors.collect(cdk().propertyValidator("s3Configuration",CfnInfluxDBInstanceS3ConfigurationPropertyValidator)(properties.s3Configuration)),errors.wrap('supplied properties not correct for "LogDeliveryConfigurationProperty"')}function convertCfnInfluxDBInstanceLogDeliveryConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInfluxDBInstanceLogDeliveryConfigurationPropertyValidator(properties).assertSuccess(),{S3Configuration:convertCfnInfluxDBInstanceS3ConfigurationPropertyToCloudFormation(properties.s3Configuration)}):properties}function CfnInfluxDBInstanceLogDeliveryConfigurationPropertyFromCloudFormation(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("s3Configuration","S3Configuration",properties.S3Configuration!=null?CfnInfluxDBInstanceS3ConfigurationPropertyFromCloudFormation(properties.S3Configuration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInfluxDBInstancePropsValidator(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("allocatedStorage",cdk().validateNumber)(properties.allocatedStorage)),errors.collect(cdk().propertyValidator("bucket",cdk().validateString)(properties.bucket)),errors.collect(cdk().propertyValidator("dbInstanceType",cdk().validateString)(properties.dbInstanceType)),errors.collect(cdk().propertyValidator("dbParameterGroupIdentifier",cdk().validateString)(properties.dbParameterGroupIdentifier)),errors.collect(cdk().propertyValidator("dbStorageType",cdk().validateString)(properties.dbStorageType)),errors.collect(cdk().propertyValidator("deploymentType",cdk().validateString)(properties.deploymentType)),errors.collect(cdk().propertyValidator("logDeliveryConfiguration",CfnInfluxDBInstanceLogDeliveryConfigurationPropertyValidator)(properties.logDeliveryConfiguration)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("networkType",cdk().validateString)(properties.networkType)),errors.collect(cdk().propertyValidator("organization",cdk().validateString)(properties.organization)),errors.collect(cdk().propertyValidator("password",cdk().validateString)(properties.password)),errors.collect(cdk().propertyValidator("port",cdk().validateNumber)(properties.port)),errors.collect(cdk().propertyValidator("publiclyAccessible",cdk().validateBoolean)(properties.publiclyAccessible)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("username",cdk().validateString)(properties.username)),errors.collect(cdk().propertyValidator("vpcSecurityGroupIds",cdk().listValidator(cdk().validateString))(properties.vpcSecurityGroupIds)),errors.collect(cdk().propertyValidator("vpcSubnetIds",cdk().listValidator(cdk().validateString))(properties.vpcSubnetIds)),errors.wrap('supplied properties not correct for "CfnInfluxDBInstanceProps"')}function convertCfnInfluxDBInstancePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInfluxDBInstancePropsValidator(properties).assertSuccess(),{AllocatedStorage:cdk().numberToCloudFormation(properties.allocatedStorage),Bucket:cdk().stringToCloudFormation(properties.bucket),DbInstanceType:cdk().stringToCloudFormation(properties.dbInstanceType),DbParameterGroupIdentifier:cdk().stringToCloudFormation(properties.dbParameterGroupIdentifier),DbStorageType:cdk().stringToCloudFormation(properties.dbStorageType),DeploymentType:cdk().stringToCloudFormation(properties.deploymentType),LogDeliveryConfiguration:convertCfnInfluxDBInstanceLogDeliveryConfigurationPropertyToCloudFormation(properties.logDeliveryConfiguration),Name:cdk().stringToCloudFormation(properties.name),NetworkType:cdk().stringToCloudFormation(properties.networkType),Organization:cdk().stringToCloudFormation(properties.organization),Password:cdk().stringToCloudFormation(properties.password),Port:cdk().numberToCloudFormation(properties.port),PubliclyAccessible:cdk().booleanToCloudFormation(properties.publiclyAccessible),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Username:cdk().stringToCloudFormation(properties.username),VpcSecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.vpcSecurityGroupIds),VpcSubnetIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.vpcSubnetIds)}):properties}function CfnInfluxDBInstancePropsFromCloudFormation(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("allocatedStorage","AllocatedStorage",properties.AllocatedStorage!=null?cfn_parse().FromCloudFormation.getNumber(properties.AllocatedStorage):void 0),ret.addPropertyResult("bucket","Bucket",properties.Bucket!=null?cfn_parse().FromCloudFormation.getString(properties.Bucket):void 0),ret.addPropertyResult("dbInstanceType","DbInstanceType",properties.DbInstanceType!=null?cfn_parse().FromCloudFormation.getString(properties.DbInstanceType):void 0),ret.addPropertyResult("dbParameterGroupIdentifier","DbParameterGroupIdentifier",properties.DbParameterGroupIdentifier!=null?cfn_parse().FromCloudFormation.getString(properties.DbParameterGroupIdentifier):void 0),ret.addPropertyResult("dbStorageType","DbStorageType",properties.DbStorageType!=null?cfn_parse().FromCloudFormation.getString(properties.DbStorageType):void 0),ret.addPropertyResult("deploymentType","DeploymentType",properties.DeploymentType!=null?cfn_parse().FromCloudFormation.getString(properties.DeploymentType):void 0),ret.addPropertyResult("logDeliveryConfiguration","LogDeliveryConfiguration",properties.LogDeliveryConfiguration!=null?CfnInfluxDBInstanceLogDeliveryConfigurationPropertyFromCloudFormation(properties.LogDeliveryConfiguration):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("networkType","NetworkType",properties.NetworkType!=null?cfn_parse().FromCloudFormation.getString(properties.NetworkType):void 0),ret.addPropertyResult("organization","Organization",properties.Organization!=null?cfn_parse().FromCloudFormation.getString(properties.Organization):void 0),ret.addPropertyResult("password","Password",properties.Password!=null?cfn_parse().FromCloudFormation.getString(properties.Password):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getNumber(properties.Port):void 0),ret.addPropertyResult("publiclyAccessible","PubliclyAccessible",properties.PubliclyAccessible!=null?cfn_parse().FromCloudFormation.getBoolean(properties.PubliclyAccessible):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("username","Username",properties.Username!=null?cfn_parse().FromCloudFormation.getString(properties.Username):void 0),ret.addPropertyResult("vpcSecurityGroupIds","VpcSecurityGroupIds",properties.VpcSecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.VpcSecurityGroupIds):void 0),ret.addPropertyResult("vpcSubnetIds","VpcSubnetIds",properties.VpcSubnetIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.VpcSubnetIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}