UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

2 lines (1 loc) 26.5 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnAutomationRule=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 CfnAutomationRule extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_computeoptimizer.CfnAutomationRule",version:"2.246.0"};static CFN_RESOURCE_TYPE_NAME="AWS::ComputeOptimizer::AutomationRule";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAutomationRulePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("UnexpectedIResolvable","Unexpected IResolvable",scope);const ret=new CfnAutomationRule(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 isCfnAutomationRule(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAutomationRule.CFN_RESOURCE_TYPE_NAME}cdkTagManager;criteria;description;name;organizationConfiguration;priority;recommendedActionTypes;ruleType;schedule;status;tags;constructor(scope,id,props){super(scope,id,{type:CfnAutomationRule.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_computeoptimizer_CfnAutomationRuleProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAutomationRule),error}cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"recommendedActionTypes",this),cdk().requireProperty(props,"ruleType",this),cdk().requireProperty(props,"schedule",this),cdk().requireProperty(props,"status",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::ComputeOptimizer::AutomationRule",void 0,{tagPropertyName:"tags"}),this.criteria=props.criteria,this.description=props.description,this.name=props.name,this.organizationConfiguration=props.organizationConfiguration,this.priority=props.priority,this.recommendedActionTypes=props.recommendedActionTypes,this.ruleType=props.ruleType,this.schedule=props.schedule,this.status=props.status,this.tags=props.tags}get automationRuleRef(){return{ruleArn:this.ref}}get attrAccountId(){return cdk().Token.asString(this.getAtt("AccountId",cdk().ResolutionTypeHint.STRING))}get attrCreatedTimestamp(){return cdk().Token.asString(this.getAtt("CreatedTimestamp",cdk().ResolutionTypeHint.STRING))}get attrLastUpdatedTimestamp(){return cdk().Token.asString(this.getAtt("LastUpdatedTimestamp",cdk().ResolutionTypeHint.STRING))}get attrRuleArn(){return cdk().Token.asString(this.getAtt("RuleArn",cdk().ResolutionTypeHint.STRING))}get attrRuleId(){return cdk().Token.asString(this.getAtt("RuleId",cdk().ResolutionTypeHint.STRING))}get attrRuleRevision(){return cdk().Token.asString(this.getAtt("RuleRevision",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this.tags),criteria:this.criteria,description:this.description,name:this.name,organizationConfiguration:this.organizationConfiguration,priority:this.priority,recommendedActionTypes:this.recommendedActionTypes,ruleType:this.ruleType,schedule:this.schedule,status:this.status}}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",CfnAutomationRule.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAutomationRulePropsToCloudFormation(props)}}exports.CfnAutomationRule=CfnAutomationRule;function CfnAutomationRuleOrganizationConfigurationPropertyValidator(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("accountIds",cdk().listValidator(cdk().validateString))(properties.accountIds)),errors.collect(cdk().propertyValidator("ruleApplyOrder",cdk().validateString)(properties.ruleApplyOrder)),errors.wrap('supplied properties not correct for "OrganizationConfigurationProperty"')}function convertCfnAutomationRuleOrganizationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutomationRuleOrganizationConfigurationPropertyValidator(properties).assertSuccess(),{AccountIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.accountIds),RuleApplyOrder:cdk().stringToCloudFormation(properties.ruleApplyOrder)}):properties}function CfnAutomationRuleOrganizationConfigurationPropertyFromCloudFormation(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("accountIds","AccountIds",properties.AccountIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.AccountIds):void 0),ret.addPropertyResult("ruleApplyOrder","RuleApplyOrder",properties.RuleApplyOrder!=null?cfn_parse().FromCloudFormation.getString(properties.RuleApplyOrder):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutomationRuleSchedulePropertyValidator(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("executionWindowInMinutes",cdk().validateNumber)(properties.executionWindowInMinutes)),errors.collect(cdk().propertyValidator("scheduleExpression",cdk().validateString)(properties.scheduleExpression)),errors.collect(cdk().propertyValidator("scheduleExpressionTimezone",cdk().validateString)(properties.scheduleExpressionTimezone)),errors.wrap('supplied properties not correct for "ScheduleProperty"')}function convertCfnAutomationRuleSchedulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutomationRuleSchedulePropertyValidator(properties).assertSuccess(),{ExecutionWindowInMinutes:cdk().numberToCloudFormation(properties.executionWindowInMinutes),ScheduleExpression:cdk().stringToCloudFormation(properties.scheduleExpression),ScheduleExpressionTimezone:cdk().stringToCloudFormation(properties.scheduleExpressionTimezone)}):properties}function CfnAutomationRuleSchedulePropertyFromCloudFormation(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("executionWindowInMinutes","ExecutionWindowInMinutes",properties.ExecutionWindowInMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.ExecutionWindowInMinutes):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.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutomationRuleStringCriteriaConditionPropertyValidator(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("comparison",cdk().validateString)(properties.comparison)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "StringCriteriaConditionProperty"')}function convertCfnAutomationRuleStringCriteriaConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutomationRuleStringCriteriaConditionPropertyValidator(properties).assertSuccess(),{Comparison:cdk().stringToCloudFormation(properties.comparison),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnAutomationRuleStringCriteriaConditionPropertyFromCloudFormation(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("comparison","Comparison",properties.Comparison!=null?cfn_parse().FromCloudFormation.getString(properties.Comparison):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 CfnAutomationRuleIntegerCriteriaConditionPropertyValidator(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("comparison",cdk().validateString)(properties.comparison)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateNumber))(properties.values)),errors.wrap('supplied properties not correct for "IntegerCriteriaConditionProperty"')}function convertCfnAutomationRuleIntegerCriteriaConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutomationRuleIntegerCriteriaConditionPropertyValidator(properties).assertSuccess(),{Comparison:cdk().stringToCloudFormation(properties.comparison),Values:cdk().listMapper(cdk().numberToCloudFormation)(properties.values)}):properties}function CfnAutomationRuleIntegerCriteriaConditionPropertyFromCloudFormation(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("comparison","Comparison",properties.Comparison!=null?cfn_parse().FromCloudFormation.getString(properties.Comparison):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutomationRuleDoubleCriteriaConditionPropertyValidator(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("comparison",cdk().validateString)(properties.comparison)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateNumber))(properties.values)),errors.wrap('supplied properties not correct for "DoubleCriteriaConditionProperty"')}function convertCfnAutomationRuleDoubleCriteriaConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutomationRuleDoubleCriteriaConditionPropertyValidator(properties).assertSuccess(),{Comparison:cdk().stringToCloudFormation(properties.comparison),Values:cdk().listMapper(cdk().numberToCloudFormation)(properties.values)}):properties}function CfnAutomationRuleDoubleCriteriaConditionPropertyFromCloudFormation(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("comparison","Comparison",properties.Comparison!=null?cfn_parse().FromCloudFormation.getString(properties.Comparison):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutomationRuleResourceTagsCriteriaConditionPropertyValidator(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("comparison",cdk().validateString)(properties.comparison)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "ResourceTagsCriteriaConditionProperty"')}function convertCfnAutomationRuleResourceTagsCriteriaConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutomationRuleResourceTagsCriteriaConditionPropertyValidator(properties).assertSuccess(),{Comparison:cdk().stringToCloudFormation(properties.comparison),Key:cdk().stringToCloudFormation(properties.key),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnAutomationRuleResourceTagsCriteriaConditionPropertyFromCloudFormation(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("comparison","Comparison",properties.Comparison!=null?cfn_parse().FromCloudFormation.getString(properties.Comparison):void 0),ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):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 CfnAutomationRuleCriteriaPropertyValidator(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("ebsVolumeSizeInGib",cdk().listValidator(CfnAutomationRuleIntegerCriteriaConditionPropertyValidator))(properties.ebsVolumeSizeInGib)),errors.collect(cdk().propertyValidator("ebsVolumeType",cdk().listValidator(CfnAutomationRuleStringCriteriaConditionPropertyValidator))(properties.ebsVolumeType)),errors.collect(cdk().propertyValidator("estimatedMonthlySavings",cdk().listValidator(CfnAutomationRuleDoubleCriteriaConditionPropertyValidator))(properties.estimatedMonthlySavings)),errors.collect(cdk().propertyValidator("lookBackPeriodInDays",cdk().listValidator(CfnAutomationRuleIntegerCriteriaConditionPropertyValidator))(properties.lookBackPeriodInDays)),errors.collect(cdk().propertyValidator("region",cdk().listValidator(CfnAutomationRuleStringCriteriaConditionPropertyValidator))(properties.region)),errors.collect(cdk().propertyValidator("resourceArn",cdk().listValidator(CfnAutomationRuleStringCriteriaConditionPropertyValidator))(properties.resourceArn)),errors.collect(cdk().propertyValidator("resourceTag",cdk().listValidator(CfnAutomationRuleResourceTagsCriteriaConditionPropertyValidator))(properties.resourceTag)),errors.collect(cdk().propertyValidator("restartNeeded",cdk().listValidator(CfnAutomationRuleStringCriteriaConditionPropertyValidator))(properties.restartNeeded)),errors.wrap('supplied properties not correct for "CriteriaProperty"')}function convertCfnAutomationRuleCriteriaPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutomationRuleCriteriaPropertyValidator(properties).assertSuccess(),{EbsVolumeSizeInGib:cdk().listMapper(convertCfnAutomationRuleIntegerCriteriaConditionPropertyToCloudFormation)(properties.ebsVolumeSizeInGib),EbsVolumeType:cdk().listMapper(convertCfnAutomationRuleStringCriteriaConditionPropertyToCloudFormation)(properties.ebsVolumeType),EstimatedMonthlySavings:cdk().listMapper(convertCfnAutomationRuleDoubleCriteriaConditionPropertyToCloudFormation)(properties.estimatedMonthlySavings),LookBackPeriodInDays:cdk().listMapper(convertCfnAutomationRuleIntegerCriteriaConditionPropertyToCloudFormation)(properties.lookBackPeriodInDays),Region:cdk().listMapper(convertCfnAutomationRuleStringCriteriaConditionPropertyToCloudFormation)(properties.region),ResourceArn:cdk().listMapper(convertCfnAutomationRuleStringCriteriaConditionPropertyToCloudFormation)(properties.resourceArn),ResourceTag:cdk().listMapper(convertCfnAutomationRuleResourceTagsCriteriaConditionPropertyToCloudFormation)(properties.resourceTag),RestartNeeded:cdk().listMapper(convertCfnAutomationRuleStringCriteriaConditionPropertyToCloudFormation)(properties.restartNeeded)}):properties}function CfnAutomationRuleCriteriaPropertyFromCloudFormation(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("ebsVolumeSizeInGib","EbsVolumeSizeInGib",properties.EbsVolumeSizeInGib!=null?cfn_parse().FromCloudFormation.getArray(CfnAutomationRuleIntegerCriteriaConditionPropertyFromCloudFormation)(properties.EbsVolumeSizeInGib):void 0),ret.addPropertyResult("ebsVolumeType","EbsVolumeType",properties.EbsVolumeType!=null?cfn_parse().FromCloudFormation.getArray(CfnAutomationRuleStringCriteriaConditionPropertyFromCloudFormation)(properties.EbsVolumeType):void 0),ret.addPropertyResult("estimatedMonthlySavings","EstimatedMonthlySavings",properties.EstimatedMonthlySavings!=null?cfn_parse().FromCloudFormation.getArray(CfnAutomationRuleDoubleCriteriaConditionPropertyFromCloudFormation)(properties.EstimatedMonthlySavings):void 0),ret.addPropertyResult("lookBackPeriodInDays","LookBackPeriodInDays",properties.LookBackPeriodInDays!=null?cfn_parse().FromCloudFormation.getArray(CfnAutomationRuleIntegerCriteriaConditionPropertyFromCloudFormation)(properties.LookBackPeriodInDays):void 0),ret.addPropertyResult("region","Region",properties.Region!=null?cfn_parse().FromCloudFormation.getArray(CfnAutomationRuleStringCriteriaConditionPropertyFromCloudFormation)(properties.Region):void 0),ret.addPropertyResult("resourceArn","ResourceArn",properties.ResourceArn!=null?cfn_parse().FromCloudFormation.getArray(CfnAutomationRuleStringCriteriaConditionPropertyFromCloudFormation)(properties.ResourceArn):void 0),ret.addPropertyResult("resourceTag","ResourceTag",properties.ResourceTag!=null?cfn_parse().FromCloudFormation.getArray(CfnAutomationRuleResourceTagsCriteriaConditionPropertyFromCloudFormation)(properties.ResourceTag):void 0),ret.addPropertyResult("restartNeeded","RestartNeeded",properties.RestartNeeded!=null?cfn_parse().FromCloudFormation.getArray(CfnAutomationRuleStringCriteriaConditionPropertyFromCloudFormation)(properties.RestartNeeded):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnAutomationRulePropsValidator(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("criteria",CfnAutomationRuleCriteriaPropertyValidator)(properties.criteria)),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("organizationConfiguration",CfnAutomationRuleOrganizationConfigurationPropertyValidator)(properties.organizationConfiguration)),errors.collect(cdk().propertyValidator("priority",cdk().validateString)(properties.priority)),errors.collect(cdk().propertyValidator("recommendedActionTypes",cdk().requiredValidator)(properties.recommendedActionTypes)),errors.collect(cdk().propertyValidator("recommendedActionTypes",cdk().listValidator(cdk().validateString))(properties.recommendedActionTypes)),errors.collect(cdk().propertyValidator("ruleType",cdk().requiredValidator)(properties.ruleType)),errors.collect(cdk().propertyValidator("ruleType",cdk().validateString)(properties.ruleType)),errors.collect(cdk().propertyValidator("schedule",cdk().requiredValidator)(properties.schedule)),errors.collect(cdk().propertyValidator("schedule",CfnAutomationRuleSchedulePropertyValidator)(properties.schedule)),errors.collect(cdk().propertyValidator("status",cdk().requiredValidator)(properties.status)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnAutomationRuleProps"')}function convertCfnAutomationRulePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAutomationRulePropsValidator(properties).assertSuccess(),{Criteria:convertCfnAutomationRuleCriteriaPropertyToCloudFormation(properties.criteria),Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),OrganizationConfiguration:convertCfnAutomationRuleOrganizationConfigurationPropertyToCloudFormation(properties.organizationConfiguration),Priority:cdk().stringToCloudFormation(properties.priority),RecommendedActionTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.recommendedActionTypes),RuleType:cdk().stringToCloudFormation(properties.ruleType),Schedule:convertCfnAutomationRuleSchedulePropertyToCloudFormation(properties.schedule),Status:cdk().stringToCloudFormation(properties.status),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnAutomationRulePropsFromCloudFormation(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("criteria","Criteria",properties.Criteria!=null?CfnAutomationRuleCriteriaPropertyFromCloudFormation(properties.Criteria):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("organizationConfiguration","OrganizationConfiguration",properties.OrganizationConfiguration!=null?CfnAutomationRuleOrganizationConfigurationPropertyFromCloudFormation(properties.OrganizationConfiguration):void 0),ret.addPropertyResult("priority","Priority",properties.Priority!=null?cfn_parse().FromCloudFormation.getString(properties.Priority):void 0),ret.addPropertyResult("recommendedActionTypes","RecommendedActionTypes",properties.RecommendedActionTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.RecommendedActionTypes):void 0),ret.addPropertyResult("ruleType","RuleType",properties.RuleType!=null?cfn_parse().FromCloudFormation.getString(properties.RuleType):void 0),ret.addPropertyResult("schedule","Schedule",properties.Schedule!=null?CfnAutomationRuleSchedulePropertyFromCloudFormation(properties.Schedule):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):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}