aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
2 lines (1 loc) • 48.5 kB
JavaScript
"use strict";var _a,_b,_c,_d;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnRotation=exports.CfnPlan=exports.CfnContactChannel=exports.CfnContact=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");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 CfnContact extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnContactPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnContact(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}constructor(scope,id,props){super(scope,id,{type:CfnContact.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ssmcontacts_CfnContactProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnContact),error}cdk().requireProperty(props,"alias",this),cdk().requireProperty(props,"displayName",this),cdk().requireProperty(props,"type",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.alias=props.alias,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::SSMContacts::Contact",void 0,{tagPropertyName:"tags"}),this.displayName=props.displayName,this.plan=props.plan,this.tags=props.tags,this.type=props.type}get cfnProperties(){return{alias:this.alias,tags:this.cdkTagManager.renderTags(this.tags),displayName:this.displayName,plan:this.plan,type:this.type}}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",CfnContact.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnContactPropsToCloudFormation(props)}}exports.CfnContact=CfnContact,_a=JSII_RTTI_SYMBOL_1,CfnContact[_a]={fqn:"aws-cdk-lib.aws_ssmcontacts.CfnContact",version:"2.202.0"},CfnContact.CFN_RESOURCE_TYPE_NAME="AWS::SSMContacts::Contact";function CfnContactChannelTargetInfoPropertyValidator(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("channelId",cdk().requiredValidator)(properties.channelId)),errors.collect(cdk().propertyValidator("channelId",cdk().validateString)(properties.channelId)),errors.collect(cdk().propertyValidator("retryIntervalInMinutes",cdk().requiredValidator)(properties.retryIntervalInMinutes)),errors.collect(cdk().propertyValidator("retryIntervalInMinutes",cdk().validateNumber)(properties.retryIntervalInMinutes)),errors.wrap('supplied properties not correct for "ChannelTargetInfoProperty"')}function convertCfnContactChannelTargetInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContactChannelTargetInfoPropertyValidator(properties).assertSuccess(),{ChannelId:cdk().stringToCloudFormation(properties.channelId),RetryIntervalInMinutes:cdk().numberToCloudFormation(properties.retryIntervalInMinutes)}):properties}function CfnContactChannelTargetInfoPropertyFromCloudFormation(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("channelId","ChannelId",properties.ChannelId!=null?cfn_parse().FromCloudFormation.getString(properties.ChannelId):void 0),ret.addPropertyResult("retryIntervalInMinutes","RetryIntervalInMinutes",properties.RetryIntervalInMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.RetryIntervalInMinutes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContactContactTargetInfoPropertyValidator(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("contactId",cdk().requiredValidator)(properties.contactId)),errors.collect(cdk().propertyValidator("contactId",cdk().validateString)(properties.contactId)),errors.collect(cdk().propertyValidator("isEssential",cdk().requiredValidator)(properties.isEssential)),errors.collect(cdk().propertyValidator("isEssential",cdk().validateBoolean)(properties.isEssential)),errors.wrap('supplied properties not correct for "ContactTargetInfoProperty"')}function convertCfnContactContactTargetInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContactContactTargetInfoPropertyValidator(properties).assertSuccess(),{ContactId:cdk().stringToCloudFormation(properties.contactId),IsEssential:cdk().booleanToCloudFormation(properties.isEssential)}):properties}function CfnContactContactTargetInfoPropertyFromCloudFormation(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("contactId","ContactId",properties.ContactId!=null?cfn_parse().FromCloudFormation.getString(properties.ContactId):void 0),ret.addPropertyResult("isEssential","IsEssential",properties.IsEssential!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IsEssential):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContactTargetsPropertyValidator(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("channelTargetInfo",CfnContactChannelTargetInfoPropertyValidator)(properties.channelTargetInfo)),errors.collect(cdk().propertyValidator("contactTargetInfo",CfnContactContactTargetInfoPropertyValidator)(properties.contactTargetInfo)),errors.wrap('supplied properties not correct for "TargetsProperty"')}function convertCfnContactTargetsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContactTargetsPropertyValidator(properties).assertSuccess(),{ChannelTargetInfo:convertCfnContactChannelTargetInfoPropertyToCloudFormation(properties.channelTargetInfo),ContactTargetInfo:convertCfnContactContactTargetInfoPropertyToCloudFormation(properties.contactTargetInfo)}):properties}function CfnContactTargetsPropertyFromCloudFormation(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("channelTargetInfo","ChannelTargetInfo",properties.ChannelTargetInfo!=null?CfnContactChannelTargetInfoPropertyFromCloudFormation(properties.ChannelTargetInfo):void 0),ret.addPropertyResult("contactTargetInfo","ContactTargetInfo",properties.ContactTargetInfo!=null?CfnContactContactTargetInfoPropertyFromCloudFormation(properties.ContactTargetInfo):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContactStagePropertyValidator(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("durationInMinutes",cdk().validateNumber)(properties.durationInMinutes)),errors.collect(cdk().propertyValidator("rotationIds",cdk().listValidator(cdk().validateString))(properties.rotationIds)),errors.collect(cdk().propertyValidator("targets",cdk().listValidator(CfnContactTargetsPropertyValidator))(properties.targets)),errors.wrap('supplied properties not correct for "StageProperty"')}function convertCfnContactStagePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContactStagePropertyValidator(properties).assertSuccess(),{DurationInMinutes:cdk().numberToCloudFormation(properties.durationInMinutes),RotationIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.rotationIds),Targets:cdk().listMapper(convertCfnContactTargetsPropertyToCloudFormation)(properties.targets)}):properties}function CfnContactStagePropertyFromCloudFormation(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("durationInMinutes","DurationInMinutes",properties.DurationInMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.DurationInMinutes):void 0),ret.addPropertyResult("rotationIds","RotationIds",properties.RotationIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.RotationIds):void 0),ret.addPropertyResult("targets","Targets",properties.Targets!=null?cfn_parse().FromCloudFormation.getArray(CfnContactTargetsPropertyFromCloudFormation)(properties.Targets):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContactPropsValidator(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("alias",cdk().requiredValidator)(properties.alias)),errors.collect(cdk().propertyValidator("alias",cdk().validateString)(properties.alias)),errors.collect(cdk().propertyValidator("displayName",cdk().requiredValidator)(properties.displayName)),errors.collect(cdk().propertyValidator("displayName",cdk().validateString)(properties.displayName)),errors.collect(cdk().propertyValidator("plan",cdk().listValidator(CfnContactStagePropertyValidator))(properties.plan)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "CfnContactProps"')}function convertCfnContactPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContactPropsValidator(properties).assertSuccess(),{Alias:cdk().stringToCloudFormation(properties.alias),DisplayName:cdk().stringToCloudFormation(properties.displayName),Plan:cdk().listMapper(convertCfnContactStagePropertyToCloudFormation)(properties.plan),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnContactPropsFromCloudFormation(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("alias","Alias",properties.Alias!=null?cfn_parse().FromCloudFormation.getString(properties.Alias):void 0),ret.addPropertyResult("displayName","DisplayName",properties.DisplayName!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayName):void 0),ret.addPropertyResult("plan","Plan",properties.Plan!=null?cfn_parse().FromCloudFormation.getArray(CfnContactStagePropertyFromCloudFormation)(properties.Plan):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnContactChannel extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnContactChannelPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnContactChannel(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}constructor(scope,id,props){super(scope,id,{type:CfnContactChannel.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ssmcontacts_CfnContactChannelProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnContactChannel),error}cdk().requireProperty(props,"channelAddress",this),cdk().requireProperty(props,"channelName",this),cdk().requireProperty(props,"channelType",this),cdk().requireProperty(props,"contactId",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.channelAddress=props.channelAddress,this.channelName=props.channelName,this.channelType=props.channelType,this.contactId=props.contactId,this.deferActivation=props.deferActivation}get cfnProperties(){return{channelAddress:this.channelAddress,channelName:this.channelName,channelType:this.channelType,contactId:this.contactId,deferActivation:this.deferActivation}}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",CfnContactChannel.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnContactChannelPropsToCloudFormation(props)}}exports.CfnContactChannel=CfnContactChannel,_b=JSII_RTTI_SYMBOL_1,CfnContactChannel[_b]={fqn:"aws-cdk-lib.aws_ssmcontacts.CfnContactChannel",version:"2.202.0"},CfnContactChannel.CFN_RESOURCE_TYPE_NAME="AWS::SSMContacts::ContactChannel";function CfnContactChannelPropsValidator(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("channelAddress",cdk().requiredValidator)(properties.channelAddress)),errors.collect(cdk().propertyValidator("channelAddress",cdk().validateString)(properties.channelAddress)),errors.collect(cdk().propertyValidator("channelName",cdk().requiredValidator)(properties.channelName)),errors.collect(cdk().propertyValidator("channelName",cdk().validateString)(properties.channelName)),errors.collect(cdk().propertyValidator("channelType",cdk().requiredValidator)(properties.channelType)),errors.collect(cdk().propertyValidator("channelType",cdk().validateString)(properties.channelType)),errors.collect(cdk().propertyValidator("contactId",cdk().requiredValidator)(properties.contactId)),errors.collect(cdk().propertyValidator("contactId",cdk().validateString)(properties.contactId)),errors.collect(cdk().propertyValidator("deferActivation",cdk().validateBoolean)(properties.deferActivation)),errors.wrap('supplied properties not correct for "CfnContactChannelProps"')}function convertCfnContactChannelPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContactChannelPropsValidator(properties).assertSuccess(),{ChannelAddress:cdk().stringToCloudFormation(properties.channelAddress),ChannelName:cdk().stringToCloudFormation(properties.channelName),ChannelType:cdk().stringToCloudFormation(properties.channelType),ContactId:cdk().stringToCloudFormation(properties.contactId),DeferActivation:cdk().booleanToCloudFormation(properties.deferActivation)}):properties}function CfnContactChannelPropsFromCloudFormation(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("channelAddress","ChannelAddress",properties.ChannelAddress!=null?cfn_parse().FromCloudFormation.getString(properties.ChannelAddress):void 0),ret.addPropertyResult("channelName","ChannelName",properties.ChannelName!=null?cfn_parse().FromCloudFormation.getString(properties.ChannelName):void 0),ret.addPropertyResult("channelType","ChannelType",properties.ChannelType!=null?cfn_parse().FromCloudFormation.getString(properties.ChannelType):void 0),ret.addPropertyResult("contactId","ContactId",properties.ContactId!=null?cfn_parse().FromCloudFormation.getString(properties.ContactId):void 0),ret.addPropertyResult("deferActivation","DeferActivation",properties.DeferActivation!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DeferActivation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPlan extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPlanPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnPlan(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}constructor(scope,id,props){super(scope,id,{type:CfnPlan.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ssmcontacts_CfnPlanProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPlan),error}cdk().requireProperty(props,"contactId",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.contactId=props.contactId,this.rotationIds=props.rotationIds,this.stages=props.stages}get cfnProperties(){return{contactId:this.contactId,rotationIds:this.rotationIds,stages:this.stages}}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",CfnPlan.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPlanPropsToCloudFormation(props)}}exports.CfnPlan=CfnPlan,_c=JSII_RTTI_SYMBOL_1,CfnPlan[_c]={fqn:"aws-cdk-lib.aws_ssmcontacts.CfnPlan",version:"2.202.0"},CfnPlan.CFN_RESOURCE_TYPE_NAME="AWS::SSMContacts::Plan";function CfnPlanChannelTargetInfoPropertyValidator(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("channelId",cdk().requiredValidator)(properties.channelId)),errors.collect(cdk().propertyValidator("channelId",cdk().validateString)(properties.channelId)),errors.collect(cdk().propertyValidator("retryIntervalInMinutes",cdk().requiredValidator)(properties.retryIntervalInMinutes)),errors.collect(cdk().propertyValidator("retryIntervalInMinutes",cdk().validateNumber)(properties.retryIntervalInMinutes)),errors.wrap('supplied properties not correct for "ChannelTargetInfoProperty"')}function convertCfnPlanChannelTargetInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanChannelTargetInfoPropertyValidator(properties).assertSuccess(),{ChannelId:cdk().stringToCloudFormation(properties.channelId),RetryIntervalInMinutes:cdk().numberToCloudFormation(properties.retryIntervalInMinutes)}):properties}function CfnPlanChannelTargetInfoPropertyFromCloudFormation(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("channelId","ChannelId",properties.ChannelId!=null?cfn_parse().FromCloudFormation.getString(properties.ChannelId):void 0),ret.addPropertyResult("retryIntervalInMinutes","RetryIntervalInMinutes",properties.RetryIntervalInMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.RetryIntervalInMinutes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanContactTargetInfoPropertyValidator(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("contactId",cdk().requiredValidator)(properties.contactId)),errors.collect(cdk().propertyValidator("contactId",cdk().validateString)(properties.contactId)),errors.collect(cdk().propertyValidator("isEssential",cdk().requiredValidator)(properties.isEssential)),errors.collect(cdk().propertyValidator("isEssential",cdk().validateBoolean)(properties.isEssential)),errors.wrap('supplied properties not correct for "ContactTargetInfoProperty"')}function convertCfnPlanContactTargetInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanContactTargetInfoPropertyValidator(properties).assertSuccess(),{ContactId:cdk().stringToCloudFormation(properties.contactId),IsEssential:cdk().booleanToCloudFormation(properties.isEssential)}):properties}function CfnPlanContactTargetInfoPropertyFromCloudFormation(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("contactId","ContactId",properties.ContactId!=null?cfn_parse().FromCloudFormation.getString(properties.ContactId):void 0),ret.addPropertyResult("isEssential","IsEssential",properties.IsEssential!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IsEssential):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanTargetsPropertyValidator(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("channelTargetInfo",CfnPlanChannelTargetInfoPropertyValidator)(properties.channelTargetInfo)),errors.collect(cdk().propertyValidator("contactTargetInfo",CfnPlanContactTargetInfoPropertyValidator)(properties.contactTargetInfo)),errors.wrap('supplied properties not correct for "TargetsProperty"')}function convertCfnPlanTargetsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanTargetsPropertyValidator(properties).assertSuccess(),{ChannelTargetInfo:convertCfnPlanChannelTargetInfoPropertyToCloudFormation(properties.channelTargetInfo),ContactTargetInfo:convertCfnPlanContactTargetInfoPropertyToCloudFormation(properties.contactTargetInfo)}):properties}function CfnPlanTargetsPropertyFromCloudFormation(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("channelTargetInfo","ChannelTargetInfo",properties.ChannelTargetInfo!=null?CfnPlanChannelTargetInfoPropertyFromCloudFormation(properties.ChannelTargetInfo):void 0),ret.addPropertyResult("contactTargetInfo","ContactTargetInfo",properties.ContactTargetInfo!=null?CfnPlanContactTargetInfoPropertyFromCloudFormation(properties.ContactTargetInfo):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanStagePropertyValidator(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("durationInMinutes",cdk().requiredValidator)(properties.durationInMinutes)),errors.collect(cdk().propertyValidator("durationInMinutes",cdk().validateNumber)(properties.durationInMinutes)),errors.collect(cdk().propertyValidator("targets",cdk().listValidator(CfnPlanTargetsPropertyValidator))(properties.targets)),errors.wrap('supplied properties not correct for "StageProperty"')}function convertCfnPlanStagePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanStagePropertyValidator(properties).assertSuccess(),{DurationInMinutes:cdk().numberToCloudFormation(properties.durationInMinutes),Targets:cdk().listMapper(convertCfnPlanTargetsPropertyToCloudFormation)(properties.targets)}):properties}function CfnPlanStagePropertyFromCloudFormation(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("durationInMinutes","DurationInMinutes",properties.DurationInMinutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.DurationInMinutes):void 0),ret.addPropertyResult("targets","Targets",properties.Targets!=null?cfn_parse().FromCloudFormation.getArray(CfnPlanTargetsPropertyFromCloudFormation)(properties.Targets):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPlanPropsValidator(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("contactId",cdk().requiredValidator)(properties.contactId)),errors.collect(cdk().propertyValidator("contactId",cdk().validateString)(properties.contactId)),errors.collect(cdk().propertyValidator("rotationIds",cdk().listValidator(cdk().validateString))(properties.rotationIds)),errors.collect(cdk().propertyValidator("stages",cdk().listValidator(CfnPlanStagePropertyValidator))(properties.stages)),errors.wrap('supplied properties not correct for "CfnPlanProps"')}function convertCfnPlanPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPlanPropsValidator(properties).assertSuccess(),{ContactId:cdk().stringToCloudFormation(properties.contactId),RotationIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.rotationIds),Stages:cdk().listMapper(convertCfnPlanStagePropertyToCloudFormation)(properties.stages)}):properties}function CfnPlanPropsFromCloudFormation(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("contactId","ContactId",properties.ContactId!=null?cfn_parse().FromCloudFormation.getString(properties.ContactId):void 0),ret.addPropertyResult("rotationIds","RotationIds",properties.RotationIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.RotationIds):void 0),ret.addPropertyResult("stages","Stages",properties.Stages!=null?cfn_parse().FromCloudFormation.getArray(CfnPlanStagePropertyFromCloudFormation)(properties.Stages):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnRotation extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRotationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnRotation(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}constructor(scope,id,props){super(scope,id,{type:CfnRotation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_ssmcontacts_CfnRotationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRotation),error}cdk().requireProperty(props,"contactIds",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"recurrence",this),cdk().requireProperty(props,"startTime",this),cdk().requireProperty(props,"timeZoneId",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.contactIds=props.contactIds,this.name=props.name,this.recurrence=props.recurrence,this.startTime=props.startTime,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::SSMContacts::Rotation",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags,this.timeZoneId=props.timeZoneId}get cfnProperties(){return{contactIds:this.contactIds,name:this.name,recurrence:this.recurrence,startTime:this.startTime,tags:this.tags.renderTags(),timeZoneId:this.timeZoneId}}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",CfnRotation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnRotationPropsToCloudFormation(props)}}exports.CfnRotation=CfnRotation,_d=JSII_RTTI_SYMBOL_1,CfnRotation[_d]={fqn:"aws-cdk-lib.aws_ssmcontacts.CfnRotation",version:"2.202.0"},CfnRotation.CFN_RESOURCE_TYPE_NAME="AWS::SSMContacts::Rotation";function CfnRotationCoverageTimePropertyValidator(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",cdk().validateString)(properties.endTime)),errors.collect(cdk().propertyValidator("startTime",cdk().requiredValidator)(properties.startTime)),errors.collect(cdk().propertyValidator("startTime",cdk().validateString)(properties.startTime)),errors.wrap('supplied properties not correct for "CoverageTimeProperty"')}function convertCfnRotationCoverageTimePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRotationCoverageTimePropertyValidator(properties).assertSuccess(),{EndTime:cdk().stringToCloudFormation(properties.endTime),StartTime:cdk().stringToCloudFormation(properties.startTime)}):properties}function CfnRotationCoverageTimePropertyFromCloudFormation(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?cfn_parse().FromCloudFormation.getString(properties.EndTime):void 0),ret.addPropertyResult("startTime","StartTime",properties.StartTime!=null?cfn_parse().FromCloudFormation.getString(properties.StartTime):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRotationShiftCoveragePropertyValidator(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("coverageTimes",cdk().requiredValidator)(properties.coverageTimes)),errors.collect(cdk().propertyValidator("coverageTimes",cdk().listValidator(CfnRotationCoverageTimePropertyValidator))(properties.coverageTimes)),errors.collect(cdk().propertyValidator("dayOfWeek",cdk().requiredValidator)(properties.dayOfWeek)),errors.collect(cdk().propertyValidator("dayOfWeek",cdk().validateString)(properties.dayOfWeek)),errors.wrap('supplied properties not correct for "ShiftCoverageProperty"')}function convertCfnRotationShiftCoveragePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRotationShiftCoveragePropertyValidator(properties).assertSuccess(),{CoverageTimes:cdk().listMapper(convertCfnRotationCoverageTimePropertyToCloudFormation)(properties.coverageTimes),DayOfWeek:cdk().stringToCloudFormation(properties.dayOfWeek)}):properties}function CfnRotationShiftCoveragePropertyFromCloudFormation(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("coverageTimes","CoverageTimes",properties.CoverageTimes!=null?cfn_parse().FromCloudFormation.getArray(CfnRotationCoverageTimePropertyFromCloudFormation)(properties.CoverageTimes):void 0),ret.addPropertyResult("dayOfWeek","DayOfWeek",properties.DayOfWeek!=null?cfn_parse().FromCloudFormation.getString(properties.DayOfWeek):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRotationWeeklySettingPropertyValidator(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("dayOfWeek",cdk().requiredValidator)(properties.dayOfWeek)),errors.collect(cdk().propertyValidator("dayOfWeek",cdk().validateString)(properties.dayOfWeek)),errors.collect(cdk().propertyValidator("handOffTime",cdk().requiredValidator)(properties.handOffTime)),errors.collect(cdk().propertyValidator("handOffTime",cdk().validateString)(properties.handOffTime)),errors.wrap('supplied properties not correct for "WeeklySettingProperty"')}function convertCfnRotationWeeklySettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRotationWeeklySettingPropertyValidator(properties).assertSuccess(),{DayOfWeek:cdk().stringToCloudFormation(properties.dayOfWeek),HandOffTime:cdk().stringToCloudFormation(properties.handOffTime)}):properties}function CfnRotationWeeklySettingPropertyFromCloudFormation(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("dayOfWeek","DayOfWeek",properties.DayOfWeek!=null?cfn_parse().FromCloudFormation.getString(properties.DayOfWeek):void 0),ret.addPropertyResult("handOffTime","HandOffTime",properties.HandOffTime!=null?cfn_parse().FromCloudFormation.getString(properties.HandOffTime):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRotationMonthlySettingPropertyValidator(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("dayOfMonth",cdk().requiredValidator)(properties.dayOfMonth)),errors.collect(cdk().propertyValidator("dayOfMonth",cdk().validateNumber)(properties.dayOfMonth)),errors.collect(cdk().propertyValidator("handOffTime",cdk().requiredValidator)(properties.handOffTime)),errors.collect(cdk().propertyValidator("handOffTime",cdk().validateString)(properties.handOffTime)),errors.wrap('supplied properties not correct for "MonthlySettingProperty"')}function convertCfnRotationMonthlySettingPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRotationMonthlySettingPropertyValidator(properties).assertSuccess(),{DayOfMonth:cdk().numberToCloudFormation(properties.dayOfMonth),HandOffTime:cdk().stringToCloudFormation(properties.handOffTime)}):properties}function CfnRotationMonthlySettingPropertyFromCloudFormation(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("dayOfMonth","DayOfMonth",properties.DayOfMonth!=null?cfn_parse().FromCloudFormation.getNumber(properties.DayOfMonth):void 0),ret.addPropertyResult("handOffTime","HandOffTime",properties.HandOffTime!=null?cfn_parse().FromCloudFormation.getString(properties.HandOffTime):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRotationRecurrenceSettingsPropertyValidator(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("dailySettings",cdk().listValidator(cdk().validateString))(properties.dailySettings)),errors.collect(cdk().propertyValidator("monthlySettings",cdk().listValidator(CfnRotationMonthlySettingPropertyValidator))(properties.monthlySettings)),errors.collect(cdk().propertyValidator("numberOfOnCalls",cdk().requiredValidator)(properties.numberOfOnCalls)),errors.collect(cdk().propertyValidator("numberOfOnCalls",cdk().validateNumber)(properties.numberOfOnCalls)),errors.collect(cdk().propertyValidator("recurrenceMultiplier",cdk().requiredValidator)(properties.recurrenceMultiplier)),errors.collect(cdk().propertyValidator("recurrenceMultiplier",cdk().validateNumber)(properties.recurrenceMultiplier)),errors.collect(cdk().propertyValidator("shiftCoverages",cdk().listValidator(CfnRotationShiftCoveragePropertyValidator))(properties.shiftCoverages)),errors.collect(cdk().propertyValidator("weeklySettings",cdk().listValidator(CfnRotationWeeklySettingPropertyValidator))(properties.weeklySettings)),errors.wrap('supplied properties not correct for "RecurrenceSettingsProperty"')}function convertCfnRotationRecurrenceSettingsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRotationRecurrenceSettingsPropertyValidator(properties).assertSuccess(),{DailySettings:cdk().listMapper(cdk().stringToCloudFormation)(properties.dailySettings),MonthlySettings:cdk().listMapper(convertCfnRotationMonthlySettingPropertyToCloudFormation)(properties.monthlySettings),NumberOfOnCalls:cdk().numberToCloudFormation(properties.numberOfOnCalls),RecurrenceMultiplier:cdk().numberToCloudFormation(properties.recurrenceMultiplier),ShiftCoverages:cdk().listMapper(convertCfnRotationShiftCoveragePropertyToCloudFormation)(properties.shiftCoverages),WeeklySettings:cdk().listMapper(convertCfnRotationWeeklySettingPropertyToCloudFormation)(properties.weeklySettings)}):properties}function CfnRotationRecurrenceSettingsPropertyFromCloudFormation(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("dailySettings","DailySettings",properties.DailySettings!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DailySettings):void 0),ret.addPropertyResult("monthlySettings","MonthlySettings",properties.MonthlySettings!=null?cfn_parse().FromCloudFormation.getArray(CfnRotationMonthlySettingPropertyFromCloudFormation)(properties.MonthlySettings):void 0),ret.addPropertyResult("numberOfOnCalls","NumberOfOnCalls",properties.NumberOfOnCalls!=null?cfn_parse().FromCloudFormation.getNumber(properties.NumberOfOnCalls):void 0),ret.addPropertyResult("recurrenceMultiplier","RecurrenceMultiplier",properties.RecurrenceMultiplier!=null?cfn_parse().FromCloudFormation.getNumber(properties.RecurrenceMultiplier):void 0),ret.addPropertyResult("shiftCoverages","ShiftCoverages",properties.ShiftCoverages!=null?cfn_parse().FromCloudFormation.getArray(CfnRotationShiftCoveragePropertyFromCloudFormation)(properties.ShiftCoverages):void 0),ret.addPropertyResult("weeklySettings","WeeklySettings",properties.WeeklySettings!=null?cfn_parse().FromCloudFormation.getArray(CfnRotationWeeklySettingPropertyFromCloudFormation)(properties.WeeklySettings):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRotationPropsValidator(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("contactIds",cdk().requiredValidator)(properties.contactIds)),errors.collect(cdk().propertyValidator("contactIds",cdk().listValidator(cdk().validateString))(properties.contactIds)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("recurrence",cdk().requiredValidator)(properties.recurrence)),errors.collect(cdk().propertyValidator("recurrence",CfnRotationRecurrenceSettingsPropertyValidator)(properties.recurrence)),errors.collect(cdk().propertyValidator("startTime",cdk().requiredValidator)(properties.startTime)),errors.collect(cdk().propertyValidator("startTime",cdk().validateString)(properties.startTime)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("timeZoneId",cdk().requiredValidator)(properties.timeZoneId)),errors.collect(cdk().propertyValidator("timeZoneId",cdk().validateString)(properties.timeZoneId)),errors.wrap('supplied properties not correct for "CfnRotationProps"')}function convertCfnRotationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRotationPropsValidator(properties).assertSuccess(),{ContactIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.contactIds),Name:cdk().stringToCloudFormation(properties.name),Recurrence:convertCfnRotationRecurrenceSettingsPropertyToCloudFormation(properties.recurrence),StartTime:cdk().stringToCloudFormation(properties.startTime),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TimeZoneId:cdk().stringToCloudFormation(properties.timeZoneId)}):properties}function CfnRotationPropsFromCloudFormation(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("contactIds","ContactIds",properties.ContactIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ContactIds):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("recurrence","Recurrence",properties.Recurrence!=null?CfnRotationRecurrenceSettingsPropertyFromCloudFormation(properties.Recurrence):void 0),ret.addPropertyResult("startTime","StartTime",properties.StartTime!=null?cfn_parse().FromCloudFormation.getString(properties.StartTime):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("timeZoneId","TimeZoneId",properties.TimeZoneId!=null?cfn_parse().FromCloudFormation.getString(properties.TimeZoneId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}