UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1 lines 51.8 kB
"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||(function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)Object.prototype.hasOwnProperty.call(o2,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k=ownKeys(mod),i=0;i<k.length;i++)k[i]!=="default"&&__createBinding(result,mod,k[i]);return __setModuleDefault(result,mod),result}})();Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnDashboard=void 0;var cdk=()=>{var tmp=__importStar(require("../../core/lib"));return cdk=()=>tmp,tmp},cfn_parse=()=>{var tmp=__importStar(require("../../core/lib/helpers-internal"));return cfn_parse=()=>tmp,tmp},cdk_errors=()=>{var tmp=__importStar(require("../../core/lib/errors"));return cdk_errors=()=>tmp,tmp};class CfnDashboard extends cdk().CfnResource{static CFN_RESOURCE_TYPE_NAME="AWS::BCM::Dashboard";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDashboardPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDashboard(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 isCfnDashboard(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDashboard.CFN_RESOURCE_TYPE_NAME}static arnForDashboard(resource){return resource.dashboardRef.dashboardArn}cdkTagManager;_description;_name;_tags;_widgets;cfnPropertyNames={tags:"Tags",description:"Description",name:"Name",widgets:"Widgets"};constructor(scope,id,props){super(scope,id,{type:CfnDashboard.CFN_RESOURCE_TYPE_NAME,properties:props}),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"widgets",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::BCM::Dashboard",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._name=props.name,this._tags=props.tags,this._widgets=props.widgets}get dashboardRef(){return{dashboardArn:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get widgets(){return this._widgets}set widgets(value){cdk().traceProperty(this.node,"Widgets"),this._widgets=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrType(){return cdk().Token.asString(this.getAtt("Type",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,name:this._name,widgets:this._widgets}}inspect(inspector){inspector.addAttribute("aws:cdk:cloudformation:type",CfnDashboard.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDashboardPropsToCloudFormation(props)}}exports.CfnDashboard=CfnDashboard;function CfnDashboardDateTimeValuePropertyValidator(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("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),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 "DateTimeValueProperty"')}function convertCfnDashboardDateTimeValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDateTimeValuePropertyValidator(properties).assertSuccess(),{Type:cdk().stringToCloudFormation(properties.type),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnDashboardDateTimeValuePropertyFromCloudFormation(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("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDateTimeRangePropertyValidator(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("endTime",cdk().requiredValidator)(properties.endTime)),errors.collect(cdk().propertyValidator("endTime",CfnDashboardDateTimeValuePropertyValidator)(properties.endTime)),errors.collect(cdk().propertyValidator("startTime",cdk().requiredValidator)(properties.startTime)),errors.collect(cdk().propertyValidator("startTime",CfnDashboardDateTimeValuePropertyValidator)(properties.startTime)),errors.wrap('supplied properties not correct for "DateTimeRangeProperty"')}function convertCfnDashboardDateTimeRangePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDateTimeRangePropertyValidator(properties).assertSuccess(),{EndTime:convertCfnDashboardDateTimeValuePropertyToCloudFormation(properties.endTime),StartTime:convertCfnDashboardDateTimeValuePropertyToCloudFormation(properties.startTime)}):properties}function CfnDashboardDateTimeRangePropertyFromCloudFormation(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("endTime","EndTime",properties.EndTime!=null?CfnDashboardDateTimeValuePropertyFromCloudFormation(properties.EndTime):void 0),ret.addPropertyResult("startTime","StartTime",properties.StartTime!=null?CfnDashboardDateTimeValuePropertyFromCloudFormation(properties.StartTime):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGroupDefinitionPropertyValidator(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("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "GroupDefinitionProperty"')}function convertCfnDashboardGroupDefinitionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGroupDefinitionPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnDashboardGroupDefinitionPropertyFromCloudFormation(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("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDimensionValuesPropertyValidator(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("matchOptions",cdk().listValidator(cdk().validateString))(properties.matchOptions)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "DimensionValuesProperty"')}function convertCfnDashboardDimensionValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDimensionValuesPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),MatchOptions:cdk().listMapper(cdk().stringToCloudFormation)(properties.matchOptions),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnDashboardDimensionValuesPropertyFromCloudFormation(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("matchOptions","MatchOptions",properties.MatchOptions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.MatchOptions):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardTagValuesPropertyValidator(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("matchOptions",cdk().listValidator(cdk().validateString))(properties.matchOptions)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "TagValuesProperty"')}function convertCfnDashboardTagValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardTagValuesPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),MatchOptions:cdk().listMapper(cdk().stringToCloudFormation)(properties.matchOptions),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnDashboardTagValuesPropertyFromCloudFormation(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("matchOptions","MatchOptions",properties.MatchOptions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.MatchOptions):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCostCategoryValuesPropertyValidator(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("matchOptions",cdk().listValidator(cdk().validateString))(properties.matchOptions)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "CostCategoryValuesProperty"')}function convertCfnDashboardCostCategoryValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCostCategoryValuesPropertyValidator(properties).assertSuccess(),{Key:cdk().stringToCloudFormation(properties.key),MatchOptions:cdk().listMapper(cdk().stringToCloudFormation)(properties.matchOptions),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnDashboardCostCategoryValuesPropertyFromCloudFormation(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("matchOptions","MatchOptions",properties.MatchOptions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.MatchOptions):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCostAndUsageExpressionPropertyValidator(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("and",cdk().listValidator(CfnDashboardCostAndUsageExpressionPropertyValidator))(properties.and)),errors.collect(cdk().propertyValidator("costCategories",CfnDashboardCostCategoryValuesPropertyValidator)(properties.costCategories)),errors.collect(cdk().propertyValidator("dimensions",CfnDashboardDimensionValuesPropertyValidator)(properties.dimensions)),errors.collect(cdk().propertyValidator("not",CfnDashboardCostAndUsageExpressionPropertyValidator)(properties.not)),errors.collect(cdk().propertyValidator("or",cdk().listValidator(CfnDashboardCostAndUsageExpressionPropertyValidator))(properties.or)),errors.collect(cdk().propertyValidator("tags",CfnDashboardTagValuesPropertyValidator)(properties.tags)),errors.wrap('supplied properties not correct for "CostAndUsageExpressionProperty"')}function convertCfnDashboardCostAndUsageExpressionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCostAndUsageExpressionPropertyValidator(properties).assertSuccess(),{And:cdk().listMapper(convertCfnDashboardCostAndUsageExpressionPropertyToCloudFormation)(properties.and),CostCategories:convertCfnDashboardCostCategoryValuesPropertyToCloudFormation(properties.costCategories),Dimensions:convertCfnDashboardDimensionValuesPropertyToCloudFormation(properties.dimensions),Not:convertCfnDashboardCostAndUsageExpressionPropertyToCloudFormation(properties.not),Or:cdk().listMapper(convertCfnDashboardCostAndUsageExpressionPropertyToCloudFormation)(properties.or),Tags:convertCfnDashboardTagValuesPropertyToCloudFormation(properties.tags)}):properties}function CfnDashboardCostAndUsageExpressionPropertyFromCloudFormation(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("and","And",properties.And!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardCostAndUsageExpressionPropertyFromCloudFormation)(properties.And):void 0),ret.addPropertyResult("costCategories","CostCategories",properties.CostCategories!=null?CfnDashboardCostCategoryValuesPropertyFromCloudFormation(properties.CostCategories):void 0),ret.addPropertyResult("dimensions","Dimensions",properties.Dimensions!=null?CfnDashboardDimensionValuesPropertyFromCloudFormation(properties.Dimensions):void 0),ret.addPropertyResult("not","Not",properties.Not!=null?CfnDashboardCostAndUsageExpressionPropertyFromCloudFormation(properties.Not):void 0),ret.addPropertyResult("or","Or",properties.Or!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardCostAndUsageExpressionPropertyFromCloudFormation)(properties.Or):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?CfnDashboardTagValuesPropertyFromCloudFormation(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardCostAndUsageQueryPropertyValidator(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("filter",CfnDashboardCostAndUsageExpressionPropertyValidator)(properties.filter)),errors.collect(cdk().propertyValidator("granularity",cdk().requiredValidator)(properties.granularity)),errors.collect(cdk().propertyValidator("granularity",cdk().validateString)(properties.granularity)),errors.collect(cdk().propertyValidator("groupBy",cdk().listValidator(CfnDashboardGroupDefinitionPropertyValidator))(properties.groupBy)),errors.collect(cdk().propertyValidator("metrics",cdk().requiredValidator)(properties.metrics)),errors.collect(cdk().propertyValidator("metrics",cdk().listValidator(cdk().validateString))(properties.metrics)),errors.collect(cdk().propertyValidator("timeRange",cdk().requiredValidator)(properties.timeRange)),errors.collect(cdk().propertyValidator("timeRange",CfnDashboardDateTimeRangePropertyValidator)(properties.timeRange)),errors.wrap('supplied properties not correct for "CostAndUsageQueryProperty"')}function convertCfnDashboardCostAndUsageQueryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardCostAndUsageQueryPropertyValidator(properties).assertSuccess(),{Filter:convertCfnDashboardCostAndUsageExpressionPropertyToCloudFormation(properties.filter),Granularity:cdk().stringToCloudFormation(properties.granularity),GroupBy:cdk().listMapper(convertCfnDashboardGroupDefinitionPropertyToCloudFormation)(properties.groupBy),Metrics:cdk().listMapper(cdk().stringToCloudFormation)(properties.metrics),TimeRange:convertCfnDashboardDateTimeRangePropertyToCloudFormation(properties.timeRange)}):properties}function CfnDashboardCostAndUsageQueryPropertyFromCloudFormation(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("filter","Filter",properties.Filter!=null?CfnDashboardCostAndUsageExpressionPropertyFromCloudFormation(properties.Filter):void 0),ret.addPropertyResult("granularity","Granularity",properties.Granularity!=null?cfn_parse().FromCloudFormation.getString(properties.Granularity):void 0),ret.addPropertyResult("groupBy","GroupBy",properties.GroupBy!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardGroupDefinitionPropertyFromCloudFormation)(properties.GroupBy):void 0),ret.addPropertyResult("metrics","Metrics",properties.Metrics!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Metrics):void 0),ret.addPropertyResult("timeRange","TimeRange",properties.TimeRange!=null?CfnDashboardDateTimeRangePropertyFromCloudFormation(properties.TimeRange):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardExpressionPropertyValidator(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("and",cdk().listValidator(CfnDashboardExpressionPropertyValidator))(properties.and)),errors.collect(cdk().propertyValidator("costCategories",CfnDashboardCostCategoryValuesPropertyValidator)(properties.costCategories)),errors.collect(cdk().propertyValidator("dimensions",CfnDashboardDimensionValuesPropertyValidator)(properties.dimensions)),errors.collect(cdk().propertyValidator("not",CfnDashboardExpressionPropertyValidator)(properties.not)),errors.collect(cdk().propertyValidator("tags",CfnDashboardTagValuesPropertyValidator)(properties.tags)),errors.wrap('supplied properties not correct for "ExpressionProperty"')}function convertCfnDashboardExpressionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardExpressionPropertyValidator(properties).assertSuccess(),{And:cdk().listMapper(convertCfnDashboardExpressionPropertyToCloudFormation)(properties.and),CostCategories:convertCfnDashboardCostCategoryValuesPropertyToCloudFormation(properties.costCategories),Dimensions:convertCfnDashboardDimensionValuesPropertyToCloudFormation(properties.dimensions),Not:convertCfnDashboardExpressionPropertyToCloudFormation(properties.not),Tags:convertCfnDashboardTagValuesPropertyToCloudFormation(properties.tags)}):properties}function CfnDashboardExpressionPropertyFromCloudFormation(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("and","And",properties.And!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardExpressionPropertyFromCloudFormation)(properties.And):void 0),ret.addPropertyResult("costCategories","CostCategories",properties.CostCategories!=null?CfnDashboardCostCategoryValuesPropertyFromCloudFormation(properties.CostCategories):void 0),ret.addPropertyResult("dimensions","Dimensions",properties.Dimensions!=null?CfnDashboardDimensionValuesPropertyFromCloudFormation(properties.Dimensions):void 0),ret.addPropertyResult("not","Not",properties.Not!=null?CfnDashboardExpressionPropertyFromCloudFormation(properties.Not):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?CfnDashboardTagValuesPropertyFromCloudFormation(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSavingsPlansCoverageQueryPropertyValidator(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("filter",CfnDashboardExpressionPropertyValidator)(properties.filter)),errors.collect(cdk().propertyValidator("granularity",cdk().validateString)(properties.granularity)),errors.collect(cdk().propertyValidator("groupBy",cdk().listValidator(CfnDashboardGroupDefinitionPropertyValidator))(properties.groupBy)),errors.collect(cdk().propertyValidator("metrics",cdk().listValidator(cdk().validateString))(properties.metrics)),errors.collect(cdk().propertyValidator("timeRange",cdk().requiredValidator)(properties.timeRange)),errors.collect(cdk().propertyValidator("timeRange",CfnDashboardDateTimeRangePropertyValidator)(properties.timeRange)),errors.wrap('supplied properties not correct for "SavingsPlansCoverageQueryProperty"')}function convertCfnDashboardSavingsPlansCoverageQueryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSavingsPlansCoverageQueryPropertyValidator(properties).assertSuccess(),{Filter:convertCfnDashboardExpressionPropertyToCloudFormation(properties.filter),Granularity:cdk().stringToCloudFormation(properties.granularity),GroupBy:cdk().listMapper(convertCfnDashboardGroupDefinitionPropertyToCloudFormation)(properties.groupBy),Metrics:cdk().listMapper(cdk().stringToCloudFormation)(properties.metrics),TimeRange:convertCfnDashboardDateTimeRangePropertyToCloudFormation(properties.timeRange)}):properties}function CfnDashboardSavingsPlansCoverageQueryPropertyFromCloudFormation(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("filter","Filter",properties.Filter!=null?CfnDashboardExpressionPropertyFromCloudFormation(properties.Filter):void 0),ret.addPropertyResult("granularity","Granularity",properties.Granularity!=null?cfn_parse().FromCloudFormation.getString(properties.Granularity):void 0),ret.addPropertyResult("groupBy","GroupBy",properties.GroupBy!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardGroupDefinitionPropertyFromCloudFormation)(properties.GroupBy):void 0),ret.addPropertyResult("metrics","Metrics",properties.Metrics!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Metrics):void 0),ret.addPropertyResult("timeRange","TimeRange",properties.TimeRange!=null?CfnDashboardDateTimeRangePropertyFromCloudFormation(properties.TimeRange):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardSavingsPlansUtilizationQueryPropertyValidator(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("filter",CfnDashboardExpressionPropertyValidator)(properties.filter)),errors.collect(cdk().propertyValidator("granularity",cdk().validateString)(properties.granularity)),errors.collect(cdk().propertyValidator("timeRange",cdk().requiredValidator)(properties.timeRange)),errors.collect(cdk().propertyValidator("timeRange",CfnDashboardDateTimeRangePropertyValidator)(properties.timeRange)),errors.wrap('supplied properties not correct for "SavingsPlansUtilizationQueryProperty"')}function convertCfnDashboardSavingsPlansUtilizationQueryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardSavingsPlansUtilizationQueryPropertyValidator(properties).assertSuccess(),{Filter:convertCfnDashboardExpressionPropertyToCloudFormation(properties.filter),Granularity:cdk().stringToCloudFormation(properties.granularity),TimeRange:convertCfnDashboardDateTimeRangePropertyToCloudFormation(properties.timeRange)}):properties}function CfnDashboardSavingsPlansUtilizationQueryPropertyFromCloudFormation(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("filter","Filter",properties.Filter!=null?CfnDashboardExpressionPropertyFromCloudFormation(properties.Filter):void 0),ret.addPropertyResult("granularity","Granularity",properties.Granularity!=null?cfn_parse().FromCloudFormation.getString(properties.Granularity):void 0),ret.addPropertyResult("timeRange","TimeRange",properties.TimeRange!=null?CfnDashboardDateTimeRangePropertyFromCloudFormation(properties.TimeRange):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardReservationCoverageQueryPropertyValidator(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("filter",CfnDashboardExpressionPropertyValidator)(properties.filter)),errors.collect(cdk().propertyValidator("granularity",cdk().validateString)(properties.granularity)),errors.collect(cdk().propertyValidator("groupBy",cdk().listValidator(CfnDashboardGroupDefinitionPropertyValidator))(properties.groupBy)),errors.collect(cdk().propertyValidator("metrics",cdk().listValidator(cdk().validateString))(properties.metrics)),errors.collect(cdk().propertyValidator("timeRange",cdk().requiredValidator)(properties.timeRange)),errors.collect(cdk().propertyValidator("timeRange",CfnDashboardDateTimeRangePropertyValidator)(properties.timeRange)),errors.wrap('supplied properties not correct for "ReservationCoverageQueryProperty"')}function convertCfnDashboardReservationCoverageQueryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardReservationCoverageQueryPropertyValidator(properties).assertSuccess(),{Filter:convertCfnDashboardExpressionPropertyToCloudFormation(properties.filter),Granularity:cdk().stringToCloudFormation(properties.granularity),GroupBy:cdk().listMapper(convertCfnDashboardGroupDefinitionPropertyToCloudFormation)(properties.groupBy),Metrics:cdk().listMapper(cdk().stringToCloudFormation)(properties.metrics),TimeRange:convertCfnDashboardDateTimeRangePropertyToCloudFormation(properties.timeRange)}):properties}function CfnDashboardReservationCoverageQueryPropertyFromCloudFormation(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("filter","Filter",properties.Filter!=null?CfnDashboardExpressionPropertyFromCloudFormation(properties.Filter):void 0),ret.addPropertyResult("granularity","Granularity",properties.Granularity!=null?cfn_parse().FromCloudFormation.getString(properties.Granularity):void 0),ret.addPropertyResult("groupBy","GroupBy",properties.GroupBy!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardGroupDefinitionPropertyFromCloudFormation)(properties.GroupBy):void 0),ret.addPropertyResult("metrics","Metrics",properties.Metrics!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Metrics):void 0),ret.addPropertyResult("timeRange","TimeRange",properties.TimeRange!=null?CfnDashboardDateTimeRangePropertyFromCloudFormation(properties.TimeRange):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardReservationUtilizationQueryPropertyValidator(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("filter",CfnDashboardExpressionPropertyValidator)(properties.filter)),errors.collect(cdk().propertyValidator("granularity",cdk().validateString)(properties.granularity)),errors.collect(cdk().propertyValidator("groupBy",cdk().listValidator(CfnDashboardGroupDefinitionPropertyValidator))(properties.groupBy)),errors.collect(cdk().propertyValidator("timeRange",cdk().requiredValidator)(properties.timeRange)),errors.collect(cdk().propertyValidator("timeRange",CfnDashboardDateTimeRangePropertyValidator)(properties.timeRange)),errors.wrap('supplied properties not correct for "ReservationUtilizationQueryProperty"')}function convertCfnDashboardReservationUtilizationQueryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardReservationUtilizationQueryPropertyValidator(properties).assertSuccess(),{Filter:convertCfnDashboardExpressionPropertyToCloudFormation(properties.filter),Granularity:cdk().stringToCloudFormation(properties.granularity),GroupBy:cdk().listMapper(convertCfnDashboardGroupDefinitionPropertyToCloudFormation)(properties.groupBy),TimeRange:convertCfnDashboardDateTimeRangePropertyToCloudFormation(properties.timeRange)}):properties}function CfnDashboardReservationUtilizationQueryPropertyFromCloudFormation(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("filter","Filter",properties.Filter!=null?CfnDashboardExpressionPropertyFromCloudFormation(properties.Filter):void 0),ret.addPropertyResult("granularity","Granularity",properties.Granularity!=null?cfn_parse().FromCloudFormation.getString(properties.Granularity):void 0),ret.addPropertyResult("groupBy","GroupBy",properties.GroupBy!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardGroupDefinitionPropertyFromCloudFormation)(properties.GroupBy):void 0),ret.addPropertyResult("timeRange","TimeRange",properties.TimeRange!=null?CfnDashboardDateTimeRangePropertyFromCloudFormation(properties.TimeRange):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardQueryParametersPropertyValidator(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("costAndUsage",CfnDashboardCostAndUsageQueryPropertyValidator)(properties.costAndUsage)),errors.collect(cdk().propertyValidator("reservationCoverage",CfnDashboardReservationCoverageQueryPropertyValidator)(properties.reservationCoverage)),errors.collect(cdk().propertyValidator("reservationUtilization",CfnDashboardReservationUtilizationQueryPropertyValidator)(properties.reservationUtilization)),errors.collect(cdk().propertyValidator("savingsPlansCoverage",CfnDashboardSavingsPlansCoverageQueryPropertyValidator)(properties.savingsPlansCoverage)),errors.collect(cdk().propertyValidator("savingsPlansUtilization",CfnDashboardSavingsPlansUtilizationQueryPropertyValidator)(properties.savingsPlansUtilization)),errors.wrap('supplied properties not correct for "QueryParametersProperty"')}function convertCfnDashboardQueryParametersPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardQueryParametersPropertyValidator(properties).assertSuccess(),{CostAndUsage:convertCfnDashboardCostAndUsageQueryPropertyToCloudFormation(properties.costAndUsage),ReservationCoverage:convertCfnDashboardReservationCoverageQueryPropertyToCloudFormation(properties.reservationCoverage),ReservationUtilization:convertCfnDashboardReservationUtilizationQueryPropertyToCloudFormation(properties.reservationUtilization),SavingsPlansCoverage:convertCfnDashboardSavingsPlansCoverageQueryPropertyToCloudFormation(properties.savingsPlansCoverage),SavingsPlansUtilization:convertCfnDashboardSavingsPlansUtilizationQueryPropertyToCloudFormation(properties.savingsPlansUtilization)}):properties}function CfnDashboardQueryParametersPropertyFromCloudFormation(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("costAndUsage","CostAndUsage",properties.CostAndUsage!=null?CfnDashboardCostAndUsageQueryPropertyFromCloudFormation(properties.CostAndUsage):void 0),ret.addPropertyResult("reservationCoverage","ReservationCoverage",properties.ReservationCoverage!=null?CfnDashboardReservationCoverageQueryPropertyFromCloudFormation(properties.ReservationCoverage):void 0),ret.addPropertyResult("reservationUtilization","ReservationUtilization",properties.ReservationUtilization!=null?CfnDashboardReservationUtilizationQueryPropertyFromCloudFormation(properties.ReservationUtilization):void 0),ret.addPropertyResult("savingsPlansCoverage","SavingsPlansCoverage",properties.SavingsPlansCoverage!=null?CfnDashboardSavingsPlansCoverageQueryPropertyFromCloudFormation(properties.SavingsPlansCoverage):void 0),ret.addPropertyResult("savingsPlansUtilization","SavingsPlansUtilization",properties.SavingsPlansUtilization!=null?CfnDashboardSavingsPlansUtilizationQueryPropertyFromCloudFormation(properties.SavingsPlansUtilization):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardGraphDisplayConfigPropertyValidator(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("visualType",cdk().requiredValidator)(properties.visualType)),errors.collect(cdk().propertyValidator("visualType",cdk().validateString)(properties.visualType)),errors.wrap('supplied properties not correct for "GraphDisplayConfigProperty"')}function convertCfnDashboardGraphDisplayConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardGraphDisplayConfigPropertyValidator(properties).assertSuccess(),{VisualType:cdk().stringToCloudFormation(properties.visualType)}):properties}function CfnDashboardGraphDisplayConfigPropertyFromCloudFormation(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("visualType","VisualType",properties.VisualType!=null?cfn_parse().FromCloudFormation.getString(properties.VisualType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardDisplayConfigPropertyValidator(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("graph",cdk().hashValidator(CfnDashboardGraphDisplayConfigPropertyValidator))(properties.graph)),errors.collect(cdk().propertyValidator("table",cdk().validateObject)(properties.table)),errors.wrap('supplied properties not correct for "DisplayConfigProperty"')}function convertCfnDashboardDisplayConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardDisplayConfigPropertyValidator(properties).assertSuccess(),{Graph:cdk().hashMapper(convertCfnDashboardGraphDisplayConfigPropertyToCloudFormation)(properties.graph),Table:cdk().objectToCloudFormation(properties.table)}):properties}function CfnDashboardDisplayConfigPropertyFromCloudFormation(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("graph","Graph",properties.Graph!=null?cfn_parse().FromCloudFormation.getMap(CfnDashboardGraphDisplayConfigPropertyFromCloudFormation)(properties.Graph):void 0),ret.addPropertyResult("table","Table",properties.Table!=null?cfn_parse().FromCloudFormation.getAny(properties.Table):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardWidgetConfigPropertyValidator(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("displayConfig",cdk().requiredValidator)(properties.displayConfig)),errors.collect(cdk().propertyValidator("displayConfig",CfnDashboardDisplayConfigPropertyValidator)(properties.displayConfig)),errors.collect(cdk().propertyValidator("queryParameters",cdk().requiredValidator)(properties.queryParameters)),errors.collect(cdk().propertyValidator("queryParameters",CfnDashboardQueryParametersPropertyValidator)(properties.queryParameters)),errors.wrap('supplied properties not correct for "WidgetConfigProperty"')}function convertCfnDashboardWidgetConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardWidgetConfigPropertyValidator(properties).assertSuccess(),{DisplayConfig:convertCfnDashboardDisplayConfigPropertyToCloudFormation(properties.displayConfig),QueryParameters:convertCfnDashboardQueryParametersPropertyToCloudFormation(properties.queryParameters)}):properties}function CfnDashboardWidgetConfigPropertyFromCloudFormation(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("displayConfig","DisplayConfig",properties.DisplayConfig!=null?CfnDashboardDisplayConfigPropertyFromCloudFormation(properties.DisplayConfig):void 0),ret.addPropertyResult("queryParameters","QueryParameters",properties.QueryParameters!=null?CfnDashboardQueryParametersPropertyFromCloudFormation(properties.QueryParameters):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardWidgetPropertyValidator(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("configs",cdk().requiredValidator)(properties.configs)),errors.collect(cdk().propertyValidator("configs",cdk().listValidator(CfnDashboardWidgetConfigPropertyValidator))(properties.configs)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("height",cdk().validateNumber)(properties.height)),errors.collect(cdk().propertyValidator("horizontalOffset",cdk().validateNumber)(properties.horizontalOffset)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("width",cdk().validateNumber)(properties.width)),errors.wrap('supplied properties not correct for "WidgetProperty"')}function convertCfnDashboardWidgetPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDashboardWidgetPropertyValidator(properties).assertSuccess(),{Configs:cdk().listMapper(convertCfnDashboardWidgetConfigPropertyToCloudFormation)(properties.configs),Description:cdk().stringToCloudFormation(properties.description),Height:cdk().numberToCloudFormation(properties.height),HorizontalOffset:cdk().numberToCloudFormation(properties.horizontalOffset),Title:cdk().stringToCloudFormation(properties.title),Width:cdk().numberToCloudFormation(properties.width)}):properties}function CfnDashboardWidgetPropertyFromCloudFormation(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("configs","Configs",properties.Configs!=null?cfn_parse().FromCloudFormation.getArray(CfnDashboardWidgetConfigPropertyFromCloudFormation)(properties.Configs):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("height","Height",properties.Height!=null?cfn_parse().FromCloudFormation.getNumber(properties.Height):void 0),ret.addPropertyResult("horizontalOffset","HorizontalOffset",properties.HorizontalOffset!=null?cfn_parse().FromCloudFormation.getNumber(properties.HorizontalOffset):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("width","Width",properties.Width!=null?cfn_parse().FromCloudFormation.getNumber(properties.Width):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDashboardPropsValidator(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("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.