Files
2026-05-06 18:55:16 -05:00

2 lines
133 KiB
JavaScript

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnTieringConfiguration=exports.CfnRestoreTestingSelection=exports.CfnRestoreTestingPlan=exports.CfnLogicallyAirGappedBackupVault=exports.CfnReportPlan=exports.CfnFramework=exports.CfnBackupVault=exports.CfnBackupSelection=exports.CfnBackupPlan=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 CfnBackupPlan extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_backup.CfnBackupPlan",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Backup::BackupPlan";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnBackupPlanPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnBackupPlan(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 isCfnBackupPlan(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnBackupPlan.CFN_RESOURCE_TYPE_NAME}static fromBackupPlanArn(scope,id,arn){class Import extends cdk().Resource{backupPlanRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:backup:${Region}:${Account}:backup-plan:${BackupPlanId}").parse(arn2);this.backupPlanRef={backupPlanId:variables.BackupPlanId,backupPlanArn:arn2}}}return new Import(scope,id,arn)}static fromBackupPlanId(scope,id,backupPlanId){class Import extends cdk().Resource{backupPlanRef;constructor(scope2,id2,backupPlanId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:backup:${Region}:${Account}:backup-plan:${BackupPlanId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,BackupPlanId:backupPlanId2});super(scope2,id2,{environmentFromArn:arn}),this.backupPlanRef={backupPlanId:backupPlanId2,backupPlanArn:arn}}}return new Import(scope,id,backupPlanId)}static arnForBackupPlan(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_backup_IBackupPlanRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForBackupPlan),error}return resource.backupPlanRef.backupPlanArn}_backupPlan;_backupPlanTags;cdkTagManager;cfnPropertyNames={backupPlan:"BackupPlan",backupPlanTags:"BackupPlanTags"};constructor(scope,id,props){super(scope,id,{type:CfnBackupPlan.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_backup_CfnBackupPlanProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnBackupPlan),error}cdk().requireProperty(props,"backupPlan",this),this._backupPlan=props.backupPlan,this._backupPlanTags=props.backupPlanTags,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Backup::BackupPlan",void 0,{tagPropertyName:"backupPlanTags"})}get backupPlanRef(){return{backupPlanId:this.ref,backupPlanArn:this.attrBackupPlanArn}}get backupPlan(){return this._backupPlan}set backupPlan(value){cdk().traceProperty(this.node,"BackupPlan"),this._backupPlan=value}get backupPlanTags(){return this._backupPlanTags}set backupPlanTags(value){cdk().traceProperty(this.node,"BackupPlanTags"),this._backupPlanTags=value}get attrBackupPlanArn(){return cdk().Token.asString(this.getAtt("BackupPlanArn",cdk().ResolutionTypeHint.STRING))}get attrBackupPlanId(){return cdk().Token.asString(this.getAtt("BackupPlanId",cdk().ResolutionTypeHint.STRING))}get attrVersionId(){return cdk().Token.asString(this.getAtt("VersionId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{backupPlan:this._backupPlan,backupPlanTags:this.cdkTagManager.renderTags(this._backupPlanTags)}}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",CfnBackupPlan.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnBackupPlanPropsToCloudFormation(props)}}exports.CfnBackupPlan=CfnBackupPlan;function CfnBackupPlanAdvancedBackupSettingResourceTypePropertyValidator(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("backupOptions",cdk().requiredValidator)(properties.backupOptions)),errors.collect(cdk().propertyValidator("backupOptions",cdk().validateObject)(properties.backupOptions)),errors.collect(cdk().propertyValidator("resourceType",cdk().requiredValidator)(properties.resourceType)),errors.collect(cdk().propertyValidator("resourceType",cdk().validateString)(properties.resourceType)),errors.wrap('supplied properties not correct for "AdvancedBackupSettingResourceTypeProperty"')}function convertCfnBackupPlanAdvancedBackupSettingResourceTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBackupPlanAdvancedBackupSettingResourceTypePropertyValidator(properties).assertSuccess(),{BackupOptions:cdk().objectToCloudFormation(properties.backupOptions),ResourceType:cdk().stringToCloudFormation(properties.resourceType)}):properties}function CfnBackupPlanAdvancedBackupSettingResourceTypePropertyFromCloudFormation(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("backupOptions","BackupOptions",properties.BackupOptions!=null?cfn_parse().FromCloudFormation.getAny(properties.BackupOptions):void 0),ret.addPropertyResult("resourceType","ResourceType",properties.ResourceType!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBackupPlanLifecycleResourceTypePropertyValidator(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("deleteAfterDays",cdk().validateNumber)(properties.deleteAfterDays)),errors.collect(cdk().propertyValidator("moveToColdStorageAfterDays",cdk().validateNumber)(properties.moveToColdStorageAfterDays)),errors.collect(cdk().propertyValidator("optInToArchiveForSupportedResources",cdk().validateBoolean)(properties.optInToArchiveForSupportedResources)),errors.wrap('supplied properties not correct for "LifecycleResourceTypeProperty"')}function convertCfnBackupPlanLifecycleResourceTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBackupPlanLifecycleResourceTypePropertyValidator(properties).assertSuccess(),{DeleteAfterDays:cdk().numberToCloudFormation(properties.deleteAfterDays),MoveToColdStorageAfterDays:cdk().numberToCloudFormation(properties.moveToColdStorageAfterDays),OptInToArchiveForSupportedResources:cdk().booleanToCloudFormation(properties.optInToArchiveForSupportedResources)}):properties}function CfnBackupPlanLifecycleResourceTypePropertyFromCloudFormation(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("deleteAfterDays","DeleteAfterDays",properties.DeleteAfterDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.DeleteAfterDays):void 0),ret.addPropertyResult("moveToColdStorageAfterDays","MoveToColdStorageAfterDays",properties.MoveToColdStorageAfterDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.MoveToColdStorageAfterDays):void 0),ret.addPropertyResult("optInToArchiveForSupportedResources","OptInToArchiveForSupportedResources",properties.OptInToArchiveForSupportedResources!=null?cfn_parse().FromCloudFormation.getBoolean(properties.OptInToArchiveForSupportedResources):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBackupPlanCopyActionResourceTypePropertyValidator(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("destinationBackupVaultArn",cdk().requiredValidator)(properties.destinationBackupVaultArn)),errors.collect(cdk().propertyValidator("destinationBackupVaultArn",cdk().validateString)(properties.destinationBackupVaultArn)),errors.collect(cdk().propertyValidator("lifecycle",CfnBackupPlanLifecycleResourceTypePropertyValidator)(properties.lifecycle)),errors.wrap('supplied properties not correct for "CopyActionResourceTypeProperty"')}function convertCfnBackupPlanCopyActionResourceTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBackupPlanCopyActionResourceTypePropertyValidator(properties).assertSuccess(),{DestinationBackupVaultArn:cdk().stringToCloudFormation(properties.destinationBackupVaultArn),Lifecycle:convertCfnBackupPlanLifecycleResourceTypePropertyToCloudFormation(properties.lifecycle)}):properties}function CfnBackupPlanCopyActionResourceTypePropertyFromCloudFormation(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("destinationBackupVaultArn","DestinationBackupVaultArn",properties.DestinationBackupVaultArn!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationBackupVaultArn):void 0),ret.addPropertyResult("lifecycle","Lifecycle",properties.Lifecycle!=null?CfnBackupPlanLifecycleResourceTypePropertyFromCloudFormation(properties.Lifecycle):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBackupPlanIndexActionsResourceTypePropertyValidator(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("resourceTypes",cdk().listValidator(cdk().validateString))(properties.resourceTypes)),errors.wrap('supplied properties not correct for "IndexActionsResourceTypeProperty"')}function convertCfnBackupPlanIndexActionsResourceTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBackupPlanIndexActionsResourceTypePropertyValidator(properties).assertSuccess(),{ResourceTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.resourceTypes)}):properties}function CfnBackupPlanIndexActionsResourceTypePropertyFromCloudFormation(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("resourceTypes","ResourceTypes",properties.ResourceTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ResourceTypes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBackupPlanScanActionResourceTypePropertyValidator(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("malwareScanner",cdk().validateString)(properties.malwareScanner)),errors.collect(cdk().propertyValidator("scanMode",cdk().validateString)(properties.scanMode)),errors.wrap('supplied properties not correct for "ScanActionResourceTypeProperty"')}function convertCfnBackupPlanScanActionResourceTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBackupPlanScanActionResourceTypePropertyValidator(properties).assertSuccess(),{MalwareScanner:cdk().stringToCloudFormation(properties.malwareScanner),ScanMode:cdk().stringToCloudFormation(properties.scanMode)}):properties}function CfnBackupPlanScanActionResourceTypePropertyFromCloudFormation(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("malwareScanner","MalwareScanner",properties.MalwareScanner!=null?cfn_parse().FromCloudFormation.getString(properties.MalwareScanner):void 0),ret.addPropertyResult("scanMode","ScanMode",properties.ScanMode!=null?cfn_parse().FromCloudFormation.getString(properties.ScanMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBackupPlanBackupRuleResourceTypePropertyValidator(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("completionWindowMinutes",cdk().validateNumber)(properties.completionWindowMinutes)),errors.collect(cdk().propertyValidator("copyActions",cdk().listValidator(CfnBackupPlanCopyActionResourceTypePropertyValidator))(properties.copyActions)),errors.collect(cdk().propertyValidator("enableContinuousBackup",cdk().validateBoolean)(properties.enableContinuousBackup)),errors.collect(cdk().propertyValidator("indexActions",cdk().listValidator(CfnBackupPlanIndexActionsResourceTypePropertyValidator))(properties.indexActions)),errors.collect(cdk().propertyValidator("lifecycle",CfnBackupPlanLifecycleResourceTypePropertyValidator)(properties.lifecycle)),errors.collect(cdk().propertyValidator("recoveryPointTags",cdk().hashValidator(cdk().validateString))(properties.recoveryPointTags)),errors.collect(cdk().propertyValidator("ruleName",cdk().requiredValidator)(properties.ruleName)),errors.collect(cdk().propertyValidator("ruleName",cdk().validateString)(properties.ruleName)),errors.collect(cdk().propertyValidator("scanActions",cdk().listValidator(CfnBackupPlanScanActionResourceTypePropertyValidator))(properties.scanActions)),errors.collect(cdk().propertyValidator("scheduleExpression",cdk().validateString)(properties.scheduleExpression)),errors.collect(cdk().propertyValidator("scheduleExpressionTimezone",cdk().validateString)(properties.scheduleExpressionTimezone)),errors.collect(cdk().propertyValidator("startWindowMinutes",cdk().validateNumber)(properties.startWindowMinutes)),errors.collect(cdk().propertyValidator("targetBackupVault",cdk().requiredValidator)(properties.targetBackupVault)),errors.collect(cdk().propertyValidator("targetBackupVault",cdk().validateString)(properties.targetBackupVault)),errors.collect(cdk().propertyValidator("targetLogicallyAirGappedBackupVaultArn",cdk().validateString)(properties.targetLogicallyAirGappedBackupVaultArn)),errors.wrap('supplied properties not correct for "BackupRuleResourceTypeProperty"')}function convertCfnBackupPlanBackupRuleResourceTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBackupPlanBackupRuleResourceTypePropertyValidator(properties).assertSuccess(),{CompletionWindowMinutes:cdk().numberToCloudFormation(properties.completionWindowMinutes),CopyActions:cdk().listMapper(convertCfnBackupPlanCopyActionResourceTypePropertyToCloudFormation)(properties.copyActions),EnableContinuousBackup:cdk().booleanToCloudFormation(properties.enableContinuousBackup),IndexActions:cdk().listMapper(convertCfnBackupPlanIndexActionsResourceTypePropertyToCloudFormation)(properties.indexActions),Lifecycle:convertCfnBackupPlanLifecycleResourceTypePropertyToCloudFormation(properties.lifecycle),RecoveryPointTags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.recoveryPointTags),RuleName:cdk().stringToCloudFormation(properties.ruleName),ScanActions:cdk().listMapper(convertCfnBackupPlanScanActionResourceTypePropertyToCloudFormation)(properties.scanActions),ScheduleExpression:cdk().stringToCloudFormation(properties.scheduleExpression),ScheduleExpressionTimezone:cdk().stringToCloudFormation(properties.scheduleExpressionTimezone),StartWindowMinutes:cdk().numberToCloudFormation(properties.startWindowMinutes),TargetBackupVault:cdk().stringToCloudFormation(properties.targetBackupVault),TargetLogicallyAirGappedBackupVaultArn:cdk().stringToCloudFormation(properties.targetLogicallyAirGappedBackupVaultArn)}):properties}function CfnBackupPlanBackupRuleResourceTypePropertyFromCloudFormation(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("completionWindowMinutes","CompletionWindowMinutes",properties.CompletionWindowMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.CompletionWindowMinutes):void 0),ret.addPropertyResult("copyActions","CopyActions",properties.CopyActions!=null?cfn_parse().FromCloudFormation.getArray(CfnBackupPlanCopyActionResourceTypePropertyFromCloudFormation)(properties.CopyActions):void 0),ret.addPropertyResult("enableContinuousBackup","EnableContinuousBackup",properties.EnableContinuousBackup!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableContinuousBackup):void 0),ret.addPropertyResult("indexActions","IndexActions",properties.IndexActions!=null?cfn_parse().FromCloudFormation.getArray(CfnBackupPlanIndexActionsResourceTypePropertyFromCloudFormation)(properties.IndexActions):void 0),ret.addPropertyResult("lifecycle","Lifecycle",properties.Lifecycle!=null?CfnBackupPlanLifecycleResourceTypePropertyFromCloudFormation(properties.Lifecycle):void 0),ret.addPropertyResult("recoveryPointTags","RecoveryPointTags",properties.RecoveryPointTags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.RecoveryPointTags):void 0),ret.addPropertyResult("ruleName","RuleName",properties.RuleName!=null?cfn_parse().FromCloudFormation.getString(properties.RuleName):void 0),ret.addPropertyResult("scanActions","ScanActions",properties.ScanActions!=null?cfn_parse().FromCloudFormation.getArray(CfnBackupPlanScanActionResourceTypePropertyFromCloudFormation)(properties.ScanActions):void 0),ret.addPropertyResult("scheduleExpression","ScheduleExpression",properties.ScheduleExpression!=null?cfn_parse().FromCloudFormation.getString(properties.ScheduleExpression):void 0),ret.addPropertyResult("scheduleExpressionTimezone","ScheduleExpressionTimezone",properties.ScheduleExpressionTimezone!=null?cfn_parse().FromCloudFormation.getString(properties.ScheduleExpressionTimezone):void 0),ret.addPropertyResult("startWindowMinutes","StartWindowMinutes",properties.StartWindowMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.StartWindowMinutes):void 0),ret.addPropertyResult("targetBackupVault","TargetBackupVault",properties.TargetBackupVault!=null?cfn_parse().FromCloudFormation.getString(properties.TargetBackupVault):void 0),ret.addPropertyResult("targetLogicallyAirGappedBackupVaultArn","TargetLogicallyAirGappedBackupVaultArn",properties.TargetLogicallyAirGappedBackupVaultArn!=null?cfn_parse().FromCloudFormation.getString(properties.TargetLogicallyAirGappedBackupVaultArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBackupPlanScanSettingResourceTypePropertyValidator(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("malwareScanner",cdk().validateString)(properties.malwareScanner)),errors.collect(cdk().propertyValidator("resourceTypes",cdk().listValidator(cdk().validateString))(properties.resourceTypes)),errors.collect(cdk().propertyValidator("scannerRoleArn",cdk().validateString)(properties.scannerRoleArn)),errors.wrap('supplied properties not correct for "ScanSettingResourceTypeProperty"')}function convertCfnBackupPlanScanSettingResourceTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBackupPlanScanSettingResourceTypePropertyValidator(properties).assertSuccess(),{MalwareScanner:cdk().stringToCloudFormation(properties.malwareScanner),ResourceTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.resourceTypes),ScannerRoleArn:cdk().stringToCloudFormation(properties.scannerRoleArn)}):properties}function CfnBackupPlanScanSettingResourceTypePropertyFromCloudFormation(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("malwareScanner","MalwareScanner",properties.MalwareScanner!=null?cfn_parse().FromCloudFormation.getString(properties.MalwareScanner):void 0),ret.addPropertyResult("resourceTypes","ResourceTypes",properties.ResourceTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ResourceTypes):void 0),ret.addPropertyResult("scannerRoleArn","ScannerRoleArn",properties.ScannerRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.ScannerRoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBackupPlanBackupPlanResourceTypePropertyValidator(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("advancedBackupSettings",cdk().listValidator(CfnBackupPlanAdvancedBackupSettingResourceTypePropertyValidator))(properties.advancedBackupSettings)),errors.collect(cdk().propertyValidator("backupPlanName",cdk().requiredValidator)(properties.backupPlanName)),errors.collect(cdk().propertyValidator("backupPlanName",cdk().validateString)(properties.backupPlanName)),errors.collect(cdk().propertyValidator("backupPlanRule",cdk().requiredValidator)(properties.backupPlanRule)),errors.collect(cdk().propertyValidator("backupPlanRule",cdk().listValidator(CfnBackupPlanBackupRuleResourceTypePropertyValidator))(properties.backupPlanRule)),errors.collect(cdk().propertyValidator("scanSettings",cdk().listValidator(CfnBackupPlanScanSettingResourceTypePropertyValidator))(properties.scanSettings)),errors.wrap('supplied properties not correct for "BackupPlanResourceTypeProperty"')}function convertCfnBackupPlanBackupPlanResourceTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBackupPlanBackupPlanResourceTypePropertyValidator(properties).assertSuccess(),{AdvancedBackupSettings:cdk().listMapper(convertCfnBackupPlanAdvancedBackupSettingResourceTypePropertyToCloudFormation)(properties.advancedBackupSettings),BackupPlanName:cdk().stringToCloudFormation(properties.backupPlanName),BackupPlanRule:cdk().listMapper(convertCfnBackupPlanBackupRuleResourceTypePropertyToCloudFormation)(properties.backupPlanRule),ScanSettings:cdk().listMapper(convertCfnBackupPlanScanSettingResourceTypePropertyToCloudFormation)(properties.scanSettings)}):properties}function CfnBackupPlanBackupPlanResourceTypePropertyFromCloudFormation(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("advancedBackupSettings","AdvancedBackupSettings",properties.AdvancedBackupSettings!=null?cfn_parse().FromCloudFormation.getArray(CfnBackupPlanAdvancedBackupSettingResourceTypePropertyFromCloudFormation)(properties.AdvancedBackupSettings):void 0),ret.addPropertyResult("backupPlanName","BackupPlanName",properties.BackupPlanName!=null?cfn_parse().FromCloudFormation.getString(properties.BackupPlanName):void 0),ret.addPropertyResult("backupPlanRule","BackupPlanRule",properties.BackupPlanRule!=null?cfn_parse().FromCloudFormation.getArray(CfnBackupPlanBackupRuleResourceTypePropertyFromCloudFormation)(properties.BackupPlanRule):void 0),ret.addPropertyResult("scanSettings","ScanSettings",properties.ScanSettings!=null?cfn_parse().FromCloudFormation.getArray(CfnBackupPlanScanSettingResourceTypePropertyFromCloudFormation)(properties.ScanSettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBackupPlanPropsValidator(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("backupPlan",cdk().requiredValidator)(properties.backupPlan)),errors.collect(cdk().propertyValidator("backupPlan",CfnBackupPlanBackupPlanResourceTypePropertyValidator)(properties.backupPlan)),errors.collect(cdk().propertyValidator("backupPlanTags",cdk().hashValidator(cdk().validateString))(properties.backupPlanTags)),errors.wrap('supplied properties not correct for "CfnBackupPlanProps"')}function convertCfnBackupPlanPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBackupPlanPropsValidator(properties).assertSuccess(),{BackupPlan:convertCfnBackupPlanBackupPlanResourceTypePropertyToCloudFormation(properties.backupPlan),BackupPlanTags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.backupPlanTags)}):properties}function CfnBackupPlanPropsFromCloudFormation(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("backupPlan","BackupPlan",properties.BackupPlan!=null?CfnBackupPlanBackupPlanResourceTypePropertyFromCloudFormation(properties.BackupPlan):void 0),ret.addPropertyResult("backupPlanTags","BackupPlanTags",properties.BackupPlanTags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.BackupPlanTags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnBackupSelection extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_backup.CfnBackupSelection",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Backup::BackupSelection";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnBackupSelectionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnBackupSelection(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 isCfnBackupSelection(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnBackupSelection.CFN_RESOURCE_TYPE_NAME}_backupPlanId;_backupSelection;cfnPropertyNames={backupPlanId:"BackupPlanId",backupSelection:"BackupSelection"};constructor(scope,id,props){super(scope,id,{type:CfnBackupSelection.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_backup_CfnBackupSelectionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnBackupSelection),error}cdk().requireProperty(props,"backupPlanId",this),cdk().requireProperty(props,"backupSelection",this),this._backupPlanId=cdk().getRefProperty(props.backupPlanId?.backupPlanRef,"backupPlanId")??cdk().ensureStringOrUndefined(props.backupPlanId,"backupPlanId","backup.IBackupPlanRef | string"),this._backupSelection=props.backupSelection}get backupSelectionRef(){return{backupSelectionId:this.ref}}get backupPlanId(){return this._backupPlanId}set backupPlanId(value){cdk().traceProperty(this.node,"BackupPlanId"),this._backupPlanId=value}get backupSelection(){return this._backupSelection}set backupSelection(value){cdk().traceProperty(this.node,"BackupSelection"),this._backupSelection=value}get attrBackupPlanId(){return cdk().Token.asString(this.getAtt("BackupPlanId",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrSelectionId(){return cdk().Token.asString(this.getAtt("SelectionId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{backupPlanId:this._backupPlanId,backupSelection:this._backupSelection}}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",CfnBackupSelection.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnBackupSelectionPropsToCloudFormation(props)}}exports.CfnBackupSelection=CfnBackupSelection;function CfnBackupSelectionConditionResourceTypePropertyValidator(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("conditionKey",cdk().requiredValidator)(properties.conditionKey)),errors.collect(cdk().propertyValidator("conditionKey",cdk().validateString)(properties.conditionKey)),errors.collect(cdk().propertyValidator("conditionType",cdk().requiredValidator)(properties.conditionType)),errors.collect(cdk().propertyValidator("conditionType",cdk().validateString)(properties.conditionType)),errors.collect(cdk().propertyValidator("conditionValue",cdk().requiredValidator)(properties.conditionValue)),errors.collect(cdk().propertyValidator("conditionValue",cdk().validateString)(properties.conditionValue)),errors.wrap('supplied properties not correct for "ConditionResourceTypeProperty"')}function convertCfnBackupSelectionConditionResourceTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBackupSelectionConditionResourceTypePropertyValidator(properties).assertSuccess(),{ConditionKey:cdk().stringToCloudFormation(properties.conditionKey),ConditionType:cdk().stringToCloudFormation(properties.conditionType),ConditionValue:cdk().stringToCloudFormation(properties.conditionValue)}):properties}function CfnBackupSelectionConditionResourceTypePropertyFromCloudFormation(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("conditionKey","ConditionKey",properties.ConditionKey!=null?cfn_parse().FromCloudFormation.getString(properties.ConditionKey):void 0),ret.addPropertyResult("conditionType","ConditionType",properties.ConditionType!=null?cfn_parse().FromCloudFormation.getString(properties.ConditionType):void 0),ret.addPropertyResult("conditionValue","ConditionValue",properties.ConditionValue!=null?cfn_parse().FromCloudFormation.getString(properties.ConditionValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBackupSelectionBackupSelectionResourceTypePropertyValidator(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("conditions",cdk().validateObject)(properties.conditions)),errors.collect(cdk().propertyValidator("iamRoleArn",cdk().requiredValidator)(properties.iamRoleArn)),errors.collect(cdk().propertyValidator("iamRoleArn",cdk().validateString)(properties.iamRoleArn)),errors.collect(cdk().propertyValidator("listOfTags",cdk().listValidator(CfnBackupSelectionConditionResourceTypePropertyValidator))(properties.listOfTags)),errors.collect(cdk().propertyValidator("notResources",cdk().listValidator(cdk().validateString))(properties.notResources)),errors.collect(cdk().propertyValidator("resources",cdk().listValidator(cdk().validateString))(properties.resources)),errors.collect(cdk().propertyValidator("selectionName",cdk().requiredValidator)(properties.selectionName)),errors.collect(cdk().propertyValidator("selectionName",cdk().validateString)(properties.selectionName)),errors.wrap('supplied properties not correct for "BackupSelectionResourceTypeProperty"')}function convertCfnBackupSelectionBackupSelectionResourceTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBackupSelectionBackupSelectionResourceTypePropertyValidator(properties).assertSuccess(),{Conditions:cdk().objectToCloudFormation(properties.conditions),IamRoleArn:cdk().stringToCloudFormation(properties.iamRoleArn),ListOfTags:cdk().listMapper(convertCfnBackupSelectionConditionResourceTypePropertyToCloudFormation)(properties.listOfTags),NotResources:cdk().listMapper(cdk().stringToCloudFormation)(properties.notResources),Resources:cdk().listMapper(cdk().stringToCloudFormation)(properties.resources),SelectionName:cdk().stringToCloudFormation(properties.selectionName)}):properties}function CfnBackupSelectionBackupSelectionResourceTypePropertyFromCloudFormation(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("conditions","Conditions",properties.Conditions!=null?cfn_parse().FromCloudFormation.getAny(properties.Conditions):void 0),ret.addPropertyResult("iamRoleArn","IamRoleArn",properties.IamRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.IamRoleArn):void 0),ret.addPropertyResult("listOfTags","ListOfTags",properties.ListOfTags!=null?cfn_parse().FromCloudFormation.getArray(CfnBackupSelectionConditionResourceTypePropertyFromCloudFormation)(properties.ListOfTags):void 0),ret.addPropertyResult("notResources","NotResources",properties.NotResources!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.NotResources):void 0),ret.addPropertyResult("resources","Resources",properties.Resources!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Resources):void 0),ret.addPropertyResult("selectionName","SelectionName",properties.SelectionName!=null?cfn_parse().FromCloudFormation.getString(properties.SelectionName):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBackupSelectionPropsValidator(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("backupPlanId",cdk().requiredValidator)(properties.backupPlanId)),errors.collect(cdk().propertyValidator("backupPlanId",cdk().validateString)(properties.backupPlanId)),errors.collect(cdk().propertyValidator("backupSelection",cdk().requiredValidator)(properties.backupSelection)),errors.collect(cdk().propertyValidator("backupSelection",CfnBackupSelectionBackupSelectionResourceTypePropertyValidator)(properties.backupSelection)),errors.wrap('supplied properties not correct for "CfnBackupSelectionProps"')}function convertCfnBackupSelectionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBackupSelectionPropsValidator(properties).assertSuccess(),{BackupPlanId:cdk().stringToCloudFormation(properties.backupPlanId),BackupSelection:convertCfnBackupSelectionBackupSelectionResourceTypePropertyToCloudFormation(properties.backupSelection)}):properties}function CfnBackupSelectionPropsFromCloudFormation(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("backupPlanId","BackupPlanId",properties.BackupPlanId!=null?cfn_parse().FromCloudFormation.getString(properties.BackupPlanId):void 0),ret.addPropertyResult("backupSelection","BackupSelection",properties.BackupSelection!=null?CfnBackupSelectionBackupSelectionResourceTypePropertyFromCloudFormation(properties.BackupSelection):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBackupSelectionConditionParameterPropertyValidator(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("conditionKey",cdk().validateString)(properties.conditionKey)),errors.collect(cdk().propertyValidator("conditionValue",cdk().validateString)(properties.conditionValue)),errors.wrap('supplied properties not correct for "ConditionParameterProperty"')}function convertCfnBackupSelectionConditionParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBackupSelectionConditionParameterPropertyValidator(properties).assertSuccess(),{ConditionKey:cdk().stringToCloudFormation(properties.conditionKey),ConditionValue:cdk().stringToCloudFormation(properties.conditionValue)}):properties}function CfnBackupSelectionConditionParameterPropertyFromCloudFormation(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("conditionKey","ConditionKey",properties.ConditionKey!=null?cfn_parse().FromCloudFormation.getString(properties.ConditionKey):void 0),ret.addPropertyResult("conditionValue","ConditionValue",properties.ConditionValue!=null?cfn_parse().FromCloudFormation.getString(properties.ConditionValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBackupSelectionConditionsPropertyValidator(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("stringEquals",cdk().listValidator(CfnBackupSelectionConditionParameterPropertyValidator))(properties.stringEquals)),errors.collect(cdk().propertyValidator("stringLike",cdk().listValidator(CfnBackupSelectionConditionParameterPropertyValidator))(properties.stringLike)),errors.collect(cdk().propertyValidator("stringNotEquals",cdk().listValidator(CfnBackupSelectionConditionParameterPropertyValidator))(properties.stringNotEquals)),errors.collect(cdk().propertyValidator("stringNotLike",cdk().listValidator(CfnBackupSelectionConditionParameterPropertyValidator))(properties.stringNotLike)),errors.wrap('supplied properties not correct for "ConditionsProperty"')}function convertCfnBackupSelectionConditionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBackupSelectionConditionsPropertyValidator(properties).assertSuccess(),{StringEquals:cdk().listMapper(convertCfnBackupSelectionConditionParameterPropertyToCloudFormation)(properties.stringEquals),StringLike:cdk().listMapper(convertCfnBackupSelectionConditionParameterPropertyToCloudFormation)(properties.stringLike),StringNotEquals:cdk().listMapper(convertCfnBackupSelectionConditionParameterPropertyToCloudFormation)(properties.stringNotEquals),StringNotLike:cdk().listMapper(convertCfnBackupSelectionConditionParameterPropertyToCloudFormation)(properties.stringNotLike)}):properties}function CfnBackupSelectionConditionsPropertyFromCloudFormation(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("stringEquals","StringEquals",properties.StringEquals!=null?cfn_parse().FromCloudFormation.getArray(CfnBackupSelectionConditionParameterPropertyFromCloudFormation)(properties.StringEquals):void 0),ret.addPropertyResult("stringLike","StringLike",properties.StringLike!=null?cfn_parse().FromCloudFormation.getArray(CfnBackupSelectionConditionParameterPropertyFromCloudFormation)(properties.StringLike):void 0),ret.addPropertyResult("stringNotEquals","StringNotEquals",properties.StringNotEquals!=null?cfn_parse().FromCloudFormation.getArray(CfnBackupSelectionConditionParameterPropertyFromCloudFormation)(properties.StringNotEquals):void 0),ret.addPropertyResult("stringNotLike","StringNotLike",properties.StringNotLike!=null?cfn_parse().FromCloudFormation.getArray(CfnBackupSelectionConditionParameterPropertyFromCloudFormation)(properties.StringNotLike):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnBackupVault extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_backup.CfnBackupVault",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Backup::BackupVault";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnBackupVaultPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnBackupVault(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 isCfnBackupVault(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnBackupVault.CFN_RESOURCE_TYPE_NAME}static fromBackupVaultArn(scope,id,arn){class Import extends cdk().Resource{backupVaultRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:backup:${Region}:${Account}:backup-vault:${BackupVaultName}").parse(arn2);this.backupVaultRef={backupVaultName:variables.BackupVaultName,backupVaultArn:arn2}}}return new Import(scope,id,arn)}static fromBackupVaultName(scope,id,backupVaultName){class Import extends cdk().Resource{backupVaultRef;constructor(scope2,id2,backupVaultName2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:backup:${Region}:${Account}:backup-vault:${BackupVaultName}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,BackupVaultName:backupVaultName2});super(scope2,id2,{environmentFromArn:arn}),this.backupVaultRef={backupVaultName:backupVaultName2,backupVaultArn:arn}}}return new Import(scope,id,backupVaultName)}static arnForBackupVault(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_backup_IBackupVaultRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForBackupVault),error}return resource.backupVaultRef.backupVaultArn}_accessPolicy;_backupVaultName;_backupVaultTags;cdkTagManager;_encryptionKeyArn;_lockConfiguration;_notifications;cfnPropertyNames={accessPolicy:"AccessPolicy",backupVaultName:"BackupVaultName",backupVaultTags:"BackupVaultTags",encryptionKeyArn:"EncryptionKeyArn",lockConfiguration:"LockConfiguration",notifications:"Notifications"};constructor(scope,id,props){super(scope,id,{type:CfnBackupVault.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_backup_CfnBackupVaultProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnBackupVault),error}cdk().requireProperty(props,"backupVaultName",this),this._accessPolicy=props.accessPolicy,this._backupVaultName=props.backupVaultName,this._backupVaultTags=props.backupVaultTags,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Backup::BackupVault",void 0,{tagPropertyName:"backupVaultTags"}),this._encryptionKeyArn=cdk().getRefProperty(props.encryptionKeyArn?.keyRef,"keyArn")??cdk().ensureStringOrUndefined(props.encryptionKeyArn,"encryptionKeyArn","kms.IKeyRef | string"),this._lockConfiguration=props.lockConfiguration,this._notifications=props.notifications,this.node.scope!=null&&cdk().Resource.isResource(this.node.scope)&&this.node.addValidation({validate:()=>this.cfnOptions.deletionPolicy===void 0?["'AWS::Backup::BackupVault' is a stateful resource type, and you must specify a Removal Policy for it. Call 'resource.applyRemovalPolicy()'."]:[]})}get backupVaultRef(){return{backupVaultName:this.ref,backupVaultArn:this.attrBackupVaultArn}}get accessPolicy(){return this._accessPolicy}set accessPolicy(value){cdk().traceProperty(this.node,"AccessPolicy"),this._accessPolicy=value}get backupVaultName(){return this._backupVaultName}set backupVaultName(value){cdk().traceProperty(this.node,"BackupVaultName"),this._backupVaultName=value}get backupVaultTags(){return this._backupVaultTags}set backupVaultTags(value){cdk().traceProperty(this.node,"BackupVaultTags"),this._backupVaultTags=value}get encryptionKeyArn(){return this._encryptionKeyArn}set encryptionKeyArn(value){cdk().traceProperty(this.node,"EncryptionKeyArn"),this._encryptionKeyArn=value}get lockConfiguration(){return this._lockConfiguration}set lockConfiguration(value){cdk().traceProperty(this.node,"LockConfiguration"),this._lockConfiguration=value}get notifications(){return this._notifications}set notifications(value){cdk().traceProperty(this.node,"Notifications"),this._notifications=value}get attrBackupVaultArn(){return cdk().Token.asString(this.getAtt("BackupVaultArn",cdk().ResolutionTypeHint.STRING))}get attrBackupVaultName(){return cdk().Token.asString(this.getAtt("BackupVaultName",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{accessPolicy:this._accessPolicy,backupVaultName:this._backupVaultName,backupVaultTags:this.cdkTagManager.renderTags(this._backupVaultTags),encryptionKeyArn:this._encryptionKeyArn,lockConfiguration:this._lockConfiguration,notifications:this._notifications}}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",CfnBackupVault.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnBackupVaultPropsToCloudFormation(props)}}exports.CfnBackupVault=CfnBackupVault;function CfnBackupVaultLockConfigurationTypePropertyValidator(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("changeableForDays",cdk().validateNumber)(properties.changeableForDays)),errors.collect(cdk().propertyValidator("maxRetentionDays",cdk().validateNumber)(properties.maxRetentionDays)),errors.collect(cdk().propertyValidator("minRetentionDays",cdk().requiredValidator)(properties.minRetentionDays)),errors.collect(cdk().propertyValidator("minRetentionDays",cdk().validateNumber)(properties.minRetentionDays)),errors.wrap('supplied properties not correct for "LockConfigurationTypeProperty"')}function convertCfnBackupVaultLockConfigurationTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBackupVaultLockConfigurationTypePropertyValidator(properties).assertSuccess(),{ChangeableForDays:cdk().numberToCloudFormation(properties.changeableForDays),MaxRetentionDays:cdk().numberToCloudFormation(properties.maxRetentionDays),MinRetentionDays:cdk().numberToCloudFormation(properties.minRetentionDays)}):properties}function CfnBackupVaultLockConfigurationTypePropertyFromCloudFormation(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("changeableForDays","ChangeableForDays",properties.ChangeableForDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.ChangeableForDays):void 0),ret.addPropertyResult("maxRetentionDays","MaxRetentionDays",properties.MaxRetentionDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxRetentionDays):void 0),ret.addPropertyResult("minRetentionDays","MinRetentionDays",properties.MinRetentionDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinRetentionDays):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBackupVaultNotificationObjectTypePropertyValidator(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("backupVaultEvents",cdk().requiredValidator)(properties.backupVaultEvents)),errors.collect(cdk().propertyValidator("backupVaultEvents",cdk().listValidator(cdk().validateString))(properties.backupVaultEvents)),errors.collect(cdk().propertyValidator("snsTopicArn",cdk().requiredValidator)(properties.snsTopicArn)),errors.collect(cdk().propertyValidator("snsTopicArn",cdk().validateString)(properties.snsTopicArn)),errors.wrap('supplied properties not correct for "NotificationObjectTypeProperty"')}function convertCfnBackupVaultNotificationObjectTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBackupVaultNotificationObjectTypePropertyValidator(properties).assertSuccess(),{BackupVaultEvents:cdk().listMapper(cdk().stringToCloudFormation)(properties.backupVaultEvents),SNSTopicArn:cdk().stringToCloudFormation(properties.snsTopicArn)}):properties}function CfnBackupVaultNotificationObjectTypePropertyFromCloudFormation(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("backupVaultEvents","BackupVaultEvents",properties.BackupVaultEvents!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.BackupVaultEvents):void 0),ret.addPropertyResult("snsTopicArn","SNSTopicArn",properties.SNSTopicArn!=null?cfn_parse().FromCloudFormation.getString(properties.SNSTopicArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnBackupVaultPropsValidator(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("accessPolicy",cdk().validateObject)(properties.accessPolicy)),errors.collect(cdk().propertyValidator("backupVaultName",cdk().requiredValidator)(properties.backupVaultName)),errors.collect(cdk().propertyValidator("backupVaultName",cdk().validateString)(properties.backupVaultName)),errors.collect(cdk().propertyValidator("backupVaultTags",cdk().hashValidator(cdk().validateString))(properties.backupVaultTags)),errors.collect(cdk().propertyValidator("encryptionKeyArn",cdk().validateString)(properties.encryptionKeyArn)),errors.collect(cdk().propertyValidator("lockConfiguration",CfnBackupVaultLockConfigurationTypePropertyValidator)(properties.lockConfiguration)),errors.collect(cdk().propertyValidator("notifications",CfnBackupVaultNotificationObjectTypePropertyValidator)(properties.notifications)),errors.wrap('supplied properties not correct for "CfnBackupVaultProps"')}function convertCfnBackupVaultPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnBackupVaultPropsValidator(properties).assertSuccess(),{AccessPolicy:cdk().objectToCloudFormation(properties.accessPolicy),BackupVaultName:cdk().stringToCloudFormation(properties.backupVaultName),BackupVaultTags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.backupVaultTags),EncryptionKeyArn:cdk().stringToCloudFormation(properties.encryptionKeyArn),LockConfiguration:convertCfnBackupVaultLockConfigurationTypePropertyToCloudFormation(properties.lockConfiguration),Notifications:convertCfnBackupVaultNotificationObjectTypePropertyToCloudFormation(properties.notifications)}):properties}function CfnBackupVaultPropsFromCloudFormation(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("accessPolicy","AccessPolicy",properties.AccessPolicy!=null?cfn_parse().FromCloudFormation.getAny(properties.AccessPolicy):void 0),ret.addPropertyResult("backupVaultName","BackupVaultName",properties.BackupVaultName!=null?cfn_parse().FromCloudFormation.getString(properties.BackupVaultName):void 0),ret.addPropertyResult("backupVaultTags","BackupVaultTags",properties.BackupVaultTags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.BackupVaultTags):void 0),ret.addPropertyResult("encryptionKeyArn","EncryptionKeyArn",properties.EncryptionKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.EncryptionKeyArn):void 0),ret.addPropertyResult("lockConfiguration","LockConfiguration",properties.LockConfiguration!=null?CfnBackupVaultLockConfigurationTypePropertyFromCloudFormation(properties.LockConfiguration):void 0),ret.addPropertyResult("notifications","Notifications",properties.Notifications!=null?CfnBackupVaultNotificationObjectTypePropertyFromCloudFormation(properties.Notifications):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnFramework extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_backup.CfnFramework",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Backup::Framework";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFrameworkPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnFramework(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 isCfnFramework(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnFramework.CFN_RESOURCE_TYPE_NAME}static arnForFramework(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_backup_IFrameworkRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForFramework),error}return resource.frameworkRef.frameworkArn}cdkTagManager;_frameworkControls;_frameworkDescription;_frameworkName;_frameworkTags;cfnPropertyNames={frameworkTags:"FrameworkTags",frameworkControls:"FrameworkControls",frameworkDescription:"FrameworkDescription",frameworkName:"FrameworkName"};constructor(scope,id,props){super(scope,id,{type:CfnFramework.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_backup_CfnFrameworkProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFramework),error}cdk().requireProperty(props,"frameworkControls",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Backup::Framework",void 0,{tagPropertyName:"frameworkTags"}),this._frameworkControls=props.frameworkControls,this._frameworkDescription=props.frameworkDescription,this._frameworkName=props.frameworkName,this._frameworkTags=props.frameworkTags}get frameworkRef(){return{frameworkArn:this.ref}}get frameworkControls(){return this._frameworkControls}set frameworkControls(value){cdk().traceProperty(this.node,"FrameworkControls"),this._frameworkControls=value}get frameworkDescription(){return this._frameworkDescription}set frameworkDescription(value){cdk().traceProperty(this.node,"FrameworkDescription"),this._frameworkDescription=value}get frameworkName(){return this._frameworkName}set frameworkName(value){cdk().traceProperty(this.node,"FrameworkName"),this._frameworkName=value}get frameworkTags(){return this._frameworkTags}set frameworkTags(value){cdk().traceProperty(this.node,"FrameworkTags"),this._frameworkTags=value}get attrCreationTime(){return cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING))}get attrDeploymentStatus(){return cdk().Token.asString(this.getAtt("DeploymentStatus",cdk().ResolutionTypeHint.STRING))}get attrFrameworkArn(){return cdk().Token.asString(this.getAtt("FrameworkArn",cdk().ResolutionTypeHint.STRING))}get attrFrameworkStatus(){return cdk().Token.asString(this.getAtt("FrameworkStatus",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{frameworkTags:this.cdkTagManager.renderTags(this._frameworkTags),frameworkControls:this._frameworkControls,frameworkDescription:this._frameworkDescription,frameworkName:this._frameworkName}}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",CfnFramework.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFrameworkPropsToCloudFormation(props)}}exports.CfnFramework=CfnFramework;function CfnFrameworkControlInputParameterPropertyValidator(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("parameterName",cdk().requiredValidator)(properties.parameterName)),errors.collect(cdk().propertyValidator("parameterName",cdk().validateString)(properties.parameterName)),errors.collect(cdk().propertyValidator("parameterValue",cdk().requiredValidator)(properties.parameterValue)),errors.collect(cdk().propertyValidator("parameterValue",cdk().validateString)(properties.parameterValue)),errors.wrap('supplied properties not correct for "ControlInputParameterProperty"')}function convertCfnFrameworkControlInputParameterPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFrameworkControlInputParameterPropertyValidator(properties).assertSuccess(),{ParameterName:cdk().stringToCloudFormation(properties.parameterName),ParameterValue:cdk().stringToCloudFormation(properties.parameterValue)}):properties}function CfnFrameworkControlInputParameterPropertyFromCloudFormation(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("parameterName","ParameterName",properties.ParameterName!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterName):void 0),ret.addPropertyResult("parameterValue","ParameterValue",properties.ParameterValue!=null?cfn_parse().FromCloudFormation.getString(properties.ParameterValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFrameworkFrameworkControlPropertyValidator(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("controlInputParameters",cdk().listValidator(CfnFrameworkControlInputParameterPropertyValidator))(properties.controlInputParameters)),errors.collect(cdk().propertyValidator("controlName",cdk().requiredValidator)(properties.controlName)),errors.collect(cdk().propertyValidator("controlName",cdk().validateString)(properties.controlName)),errors.collect(cdk().propertyValidator("controlScope",cdk().validateObject)(properties.controlScope)),errors.wrap('supplied properties not correct for "FrameworkControlProperty"')}function convertCfnFrameworkFrameworkControlPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFrameworkFrameworkControlPropertyValidator(properties).assertSuccess(),{ControlInputParameters:cdk().listMapper(convertCfnFrameworkControlInputParameterPropertyToCloudFormation)(properties.controlInputParameters),ControlName:cdk().stringToCloudFormation(properties.controlName),ControlScope:cdk().objectToCloudFormation(properties.controlScope)}):properties}function CfnFrameworkFrameworkControlPropertyFromCloudFormation(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("controlInputParameters","ControlInputParameters",properties.ControlInputParameters!=null?cfn_parse().FromCloudFormation.getArray(CfnFrameworkControlInputParameterPropertyFromCloudFormation)(properties.ControlInputParameters):void 0),ret.addPropertyResult("controlName","ControlName",properties.ControlName!=null?cfn_parse().FromCloudFormation.getString(properties.ControlName):void 0),ret.addPropertyResult("controlScope","ControlScope",properties.ControlScope!=null?cfn_parse().FromCloudFormation.getAny(properties.ControlScope):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFrameworkPropsValidator(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("frameworkControls",cdk().requiredValidator)(properties.frameworkControls)),errors.collect(cdk().propertyValidator("frameworkControls",cdk().listValidator(CfnFrameworkFrameworkControlPropertyValidator))(properties.frameworkControls)),errors.collect(cdk().propertyValidator("frameworkDescription",cdk().validateString)(properties.frameworkDescription)),errors.collect(cdk().propertyValidator("frameworkName",cdk().validateString)(properties.frameworkName)),errors.collect(cdk().propertyValidator("frameworkTags",cdk().listValidator(cdk().validateCfnTag))(properties.frameworkTags)),errors.wrap('supplied properties not correct for "CfnFrameworkProps"')}function convertCfnFrameworkPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFrameworkPropsValidator(properties).assertSuccess(),{FrameworkControls:cdk().listMapper(convertCfnFrameworkFrameworkControlPropertyToCloudFormation)(properties.frameworkControls),FrameworkDescription:cdk().stringToCloudFormation(properties.frameworkDescription),FrameworkName:cdk().stringToCloudFormation(properties.frameworkName),FrameworkTags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.frameworkTags)}):properties}function CfnFrameworkPropsFromCloudFormation(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("frameworkControls","FrameworkControls",properties.FrameworkControls!=null?cfn_parse().FromCloudFormation.getArray(CfnFrameworkFrameworkControlPropertyFromCloudFormation)(properties.FrameworkControls):void 0),ret.addPropertyResult("frameworkDescription","FrameworkDescription",properties.FrameworkDescription!=null?cfn_parse().FromCloudFormation.getString(properties.FrameworkDescription):void 0),ret.addPropertyResult("frameworkName","FrameworkName",properties.FrameworkName!=null?cfn_parse().FromCloudFormation.getString(properties.FrameworkName):void 0),ret.addPropertyResult("frameworkTags","FrameworkTags",properties.FrameworkTags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.FrameworkTags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFrameworkControlScopePropertyValidator(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("complianceResourceIds",cdk().listValidator(cdk().validateString))(properties.complianceResourceIds)),errors.collect(cdk().propertyValidator("complianceResourceTypes",cdk().listValidator(cdk().validateString))(properties.complianceResourceTypes)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "ControlScopeProperty"')}function convertCfnFrameworkControlScopePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFrameworkControlScopePropertyValidator(properties).assertSuccess(),{ComplianceResourceIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.complianceResourceIds),ComplianceResourceTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.complianceResourceTypes),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnFrameworkControlScopePropertyFromCloudFormation(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("complianceResourceIds","ComplianceResourceIds",properties.ComplianceResourceIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ComplianceResourceIds):void 0),ret.addPropertyResult("complianceResourceTypes","ComplianceResourceTypes",properties.ComplianceResourceTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ComplianceResourceTypes):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 CfnReportPlan extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_backup.CfnReportPlan",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Backup::ReportPlan";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnReportPlanPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnReportPlan(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 isCfnReportPlan(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnReportPlan.CFN_RESOURCE_TYPE_NAME}static arnForReportPlan(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_backup_IReportPlanRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForReportPlan),error}return resource.reportPlanRef.reportPlanArn}cdkTagManager;_reportDeliveryChannel;_reportPlanDescription;_reportPlanName;_reportPlanTags;_reportSetting;cfnPropertyNames={reportPlanTags:"ReportPlanTags",reportDeliveryChannel:"ReportDeliveryChannel",reportPlanDescription:"ReportPlanDescription",reportPlanName:"ReportPlanName",reportSetting:"ReportSetting"};constructor(scope,id,props){super(scope,id,{type:CfnReportPlan.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_backup_CfnReportPlanProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnReportPlan),error}cdk().requireProperty(props,"reportDeliveryChannel",this),cdk().requireProperty(props,"reportSetting",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Backup::ReportPlan",void 0,{tagPropertyName:"reportPlanTags"}),this._reportDeliveryChannel=props.reportDeliveryChannel,this._reportPlanDescription=props.reportPlanDescription,this._reportPlanName=props.reportPlanName,this._reportPlanTags=props.reportPlanTags,this._reportSetting=props.reportSetting}get reportPlanRef(){return{reportPlanArn:this.ref}}get reportDeliveryChannel(){return this._reportDeliveryChannel}set reportDeliveryChannel(value){cdk().traceProperty(this.node,"ReportDeliveryChannel"),this._reportDeliveryChannel=value}get reportPlanDescription(){return this._reportPlanDescription}set reportPlanDescription(value){cdk().traceProperty(this.node,"ReportPlanDescription"),this._reportPlanDescription=value}get reportPlanName(){return this._reportPlanName}set reportPlanName(value){cdk().traceProperty(this.node,"ReportPlanName"),this._reportPlanName=value}get reportPlanTags(){return this._reportPlanTags}set reportPlanTags(value){cdk().traceProperty(this.node,"ReportPlanTags"),this._reportPlanTags=value}get reportSetting(){return this._reportSetting}set reportSetting(value){cdk().traceProperty(this.node,"ReportSetting"),this._reportSetting=value}get attrReportPlanArn(){return cdk().Token.asString(this.getAtt("ReportPlanArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{reportPlanTags:this.cdkTagManager.renderTags(this._reportPlanTags),reportDeliveryChannel:this._reportDeliveryChannel,reportPlanDescription:this._reportPlanDescription,reportPlanName:this._reportPlanName,reportSetting:this._reportSetting}}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",CfnReportPlan.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnReportPlanPropsToCloudFormation(props)}}exports.CfnReportPlan=CfnReportPlan;function CfnReportPlanReportSettingPropertyValidator(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("accounts",cdk().listValidator(cdk().validateString))(properties.accounts)),errors.collect(cdk().propertyValidator("frameworkArns",cdk().listValidator(cdk().validateString))(properties.frameworkArns)),errors.collect(cdk().propertyValidator("organizationUnits",cdk().listValidator(cdk().validateString))(properties.organizationUnits)),errors.collect(cdk().propertyValidator("regions",cdk().listValidator(cdk().validateString))(properties.regions)),errors.collect(cdk().propertyValidator("reportTemplate",cdk().requiredValidator)(properties.reportTemplate)),errors.collect(cdk().propertyValidator("reportTemplate",cdk().validateString)(properties.reportTemplate)),errors.wrap('supplied properties not correct for "ReportSettingProperty"')}function convertCfnReportPlanReportSettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReportPlanReportSettingPropertyValidator(properties).assertSuccess(),{Accounts:cdk().listMapper(cdk().stringToCloudFormation)(properties.accounts),FrameworkArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.frameworkArns),OrganizationUnits:cdk().listMapper(cdk().stringToCloudFormation)(properties.organizationUnits),Regions:cdk().listMapper(cdk().stringToCloudFormation)(properties.regions),ReportTemplate:cdk().stringToCloudFormation(properties.reportTemplate)}):properties}function CfnReportPlanReportSettingPropertyFromCloudFormation(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("accounts","Accounts",properties.Accounts!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Accounts):void 0),ret.addPropertyResult("frameworkArns","FrameworkArns",properties.FrameworkArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.FrameworkArns):void 0),ret.addPropertyResult("organizationUnits","OrganizationUnits",properties.OrganizationUnits!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.OrganizationUnits):void 0),ret.addPropertyResult("regions","Regions",properties.Regions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Regions):void 0),ret.addPropertyResult("reportTemplate","ReportTemplate",properties.ReportTemplate!=null?cfn_parse().FromCloudFormation.getString(properties.ReportTemplate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReportPlanReportDeliveryChannelPropertyValidator(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("formats",cdk().listValidator(cdk().validateString))(properties.formats)),errors.collect(cdk().propertyValidator("s3BucketName",cdk().requiredValidator)(properties.s3BucketName)),errors.collect(cdk().propertyValidator("s3BucketName",cdk().validateString)(properties.s3BucketName)),errors.collect(cdk().propertyValidator("s3KeyPrefix",cdk().validateString)(properties.s3KeyPrefix)),errors.wrap('supplied properties not correct for "ReportDeliveryChannelProperty"')}function convertCfnReportPlanReportDeliveryChannelPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReportPlanReportDeliveryChannelPropertyValidator(properties).assertSuccess(),{Formats:cdk().listMapper(cdk().stringToCloudFormation)(properties.formats),S3BucketName:cdk().stringToCloudFormation(properties.s3BucketName),S3KeyPrefix:cdk().stringToCloudFormation(properties.s3KeyPrefix)}):properties}function CfnReportPlanReportDeliveryChannelPropertyFromCloudFormation(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("formats","Formats",properties.Formats!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Formats):void 0),ret.addPropertyResult("s3BucketName","S3BucketName",properties.S3BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.S3BucketName):void 0),ret.addPropertyResult("s3KeyPrefix","S3KeyPrefix",properties.S3KeyPrefix!=null?cfn_parse().FromCloudFormation.getString(properties.S3KeyPrefix):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnReportPlanPropsValidator(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("reportDeliveryChannel",cdk().requiredValidator)(properties.reportDeliveryChannel)),errors.collect(cdk().propertyValidator("reportDeliveryChannel",cdk().validateObject)(properties.reportDeliveryChannel)),errors.collect(cdk().propertyValidator("reportPlanDescription",cdk().validateString)(properties.reportPlanDescription)),errors.collect(cdk().propertyValidator("reportPlanName",cdk().validateString)(properties.reportPlanName)),errors.collect(cdk().propertyValidator("reportPlanTags",cdk().listValidator(cdk().validateCfnTag))(properties.reportPlanTags)),errors.collect(cdk().propertyValidator("reportSetting",cdk().requiredValidator)(properties.reportSetting)),errors.collect(cdk().propertyValidator("reportSetting",cdk().validateObject)(properties.reportSetting)),errors.wrap('supplied properties not correct for "CfnReportPlanProps"')}function convertCfnReportPlanPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnReportPlanPropsValidator(properties).assertSuccess(),{ReportDeliveryChannel:cdk().objectToCloudFormation(properties.reportDeliveryChannel),ReportPlanDescription:cdk().stringToCloudFormation(properties.reportPlanDescription),ReportPlanName:cdk().stringToCloudFormation(properties.reportPlanName),ReportPlanTags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.reportPlanTags),ReportSetting:cdk().objectToCloudFormation(properties.reportSetting)}):properties}function CfnReportPlanPropsFromCloudFormation(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("reportDeliveryChannel","ReportDeliveryChannel",properties.ReportDeliveryChannel!=null?cfn_parse().FromCloudFormation.getAny(properties.ReportDeliveryChannel):void 0),ret.addPropertyResult("reportPlanDescription","ReportPlanDescription",properties.ReportPlanDescription!=null?cfn_parse().FromCloudFormation.getString(properties.ReportPlanDescription):void 0),ret.addPropertyResult("reportPlanName","ReportPlanName",properties.ReportPlanName!=null?cfn_parse().FromCloudFormation.getString(properties.ReportPlanName):void 0),ret.addPropertyResult("reportPlanTags","ReportPlanTags",properties.ReportPlanTags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.ReportPlanTags):void 0),ret.addPropertyResult("reportSetting","ReportSetting",properties.ReportSetting!=null?cfn_parse().FromCloudFormation.getAny(properties.ReportSetting):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnLogicallyAirGappedBackupVault extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_backup.CfnLogicallyAirGappedBackupVault",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Backup::LogicallyAirGappedBackupVault";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnLogicallyAirGappedBackupVaultPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnLogicallyAirGappedBackupVault(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 isCfnLogicallyAirGappedBackupVault(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnLogicallyAirGappedBackupVault.CFN_RESOURCE_TYPE_NAME}static fromBackupVaultName(scope,id,backupVaultName){class Import extends cdk().Resource{logicallyAirGappedBackupVaultRef;constructor(scope2,id2,backupVaultName2){super(scope2,id2),this.logicallyAirGappedBackupVaultRef={backupVaultName:backupVaultName2}}}return new Import(scope,id,backupVaultName)}static arnForLogicallyAirGappedBackupVault(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_backup_ILogicallyAirGappedBackupVaultRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForLogicallyAirGappedBackupVault),error}return new(cfn_parse()).TemplateString("arn:${Partition}:backup:${Region}:${Account}:backup-vault:${BackupVaultName}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,BackupVaultName:resource.logicallyAirGappedBackupVaultRef.backupVaultName})}_accessPolicy;_backupVaultName;_backupVaultTags;cdkTagManager;_encryptionKeyArn;_maxRetentionDays;_minRetentionDays;_mpaApprovalTeamArn;_notifications;cfnPropertyNames={accessPolicy:"AccessPolicy",backupVaultName:"BackupVaultName",backupVaultTags:"BackupVaultTags",encryptionKeyArn:"EncryptionKeyArn",maxRetentionDays:"MaxRetentionDays",minRetentionDays:"MinRetentionDays",mpaApprovalTeamArn:"MpaApprovalTeamArn",notifications:"Notifications"};constructor(scope,id,props){super(scope,id,{type:CfnLogicallyAirGappedBackupVault.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_backup_CfnLogicallyAirGappedBackupVaultProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnLogicallyAirGappedBackupVault),error}cdk().requireProperty(props,"backupVaultName",this),cdk().requireProperty(props,"maxRetentionDays",this),cdk().requireProperty(props,"minRetentionDays",this),this._accessPolicy=props.accessPolicy,this._backupVaultName=props.backupVaultName,this._backupVaultTags=props.backupVaultTags,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Backup::LogicallyAirGappedBackupVault",void 0,{tagPropertyName:"backupVaultTags"}),this._encryptionKeyArn=props.encryptionKeyArn,this._maxRetentionDays=props.maxRetentionDays,this._minRetentionDays=props.minRetentionDays,this._mpaApprovalTeamArn=props.mpaApprovalTeamArn,this._notifications=props.notifications}get logicallyAirGappedBackupVaultRef(){return{backupVaultName:this.ref}}get accessPolicy(){return this._accessPolicy}set accessPolicy(value){cdk().traceProperty(this.node,"AccessPolicy"),this._accessPolicy=value}get backupVaultName(){return this._backupVaultName}set backupVaultName(value){cdk().traceProperty(this.node,"BackupVaultName"),this._backupVaultName=value}get backupVaultTags(){return this._backupVaultTags}set backupVaultTags(value){cdk().traceProperty(this.node,"BackupVaultTags"),this._backupVaultTags=value}get encryptionKeyArn(){return this._encryptionKeyArn}set encryptionKeyArn(value){cdk().traceProperty(this.node,"EncryptionKeyArn"),this._encryptionKeyArn=value}get maxRetentionDays(){return this._maxRetentionDays}set maxRetentionDays(value){cdk().traceProperty(this.node,"MaxRetentionDays"),this._maxRetentionDays=value}get minRetentionDays(){return this._minRetentionDays}set minRetentionDays(value){cdk().traceProperty(this.node,"MinRetentionDays"),this._minRetentionDays=value}get mpaApprovalTeamArn(){return this._mpaApprovalTeamArn}set mpaApprovalTeamArn(value){cdk().traceProperty(this.node,"MpaApprovalTeamArn"),this._mpaApprovalTeamArn=value}get notifications(){return this._notifications}set notifications(value){cdk().traceProperty(this.node,"Notifications"),this._notifications=value}get attrBackupVaultArn(){return cdk().Token.asString(this.getAtt("BackupVaultArn",cdk().ResolutionTypeHint.STRING))}get attrVaultState(){return cdk().Token.asString(this.getAtt("VaultState",cdk().ResolutionTypeHint.STRING))}get attrVaultType(){return cdk().Token.asString(this.getAtt("VaultType",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{accessPolicy:this._accessPolicy,backupVaultName:this._backupVaultName,backupVaultTags:this.cdkTagManager.renderTags(this._backupVaultTags),encryptionKeyArn:this._encryptionKeyArn,maxRetentionDays:this._maxRetentionDays,minRetentionDays:this._minRetentionDays,mpaApprovalTeamArn:this._mpaApprovalTeamArn,notifications:this._notifications}}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",CfnLogicallyAirGappedBackupVault.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnLogicallyAirGappedBackupVaultPropsToCloudFormation(props)}}exports.CfnLogicallyAirGappedBackupVault=CfnLogicallyAirGappedBackupVault;function CfnLogicallyAirGappedBackupVaultNotificationObjectTypePropertyValidator(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("backupVaultEvents",cdk().requiredValidator)(properties.backupVaultEvents)),errors.collect(cdk().propertyValidator("backupVaultEvents",cdk().listValidator(cdk().validateString))(properties.backupVaultEvents)),errors.collect(cdk().propertyValidator("snsTopicArn",cdk().requiredValidator)(properties.snsTopicArn)),errors.collect(cdk().propertyValidator("snsTopicArn",cdk().validateString)(properties.snsTopicArn)),errors.wrap('supplied properties not correct for "NotificationObjectTypeProperty"')}function convertCfnLogicallyAirGappedBackupVaultNotificationObjectTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLogicallyAirGappedBackupVaultNotificationObjectTypePropertyValidator(properties).assertSuccess(),{BackupVaultEvents:cdk().listMapper(cdk().stringToCloudFormation)(properties.backupVaultEvents),SNSTopicArn:cdk().stringToCloudFormation(properties.snsTopicArn)}):properties}function CfnLogicallyAirGappedBackupVaultNotificationObjectTypePropertyFromCloudFormation(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("backupVaultEvents","BackupVaultEvents",properties.BackupVaultEvents!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.BackupVaultEvents):void 0),ret.addPropertyResult("snsTopicArn","SNSTopicArn",properties.SNSTopicArn!=null?cfn_parse().FromCloudFormation.getString(properties.SNSTopicArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnLogicallyAirGappedBackupVaultPropsValidator(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("accessPolicy",cdk().unionValidator(cdk().validateString,cdk().validateObject))(properties.accessPolicy)),errors.collect(cdk().propertyValidator("backupVaultName",cdk().requiredValidator)(properties.backupVaultName)),errors.collect(cdk().propertyValidator("backupVaultName",cdk().validateString)(properties.backupVaultName)),errors.collect(cdk().propertyValidator("backupVaultTags",cdk().hashValidator(cdk().validateString))(properties.backupVaultTags)),errors.collect(cdk().propertyValidator("encryptionKeyArn",cdk().validateString)(properties.encryptionKeyArn)),errors.collect(cdk().propertyValidator("maxRetentionDays",cdk().requiredValidator)(properties.maxRetentionDays)),errors.collect(cdk().propertyValidator("maxRetentionDays",cdk().validateNumber)(properties.maxRetentionDays)),errors.collect(cdk().propertyValidator("minRetentionDays",cdk().requiredValidator)(properties.minRetentionDays)),errors.collect(cdk().propertyValidator("minRetentionDays",cdk().validateNumber)(properties.minRetentionDays)),errors.collect(cdk().propertyValidator("mpaApprovalTeamArn",cdk().validateString)(properties.mpaApprovalTeamArn)),errors.collect(cdk().propertyValidator("notifications",CfnLogicallyAirGappedBackupVaultNotificationObjectTypePropertyValidator)(properties.notifications)),errors.wrap('supplied properties not correct for "CfnLogicallyAirGappedBackupVaultProps"')}function convertCfnLogicallyAirGappedBackupVaultPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnLogicallyAirGappedBackupVaultPropsValidator(properties).assertSuccess(),{AccessPolicy:cdk().unionMapper([cdk().validateString,cdk().validateObject],[cdk().stringToCloudFormation,cdk().objectToCloudFormation])(properties.accessPolicy),BackupVaultName:cdk().stringToCloudFormation(properties.backupVaultName),BackupVaultTags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.backupVaultTags),EncryptionKeyArn:cdk().stringToCloudFormation(properties.encryptionKeyArn),MaxRetentionDays:cdk().numberToCloudFormation(properties.maxRetentionDays),MinRetentionDays:cdk().numberToCloudFormation(properties.minRetentionDays),MpaApprovalTeamArn:cdk().stringToCloudFormation(properties.mpaApprovalTeamArn),Notifications:convertCfnLogicallyAirGappedBackupVaultNotificationObjectTypePropertyToCloudFormation(properties.notifications)}):properties}function CfnLogicallyAirGappedBackupVaultPropsFromCloudFormation(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("accessPolicy","AccessPolicy",properties.AccessPolicy!=null?cfn_parse().FromCloudFormation.getTypeUnion([cdk().validateString,cdk().validateObject],[cfn_parse().FromCloudFormation.getString,cfn_parse().FromCloudFormation.getAny])(properties.AccessPolicy):void 0),ret.addPropertyResult("backupVaultName","BackupVaultName",properties.BackupVaultName!=null?cfn_parse().FromCloudFormation.getString(properties.BackupVaultName):void 0),ret.addPropertyResult("backupVaultTags","BackupVaultTags",properties.BackupVaultTags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.BackupVaultTags):void 0),ret.addPropertyResult("encryptionKeyArn","EncryptionKeyArn",properties.EncryptionKeyArn!=null?cfn_parse().FromCloudFormation.getString(properties.EncryptionKeyArn):void 0),ret.addPropertyResult("maxRetentionDays","MaxRetentionDays",properties.MaxRetentionDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxRetentionDays):void 0),ret.addPropertyResult("minRetentionDays","MinRetentionDays",properties.MinRetentionDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinRetentionDays):void 0),ret.addPropertyResult("mpaApprovalTeamArn","MpaApprovalTeamArn",properties.MpaApprovalTeamArn!=null?cfn_parse().FromCloudFormation.getString(properties.MpaApprovalTeamArn):void 0),ret.addPropertyResult("notifications","Notifications",properties.Notifications!=null?CfnLogicallyAirGappedBackupVaultNotificationObjectTypePropertyFromCloudFormation(properties.Notifications):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnRestoreTestingPlan extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_backup.CfnRestoreTestingPlan",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Backup::RestoreTestingPlan";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRestoreTestingPlanPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnRestoreTestingPlan(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 isCfnRestoreTestingPlan(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnRestoreTestingPlan.CFN_RESOURCE_TYPE_NAME}static arnForRestoreTestingPlan(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_backup_IRestoreTestingPlanRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForRestoreTestingPlan),error}return resource.restoreTestingPlanRef.restoreTestingPlanArn}cdkTagManager;_recoveryPointSelection;_restoreTestingPlanName;_scheduleExpression;_scheduleExpressionTimezone;_startWindowHours;_tags;cfnPropertyNames={tags:"Tags",recoveryPointSelection:"RecoveryPointSelection",restoreTestingPlanName:"RestoreTestingPlanName",scheduleExpression:"ScheduleExpression",scheduleExpressionTimezone:"ScheduleExpressionTimezone",startWindowHours:"StartWindowHours"};constructor(scope,id,props){super(scope,id,{type:CfnRestoreTestingPlan.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_backup_CfnRestoreTestingPlanProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRestoreTestingPlan),error}cdk().requireProperty(props,"recoveryPointSelection",this),cdk().requireProperty(props,"restoreTestingPlanName",this),cdk().requireProperty(props,"scheduleExpression",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Backup::RestoreTestingPlan",void 0,{tagPropertyName:"tags"}),this._recoveryPointSelection=props.recoveryPointSelection,this._restoreTestingPlanName=props.restoreTestingPlanName,this._scheduleExpression=props.scheduleExpression,this._scheduleExpressionTimezone=props.scheduleExpressionTimezone,this._startWindowHours=props.startWindowHours,this._tags=props.tags}get restoreTestingPlanRef(){return{restoreTestingPlanName:this.ref,restoreTestingPlanArn:this.attrRestoreTestingPlanArn}}get recoveryPointSelection(){return this._recoveryPointSelection}set recoveryPointSelection(value){cdk().traceProperty(this.node,"RecoveryPointSelection"),this._recoveryPointSelection=value}get restoreTestingPlanName(){return this._restoreTestingPlanName}set restoreTestingPlanName(value){cdk().traceProperty(this.node,"RestoreTestingPlanName"),this._restoreTestingPlanName=value}get scheduleExpression(){return this._scheduleExpression}set scheduleExpression(value){cdk().traceProperty(this.node,"ScheduleExpression"),this._scheduleExpression=value}get scheduleExpressionTimezone(){return this._scheduleExpressionTimezone}set scheduleExpressionTimezone(value){cdk().traceProperty(this.node,"ScheduleExpressionTimezone"),this._scheduleExpressionTimezone=value}get startWindowHours(){return this._startWindowHours}set startWindowHours(value){cdk().traceProperty(this.node,"StartWindowHours"),this._startWindowHours=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrRestoreTestingPlanArn(){return cdk().Token.asString(this.getAtt("RestoreTestingPlanArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),recoveryPointSelection:this._recoveryPointSelection,restoreTestingPlanName:this._restoreTestingPlanName,scheduleExpression:this._scheduleExpression,scheduleExpressionTimezone:this._scheduleExpressionTimezone,startWindowHours:this._startWindowHours}}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",CfnRestoreTestingPlan.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnRestoreTestingPlanPropsToCloudFormation(props)}}exports.CfnRestoreTestingPlan=CfnRestoreTestingPlan;function CfnRestoreTestingPlanRestoreTestingRecoveryPointSelectionPropertyValidator(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("algorithm",cdk().requiredValidator)(properties.algorithm)),errors.collect(cdk().propertyValidator("algorithm",cdk().validateString)(properties.algorithm)),errors.collect(cdk().propertyValidator("excludeVaults",cdk().listValidator(cdk().validateString))(properties.excludeVaults)),errors.collect(cdk().propertyValidator("includeVaults",cdk().requiredValidator)(properties.includeVaults)),errors.collect(cdk().propertyValidator("includeVaults",cdk().listValidator(cdk().validateString))(properties.includeVaults)),errors.collect(cdk().propertyValidator("recoveryPointTypes",cdk().requiredValidator)(properties.recoveryPointTypes)),errors.collect(cdk().propertyValidator("recoveryPointTypes",cdk().listValidator(cdk().validateString))(properties.recoveryPointTypes)),errors.collect(cdk().propertyValidator("selectionWindowDays",cdk().validateNumber)(properties.selectionWindowDays)),errors.wrap('supplied properties not correct for "RestoreTestingRecoveryPointSelectionProperty"')}function convertCfnRestoreTestingPlanRestoreTestingRecoveryPointSelectionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRestoreTestingPlanRestoreTestingRecoveryPointSelectionPropertyValidator(properties).assertSuccess(),{Algorithm:cdk().stringToCloudFormation(properties.algorithm),ExcludeVaults:cdk().listMapper(cdk().stringToCloudFormation)(properties.excludeVaults),IncludeVaults:cdk().listMapper(cdk().stringToCloudFormation)(properties.includeVaults),RecoveryPointTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.recoveryPointTypes),SelectionWindowDays:cdk().numberToCloudFormation(properties.selectionWindowDays)}):properties}function CfnRestoreTestingPlanRestoreTestingRecoveryPointSelectionPropertyFromCloudFormation(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("algorithm","Algorithm",properties.Algorithm!=null?cfn_parse().FromCloudFormation.getString(properties.Algorithm):void 0),ret.addPropertyResult("excludeVaults","ExcludeVaults",properties.ExcludeVaults!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ExcludeVaults):void 0),ret.addPropertyResult("includeVaults","IncludeVaults",properties.IncludeVaults!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.IncludeVaults):void 0),ret.addPropertyResult("recoveryPointTypes","RecoveryPointTypes",properties.RecoveryPointTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.RecoveryPointTypes):void 0),ret.addPropertyResult("selectionWindowDays","SelectionWindowDays",properties.SelectionWindowDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.SelectionWindowDays):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRestoreTestingPlanPropsValidator(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("recoveryPointSelection",cdk().requiredValidator)(properties.recoveryPointSelection)),errors.collect(cdk().propertyValidator("recoveryPointSelection",CfnRestoreTestingPlanRestoreTestingRecoveryPointSelectionPropertyValidator)(properties.recoveryPointSelection)),errors.collect(cdk().propertyValidator("restoreTestingPlanName",cdk().requiredValidator)(properties.restoreTestingPlanName)),errors.collect(cdk().propertyValidator("restoreTestingPlanName",cdk().validateString)(properties.restoreTestingPlanName)),errors.collect(cdk().propertyValidator("scheduleExpression",cdk().requiredValidator)(properties.scheduleExpression)),errors.collect(cdk().propertyValidator("scheduleExpression",cdk().validateString)(properties.scheduleExpression)),errors.collect(cdk().propertyValidator("scheduleExpressionTimezone",cdk().validateString)(properties.scheduleExpressionTimezone)),errors.collect(cdk().propertyValidator("startWindowHours",cdk().validateNumber)(properties.startWindowHours)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnRestoreTestingPlanProps"')}function convertCfnRestoreTestingPlanPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRestoreTestingPlanPropsValidator(properties).assertSuccess(),{RecoveryPointSelection:convertCfnRestoreTestingPlanRestoreTestingRecoveryPointSelectionPropertyToCloudFormation(properties.recoveryPointSelection),RestoreTestingPlanName:cdk().stringToCloudFormation(properties.restoreTestingPlanName),ScheduleExpression:cdk().stringToCloudFormation(properties.scheduleExpression),ScheduleExpressionTimezone:cdk().stringToCloudFormation(properties.scheduleExpressionTimezone),StartWindowHours:cdk().numberToCloudFormation(properties.startWindowHours),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnRestoreTestingPlanPropsFromCloudFormation(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("recoveryPointSelection","RecoveryPointSelection",properties.RecoveryPointSelection!=null?CfnRestoreTestingPlanRestoreTestingRecoveryPointSelectionPropertyFromCloudFormation(properties.RecoveryPointSelection):void 0),ret.addPropertyResult("restoreTestingPlanName","RestoreTestingPlanName",properties.RestoreTestingPlanName!=null?cfn_parse().FromCloudFormation.getString(properties.RestoreTestingPlanName):void 0),ret.addPropertyResult("scheduleExpression","ScheduleExpression",properties.ScheduleExpression!=null?cfn_parse().FromCloudFormation.getString(properties.ScheduleExpression):void 0),ret.addPropertyResult("scheduleExpressionTimezone","ScheduleExpressionTimezone",properties.ScheduleExpressionTimezone!=null?cfn_parse().FromCloudFormation.getString(properties.ScheduleExpressionTimezone):void 0),ret.addPropertyResult("startWindowHours","StartWindowHours",properties.StartWindowHours!=null?cfn_parse().FromCloudFormation.getNumber(properties.StartWindowHours):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 CfnRestoreTestingSelection extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_backup.CfnRestoreTestingSelection",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Backup::RestoreTestingSelection";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRestoreTestingSelectionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnRestoreTestingSelection(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 isCfnRestoreTestingSelection(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnRestoreTestingSelection.CFN_RESOURCE_TYPE_NAME}_iamRoleArn;_protectedResourceArns;_protectedResourceConditions;_protectedResourceType;_restoreMetadataOverrides;_restoreTestingPlanName;_restoreTestingSelectionName;_validationWindowHours;cfnPropertyNames={iamRoleArn:"IamRoleArn",protectedResourceArns:"ProtectedResourceArns",protectedResourceConditions:"ProtectedResourceConditions",protectedResourceType:"ProtectedResourceType",restoreMetadataOverrides:"RestoreMetadataOverrides",restoreTestingPlanName:"RestoreTestingPlanName",restoreTestingSelectionName:"RestoreTestingSelectionName",validationWindowHours:"ValidationWindowHours"};constructor(scope,id,props){super(scope,id,{type:CfnRestoreTestingSelection.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_backup_CfnRestoreTestingSelectionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRestoreTestingSelection),error}cdk().requireProperty(props,"iamRoleArn",this),cdk().requireProperty(props,"protectedResourceType",this),cdk().requireProperty(props,"restoreTestingPlanName",this),cdk().requireProperty(props,"restoreTestingSelectionName",this),this._iamRoleArn=props.iamRoleArn,this._protectedResourceArns=props.protectedResourceArns,this._protectedResourceConditions=props.protectedResourceConditions,this._protectedResourceType=props.protectedResourceType,this._restoreMetadataOverrides=props.restoreMetadataOverrides,this._restoreTestingPlanName=props.restoreTestingPlanName,this._restoreTestingSelectionName=props.restoreTestingSelectionName,this._validationWindowHours=props.validationWindowHours}get restoreTestingSelectionRef(){return{restoreTestingPlanName:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),restoreTestingSelectionName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get iamRoleArn(){return this._iamRoleArn}set iamRoleArn(value){cdk().traceProperty(this.node,"IamRoleArn"),this._iamRoleArn=value}get protectedResourceArns(){return this._protectedResourceArns}set protectedResourceArns(value){cdk().traceProperty(this.node,"ProtectedResourceArns"),this._protectedResourceArns=value}get protectedResourceConditions(){return this._protectedResourceConditions}set protectedResourceConditions(value){cdk().traceProperty(this.node,"ProtectedResourceConditions"),this._protectedResourceConditions=value}get protectedResourceType(){return this._protectedResourceType}set protectedResourceType(value){cdk().traceProperty(this.node,"ProtectedResourceType"),this._protectedResourceType=value}get restoreMetadataOverrides(){return this._restoreMetadataOverrides}set restoreMetadataOverrides(value){cdk().traceProperty(this.node,"RestoreMetadataOverrides"),this._restoreMetadataOverrides=value}get restoreTestingPlanName(){return this._restoreTestingPlanName}set restoreTestingPlanName(value){cdk().traceProperty(this.node,"RestoreTestingPlanName"),this._restoreTestingPlanName=value}get restoreTestingSelectionName(){return this._restoreTestingSelectionName}set restoreTestingSelectionName(value){cdk().traceProperty(this.node,"RestoreTestingSelectionName"),this._restoreTestingSelectionName=value}get validationWindowHours(){return this._validationWindowHours}set validationWindowHours(value){cdk().traceProperty(this.node,"ValidationWindowHours"),this._validationWindowHours=value}get cfnProperties(){return{iamRoleArn:this._iamRoleArn,protectedResourceArns:this._protectedResourceArns,protectedResourceConditions:this._protectedResourceConditions,protectedResourceType:this._protectedResourceType,restoreMetadataOverrides:this._restoreMetadataOverrides,restoreTestingPlanName:this._restoreTestingPlanName,restoreTestingSelectionName:this._restoreTestingSelectionName,validationWindowHours:this._validationWindowHours}}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",CfnRestoreTestingSelection.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnRestoreTestingSelectionPropsToCloudFormation(props)}}exports.CfnRestoreTestingSelection=CfnRestoreTestingSelection;function CfnRestoreTestingSelectionKeyValuePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "KeyValueProperty"')}function convertCfnRestoreTestingSelectionKeyValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRestoreTestingSelectionKeyValuePropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnRestoreTestingSelectionKeyValuePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRestoreTestingSelectionProtectedResourceConditionsPropertyValidator(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("stringEquals",cdk().listValidator(CfnRestoreTestingSelectionKeyValuePropertyValidator))(properties.stringEquals)),errors.collect(cdk().propertyValidator("stringNotEquals",cdk().listValidator(CfnRestoreTestingSelectionKeyValuePropertyValidator))(properties.stringNotEquals)),errors.wrap('supplied properties not correct for "ProtectedResourceConditionsProperty"')}function convertCfnRestoreTestingSelectionProtectedResourceConditionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRestoreTestingSelectionProtectedResourceConditionsPropertyValidator(properties).assertSuccess(),{StringEquals:cdk().listMapper(convertCfnRestoreTestingSelectionKeyValuePropertyToCloudFormation)(properties.stringEquals),StringNotEquals:cdk().listMapper(convertCfnRestoreTestingSelectionKeyValuePropertyToCloudFormation)(properties.stringNotEquals)}):properties}function CfnRestoreTestingSelectionProtectedResourceConditionsPropertyFromCloudFormation(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("stringEquals","StringEquals",properties.StringEquals!=null?cfn_parse().FromCloudFormation.getArray(CfnRestoreTestingSelectionKeyValuePropertyFromCloudFormation)(properties.StringEquals):void 0),ret.addPropertyResult("stringNotEquals","StringNotEquals",properties.StringNotEquals!=null?cfn_parse().FromCloudFormation.getArray(CfnRestoreTestingSelectionKeyValuePropertyFromCloudFormation)(properties.StringNotEquals):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRestoreTestingSelectionPropsValidator(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("iamRoleArn",cdk().requiredValidator)(properties.iamRoleArn)),errors.collect(cdk().propertyValidator("iamRoleArn",cdk().validateString)(properties.iamRoleArn)),errors.collect(cdk().propertyValidator("protectedResourceArns",cdk().listValidator(cdk().validateString))(properties.protectedResourceArns)),errors.collect(cdk().propertyValidator("protectedResourceConditions",CfnRestoreTestingSelectionProtectedResourceConditionsPropertyValidator)(properties.protectedResourceConditions)),errors.collect(cdk().propertyValidator("protectedResourceType",cdk().requiredValidator)(properties.protectedResourceType)),errors.collect(cdk().propertyValidator("protectedResourceType",cdk().validateString)(properties.protectedResourceType)),errors.collect(cdk().propertyValidator("restoreMetadataOverrides",cdk().hashValidator(cdk().validateString))(properties.restoreMetadataOverrides)),errors.collect(cdk().propertyValidator("restoreTestingPlanName",cdk().requiredValidator)(properties.restoreTestingPlanName)),errors.collect(cdk().propertyValidator("restoreTestingPlanName",cdk().validateString)(properties.restoreTestingPlanName)),errors.collect(cdk().propertyValidator("restoreTestingSelectionName",cdk().requiredValidator)(properties.restoreTestingSelectionName)),errors.collect(cdk().propertyValidator("restoreTestingSelectionName",cdk().validateString)(properties.restoreTestingSelectionName)),errors.collect(cdk().propertyValidator("validationWindowHours",cdk().validateNumber)(properties.validationWindowHours)),errors.wrap('supplied properties not correct for "CfnRestoreTestingSelectionProps"')}function convertCfnRestoreTestingSelectionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRestoreTestingSelectionPropsValidator(properties).assertSuccess(),{IamRoleArn:cdk().stringToCloudFormation(properties.iamRoleArn),ProtectedResourceArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.protectedResourceArns),ProtectedResourceConditions:convertCfnRestoreTestingSelectionProtectedResourceConditionsPropertyToCloudFormation(properties.protectedResourceConditions),ProtectedResourceType:cdk().stringToCloudFormation(properties.protectedResourceType),RestoreMetadataOverrides:cdk().hashMapper(cdk().stringToCloudFormation)(properties.restoreMetadataOverrides),RestoreTestingPlanName:cdk().stringToCloudFormation(properties.restoreTestingPlanName),RestoreTestingSelectionName:cdk().stringToCloudFormation(properties.restoreTestingSelectionName),ValidationWindowHours:cdk().numberToCloudFormation(properties.validationWindowHours)}):properties}function CfnRestoreTestingSelectionPropsFromCloudFormation(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("iamRoleArn","IamRoleArn",properties.IamRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.IamRoleArn):void 0),ret.addPropertyResult("protectedResourceArns","ProtectedResourceArns",properties.ProtectedResourceArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ProtectedResourceArns):void 0),ret.addPropertyResult("protectedResourceConditions","ProtectedResourceConditions",properties.ProtectedResourceConditions!=null?CfnRestoreTestingSelectionProtectedResourceConditionsPropertyFromCloudFormation(properties.ProtectedResourceConditions):void 0),ret.addPropertyResult("protectedResourceType","ProtectedResourceType",properties.ProtectedResourceType!=null?cfn_parse().FromCloudFormation.getString(properties.ProtectedResourceType):void 0),ret.addPropertyResult("restoreMetadataOverrides","RestoreMetadataOverrides",properties.RestoreMetadataOverrides!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.RestoreMetadataOverrides):void 0),ret.addPropertyResult("restoreTestingPlanName","RestoreTestingPlanName",properties.RestoreTestingPlanName!=null?cfn_parse().FromCloudFormation.getString(properties.RestoreTestingPlanName):void 0),ret.addPropertyResult("restoreTestingSelectionName","RestoreTestingSelectionName",properties.RestoreTestingSelectionName!=null?cfn_parse().FromCloudFormation.getString(properties.RestoreTestingSelectionName):void 0),ret.addPropertyResult("validationWindowHours","ValidationWindowHours",properties.ValidationWindowHours!=null?cfn_parse().FromCloudFormation.getNumber(properties.ValidationWindowHours):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTieringConfiguration extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_backup.CfnTieringConfiguration",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Backup::TieringConfiguration";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTieringConfigurationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTieringConfiguration(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 isCfnTieringConfiguration(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTieringConfiguration.CFN_RESOURCE_TYPE_NAME}static arnForTieringConfiguration(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_backup_ITieringConfigurationRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForTieringConfiguration),error}return resource.tieringConfigurationRef.tieringConfigurationArn}_backupVaultName;cdkTagManager;_resourceSelection;_tieringConfigurationName;_tieringConfigurationTags;cfnPropertyNames={backupVaultName:"BackupVaultName",tieringConfigurationTags:"TieringConfigurationTags",resourceSelection:"ResourceSelection",tieringConfigurationName:"TieringConfigurationName"};constructor(scope,id,props){super(scope,id,{type:CfnTieringConfiguration.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_backup_CfnTieringConfigurationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTieringConfiguration),error}cdk().requireProperty(props,"backupVaultName",this),cdk().requireProperty(props,"resourceSelection",this),cdk().requireProperty(props,"tieringConfigurationName",this),this._backupVaultName=props.backupVaultName,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.MAP,"AWS::Backup::TieringConfiguration",void 0,{tagPropertyName:"tieringConfigurationTags"}),this._resourceSelection=props.resourceSelection,this._tieringConfigurationName=props.tieringConfigurationName,this._tieringConfigurationTags=props.tieringConfigurationTags}get tieringConfigurationRef(){return{tieringConfigurationName:this.ref,tieringConfigurationArn:this.attrTieringConfigurationArn}}get backupVaultName(){return this._backupVaultName}set backupVaultName(value){cdk().traceProperty(this.node,"BackupVaultName"),this._backupVaultName=value}get resourceSelection(){return this._resourceSelection}set resourceSelection(value){cdk().traceProperty(this.node,"ResourceSelection"),this._resourceSelection=value}get tieringConfigurationName(){return this._tieringConfigurationName}set tieringConfigurationName(value){cdk().traceProperty(this.node,"TieringConfigurationName"),this._tieringConfigurationName=value}get tieringConfigurationTags(){return this._tieringConfigurationTags}set tieringConfigurationTags(value){cdk().traceProperty(this.node,"TieringConfigurationTags"),this._tieringConfigurationTags=value}get attrCreationTime(){return cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING))}get attrLastUpdatedTime(){return cdk().Token.asString(this.getAtt("LastUpdatedTime",cdk().ResolutionTypeHint.STRING))}get attrTieringConfigurationArn(){return cdk().Token.asString(this.getAtt("TieringConfigurationArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{backupVaultName:this._backupVaultName,tieringConfigurationTags:this.cdkTagManager.renderTags(this._tieringConfigurationTags),resourceSelection:this._resourceSelection,tieringConfigurationName:this._tieringConfigurationName}}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",CfnTieringConfiguration.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTieringConfigurationPropsToCloudFormation(props)}}exports.CfnTieringConfiguration=CfnTieringConfiguration;function CfnTieringConfigurationResourceSelectionPropertyValidator(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("resourceType",cdk().requiredValidator)(properties.resourceType)),errors.collect(cdk().propertyValidator("resourceType",cdk().validateString)(properties.resourceType)),errors.collect(cdk().propertyValidator("resources",cdk().requiredValidator)(properties.resources)),errors.collect(cdk().propertyValidator("resources",cdk().listValidator(cdk().validateString))(properties.resources)),errors.collect(cdk().propertyValidator("tieringDownSettingsInDays",cdk().requiredValidator)(properties.tieringDownSettingsInDays)),errors.collect(cdk().propertyValidator("tieringDownSettingsInDays",cdk().validateNumber)(properties.tieringDownSettingsInDays)),errors.wrap('supplied properties not correct for "ResourceSelectionProperty"')}function convertCfnTieringConfigurationResourceSelectionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTieringConfigurationResourceSelectionPropertyValidator(properties).assertSuccess(),{ResourceType:cdk().stringToCloudFormation(properties.resourceType),Resources:cdk().listMapper(cdk().stringToCloudFormation)(properties.resources),TieringDownSettingsInDays:cdk().numberToCloudFormation(properties.tieringDownSettingsInDays)}):properties}function CfnTieringConfigurationResourceSelectionPropertyFromCloudFormation(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("resources","Resources",properties.Resources!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Resources):void 0),ret.addPropertyResult("resourceType","ResourceType",properties.ResourceType!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceType):void 0),ret.addPropertyResult("tieringDownSettingsInDays","TieringDownSettingsInDays",properties.TieringDownSettingsInDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.TieringDownSettingsInDays):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTieringConfigurationPropsValidator(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("backupVaultName",cdk().requiredValidator)(properties.backupVaultName)),errors.collect(cdk().propertyValidator("backupVaultName",cdk().validateString)(properties.backupVaultName)),errors.collect(cdk().propertyValidator("resourceSelection",cdk().requiredValidator)(properties.resourceSelection)),errors.collect(cdk().propertyValidator("resourceSelection",cdk().listValidator(CfnTieringConfigurationResourceSelectionPropertyValidator))(properties.resourceSelection)),errors.collect(cdk().propertyValidator("tieringConfigurationName",cdk().requiredValidator)(properties.tieringConfigurationName)),errors.collect(cdk().propertyValidator("tieringConfigurationName",cdk().validateString)(properties.tieringConfigurationName)),errors.collect(cdk().propertyValidator("tieringConfigurationTags",cdk().hashValidator(cdk().validateString))(properties.tieringConfigurationTags)),errors.wrap('supplied properties not correct for "CfnTieringConfigurationProps"')}function convertCfnTieringConfigurationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTieringConfigurationPropsValidator(properties).assertSuccess(),{BackupVaultName:cdk().stringToCloudFormation(properties.backupVaultName),ResourceSelection:cdk().listMapper(convertCfnTieringConfigurationResourceSelectionPropertyToCloudFormation)(properties.resourceSelection),TieringConfigurationName:cdk().stringToCloudFormation(properties.tieringConfigurationName),TieringConfigurationTags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.tieringConfigurationTags)}):properties}function CfnTieringConfigurationPropsFromCloudFormation(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("backupVaultName","BackupVaultName",properties.BackupVaultName!=null?cfn_parse().FromCloudFormation.getString(properties.BackupVaultName):void 0),ret.addPropertyResult("resourceSelection","ResourceSelection",properties.ResourceSelection!=null?cfn_parse().FromCloudFormation.getArray(CfnTieringConfigurationResourceSelectionPropertyFromCloudFormation)(properties.ResourceSelection):void 0),ret.addPropertyResult("tieringConfigurationName","TieringConfigurationName",properties.TieringConfigurationName!=null?cfn_parse().FromCloudFormation.getString(properties.TieringConfigurationName):void 0),ret.addPropertyResult("tieringConfigurationTags","TieringConfigurationTags",properties.TieringConfigurationTags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.TieringConfigurationTags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}