aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 53.5 kB
JavaScript
"use strict";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/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 CfnContact extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ssmcontacts.CfnContact",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SSMContacts::Contact";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnContact(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnContact.CFN_RESOURCE_TYPE_NAME}static arnForContact(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_ssmcontacts_IContactRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForContact),error}return resource.contactRef.contactArn}_alias;cdkTagManager;_displayName;_plan;_tags;_type;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._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 contactRef(){return{contactArn:this.ref}}get alias(){return this._alias}set alias(value){cdk().traceProperty(this.node,"Alias"),this._alias=value}get displayName(){return this._displayName}set displayName(value){cdk().traceProperty(this.node,"DisplayName"),this._displayName=value}get plan(){return this._plan}set plan(value){cdk().traceProperty(this.node,"Plan"),this._plan=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnContactPropsToCloudFormation(props)}}exports.CfnContact=CfnContact;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ssmcontacts.CfnContactChannel",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SSMContacts::ContactChannel";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnContactChannel(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnContactChannel.CFN_RESOURCE_TYPE_NAME}static arnForContactChannel(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_ssmcontacts_IContactChannelRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForContactChannel),error}return resource.contactChannelRef.contactChannelArn}_channelAddress;_channelName;_channelType;_contactId;_deferActivation;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._channelAddress=props.channelAddress,this._channelName=props.channelName,this._channelType=props.channelType,this._contactId=props.contactId,this._deferActivation=props.deferActivation}get contactChannelRef(){return{contactChannelArn:this.ref}}get channelAddress(){return this._channelAddress}set channelAddress(value){cdk().traceProperty(this.node,"ChannelAddress"),this._channelAddress=value}get channelName(){return this._channelName}set channelName(value){cdk().traceProperty(this.node,"ChannelName"),this._channelName=value}get channelType(){return this._channelType}set channelType(value){cdk().traceProperty(this.node,"ChannelType"),this._channelType=value}get contactId(){return this._contactId}set contactId(value){cdk().traceProperty(this.node,"ContactId"),this._contactId=value}get deferActivation(){return this._deferActivation}set deferActivation(value){cdk().traceProperty(this.node,"DeferActivation"),this._deferActivation=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnContactChannelPropsToCloudFormation(props)}}exports.CfnContactChannel=CfnContactChannel;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ssmcontacts.CfnPlan",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SSMContacts::Plan";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnPlan(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPlan.CFN_RESOURCE_TYPE_NAME}static arnForPlan(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_ssmcontacts_IPlanRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForPlan),error}return resource.planRef.planArn}_contactId;_rotationIds;_stages;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._contactId=props.contactId,this._rotationIds=props.rotationIds,this._stages=props.stages}get planRef(){return{planArn:this.ref}}get contactId(){return this._contactId}set contactId(value){cdk().traceProperty(this.node,"ContactId"),this._contactId=value}get rotationIds(){return this._rotationIds}set rotationIds(value){cdk().traceProperty(this.node,"RotationIds"),this._rotationIds=value}get stages(){return this._stages}set stages(value){cdk().traceProperty(this.node,"Stages"),this._stages=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPlanPropsToCloudFormation(props)}}exports.CfnPlan=CfnPlan;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_ssmcontacts.CfnRotation",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SSMContacts::Rotation";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnRotation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnRotation.CFN_RESOURCE_TYPE_NAME}static arnForRotation(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_ssmcontacts_IRotationRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForRotation),error}return resource.rotationRef.rotationArn}_contactIds;_name;_recurrence;_startTime;tags;_tagsRaw;_timeZoneId;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._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 rotationRef(){return{rotationArn:this.ref}}get contactIds(){return this._contactIds}set contactIds(value){cdk().traceProperty(this.node,"ContactIds"),this._contactIds=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get recurrence(){return this._recurrence}set recurrence(value){cdk().traceProperty(this.node,"Recurrence"),this._recurrence=value}get startTime(){return this._startTime}set startTime(value){cdk().traceProperty(this.node,"StartTime"),this._startTime=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get timeZoneId(){return this._timeZoneId}set timeZoneId(value){cdk().traceProperty(this.node,"TimeZoneId"),this._timeZoneId=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnRotationPropsToCloudFormation(props)}}exports.CfnRotation=CfnRotation;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}