"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnWorkspace=exports.CfnUserHierarchyStructure=exports.CfnPredefinedAttribute=exports.CfnNotification=exports.CfnEmailAddress=exports.CfnDataTableRecord=exports.CfnDataTableAttribute=exports.CfnDataTable=exports.CfnContactFlowVersion=exports.CfnContactFlowModuleVersion=exports.CfnContactFlowModuleAlias=exports.CfnAgentStatus=exports.CfnViewVersion=exports.CfnView=exports.CfnUserHierarchyGroup=exports.CfnUser=exports.CfnTrafficDistributionGroup=exports.CfnTaskTemplate=exports.CfnSecurityProfile=exports.CfnSecurityKey=exports.CfnRule=exports.CfnRoutingProfile=exports.CfnQuickConnect=exports.CfnQueue=exports.CfnPrompt=exports.CfnPhoneNumber=exports.CfnIntegrationAssociation=exports.CfnInstanceStorageConfig=exports.CfnInstance=exports.CfnHoursOfOperation=exports.CfnEvaluationForm=exports.CfnContactFlowModule=exports.CfnContactFlow=exports.CfnApprovedOrigin=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 CfnApprovedOrigin extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnApprovedOrigin",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::ApprovedOrigin";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnApprovedOriginPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnApprovedOrigin(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 isCfnApprovedOrigin(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnApprovedOrigin.CFN_RESOURCE_TYPE_NAME}_instanceId;_origin;cfnPropertyNames={instanceId:"InstanceId",origin:"Origin"};constructor(scope,id,props){super(scope,id,{type:CfnApprovedOrigin.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnApprovedOriginProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnApprovedOrigin),error}cdk().requireProperty(props,"instanceId",this),cdk().requireProperty(props,"origin",this),this._instanceId=cdk().getRefProperty(props.instanceId?.instanceRef,"instanceArn")??cdk().ensureStringOrUndefined(props.instanceId,"instanceId","connect.IInstanceRef | string"),this._origin=props.origin}get approvedOriginRef(){return{instanceId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),origin:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get instanceId(){return this._instanceId}set instanceId(value){cdk().traceProperty(this.node,"InstanceId"),this._instanceId=value}get origin(){return this._origin}set origin(value){cdk().traceProperty(this.node,"Origin"),this._origin=value}get cfnProperties(){return{instanceId:this._instanceId,origin:this._origin}}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",CfnApprovedOrigin.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnApprovedOriginPropsToCloudFormation(props)}}exports.CfnApprovedOrigin=CfnApprovedOrigin;function CfnApprovedOriginPropsValidator(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("instanceId",cdk().requiredValidator)(properties.instanceId)),errors.collect(cdk().propertyValidator("instanceId",cdk().validateString)(properties.instanceId)),errors.collect(cdk().propertyValidator("origin",cdk().requiredValidator)(properties.origin)),errors.collect(cdk().propertyValidator("origin",cdk().validateString)(properties.origin)),errors.wrap('supplied properties not correct for "CfnApprovedOriginProps"')}function convertCfnApprovedOriginPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnApprovedOriginPropsValidator(properties).assertSuccess(),{InstanceId:cdk().stringToCloudFormation(properties.instanceId),Origin:cdk().stringToCloudFormation(properties.origin)}):properties}function CfnApprovedOriginPropsFromCloudFormation(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("instanceId","InstanceId",properties.InstanceId!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceId):void 0),ret.addPropertyResult("origin","Origin",properties.Origin!=null?cfn_parse().FromCloudFormation.getString(properties.Origin):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnContactFlow extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnContactFlow",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::ContactFlow";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnContactFlowPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnContactFlow(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 isCfnContactFlow(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnContactFlow.CFN_RESOURCE_TYPE_NAME}static arnForContactFlow(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IContactFlowRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForContactFlow),error}return resource.contactFlowRef.contactFlowArn}_content;_description;_instanceArn;_name;_state;tags;_tagsRaw;_type;cfnPropertyNames={content:"Content",description:"Description",instanceArn:"InstanceArn",name:"Name",state:"State",tags:"Tags",type:"Type"};constructor(scope,id,props){super(scope,id,{type:CfnContactFlow.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnContactFlowProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnContactFlow),error}cdk().requireProperty(props,"content",this),cdk().requireProperty(props,"instanceArn",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"type",this),this._content=props.content,this._description=props.description,this._instanceArn=cdk().getRefProperty(props.instanceArn?.instanceRef,"instanceArn")??cdk().ensureStringOrUndefined(props.instanceArn,"instanceArn","connect.IInstanceRef | string"),this._name=props.name,this._state=props.state,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::ContactFlow",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._type=props.type}get contactFlowRef(){return{contactFlowArn:this.ref}}get content(){return this._content}set content(value){cdk().traceProperty(this.node,"Content"),this._content=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get state(){return this._state}set state(value){cdk().traceProperty(this.node,"State"),this._state=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get attrContactFlowArn(){return cdk().Token.asString(this.getAtt("ContactFlowArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{content:this._content,description:this._description,instanceArn:this._instanceArn,name:this._name,state:this._state,tags:this.tags.renderTags(),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",CfnContactFlow.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnContactFlowPropsToCloudFormation(props)}}exports.CfnContactFlow=CfnContactFlow;function CfnContactFlowPropsValidator(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("content",cdk().requiredValidator)(properties.content)),errors.collect(cdk().propertyValidator("content",cdk().validateString)(properties.content)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),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 "CfnContactFlowProps"')}function convertCfnContactFlowPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContactFlowPropsValidator(properties).assertSuccess(),{Content:cdk().stringToCloudFormation(properties.content),Description:cdk().stringToCloudFormation(properties.description),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Name:cdk().stringToCloudFormation(properties.name),State:cdk().stringToCloudFormation(properties.state),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnContactFlowPropsFromCloudFormation(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("content","Content",properties.Content!=null?cfn_parse().FromCloudFormation.getString(properties.Content):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):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 CfnContactFlowModule extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnContactFlowModule",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::ContactFlowModule";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnContactFlowModulePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnContactFlowModule(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 isCfnContactFlowModule(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnContactFlowModule.CFN_RESOURCE_TYPE_NAME}static arnForContactFlowModule(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IContactFlowModuleRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForContactFlowModule),error}return resource.contactFlowModuleRef.contactFlowModuleArn}_content;_description;_externalInvocationConfiguration;_instanceArn;_name;_settings;_state;tags;_tagsRaw;cfnPropertyNames={content:"Content",description:"Description",externalInvocationConfiguration:"ExternalInvocationConfiguration",instanceArn:"InstanceArn",name:"Name",settings:"Settings",state:"State",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnContactFlowModule.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnContactFlowModuleProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnContactFlowModule),error}cdk().requireProperty(props,"content",this),cdk().requireProperty(props,"instanceArn",this),cdk().requireProperty(props,"name",this),this._content=props.content,this._description=props.description,this._externalInvocationConfiguration=props.externalInvocationConfiguration,this._instanceArn=cdk().getRefProperty(props.instanceArn?.instanceRef,"instanceArn")??cdk().ensureStringOrUndefined(props.instanceArn,"instanceArn","connect.IInstanceRef | string"),this._name=props.name,this._settings=props.settings,this._state=props.state,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::ContactFlowModule",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get contactFlowModuleRef(){return{contactFlowModuleArn:this.ref}}get content(){return this._content}set content(value){cdk().traceProperty(this.node,"Content"),this._content=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get externalInvocationConfiguration(){return this._externalInvocationConfiguration}set externalInvocationConfiguration(value){cdk().traceProperty(this.node,"ExternalInvocationConfiguration"),this._externalInvocationConfiguration=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get settings(){return this._settings}set settings(value){cdk().traceProperty(this.node,"Settings"),this._settings=value}get state(){return this._state}set state(value){cdk().traceProperty(this.node,"State"),this._state=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrContactFlowModuleArn(){return cdk().Token.asString(this.getAtt("ContactFlowModuleArn",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{content:this._content,description:this._description,externalInvocationConfiguration:this._externalInvocationConfiguration,instanceArn:this._instanceArn,name:this._name,settings:this._settings,state:this._state,tags:this.tags.renderTags()}}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",CfnContactFlowModule.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnContactFlowModulePropsToCloudFormation(props)}}exports.CfnContactFlowModule=CfnContactFlowModule;function CfnContactFlowModuleExternalInvocationConfigurationPropertyValidator(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("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "ExternalInvocationConfigurationProperty"')}function convertCfnContactFlowModuleExternalInvocationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContactFlowModuleExternalInvocationConfigurationPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnContactFlowModuleExternalInvocationConfigurationPropertyFromCloudFormation(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("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnContactFlowModulePropsValidator(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("content",cdk().requiredValidator)(properties.content)),errors.collect(cdk().propertyValidator("content",cdk().validateString)(properties.content)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("externalInvocationConfiguration",CfnContactFlowModuleExternalInvocationConfigurationPropertyValidator)(properties.externalInvocationConfiguration)),errors.collect(cdk().propertyValidator("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("settings",cdk().validateString)(properties.settings)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnContactFlowModuleProps"')}function convertCfnContactFlowModulePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContactFlowModulePropsValidator(properties).assertSuccess(),{Content:cdk().stringToCloudFormation(properties.content),Description:cdk().stringToCloudFormation(properties.description),ExternalInvocationConfiguration:convertCfnContactFlowModuleExternalInvocationConfigurationPropertyToCloudFormation(properties.externalInvocationConfiguration),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Name:cdk().stringToCloudFormation(properties.name),Settings:cdk().stringToCloudFormation(properties.settings),State:cdk().stringToCloudFormation(properties.state),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnContactFlowModulePropsFromCloudFormation(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("content","Content",properties.Content!=null?cfn_parse().FromCloudFormation.getString(properties.Content):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("externalInvocationConfiguration","ExternalInvocationConfiguration",properties.ExternalInvocationConfiguration!=null?CfnContactFlowModuleExternalInvocationConfigurationPropertyFromCloudFormation(properties.ExternalInvocationConfiguration):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("settings","Settings",properties.Settings!=null?cfn_parse().FromCloudFormation.getString(properties.Settings):void 0),ret.addPropertyResult("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnEvaluationForm extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnEvaluationForm",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::EvaluationForm";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnEvaluationFormPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnEvaluationForm(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 isCfnEvaluationForm(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnEvaluationForm.CFN_RESOURCE_TYPE_NAME}static arnForEvaluationForm(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IEvaluationFormRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForEvaluationForm),error}return resource.evaluationFormRef.evaluationFormArn}_autoEvaluationConfiguration;_description;_instanceArn;_items;_languageConfiguration;_reviewConfiguration;_scoringStrategy;_status;tags;_tagsRaw;_targetConfiguration;_title;cfnPropertyNames={autoEvaluationConfiguration:"AutoEvaluationConfiguration",description:"Description",instanceArn:"InstanceArn",items:"Items",languageConfiguration:"LanguageConfiguration",reviewConfiguration:"ReviewConfiguration",scoringStrategy:"ScoringStrategy",status:"Status",tags:"Tags",targetConfiguration:"TargetConfiguration",title:"Title"};constructor(scope,id,props){super(scope,id,{type:CfnEvaluationForm.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnEvaluationFormProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnEvaluationForm),error}cdk().requireProperty(props,"instanceArn",this),cdk().requireProperty(props,"items",this),cdk().requireProperty(props,"status",this),cdk().requireProperty(props,"title",this),this._autoEvaluationConfiguration=props.autoEvaluationConfiguration,this._description=props.description,this._instanceArn=cdk().getRefProperty(props.instanceArn?.instanceRef,"instanceArn")??cdk().ensureStringOrUndefined(props.instanceArn,"instanceArn","connect.IInstanceRef | string"),this._items=props.items,this._languageConfiguration=props.languageConfiguration,this._reviewConfiguration=props.reviewConfiguration,this._scoringStrategy=props.scoringStrategy,this._status=props.status,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::EvaluationForm",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._targetConfiguration=props.targetConfiguration,this._title=props.title}get evaluationFormRef(){return{evaluationFormArn:this.ref}}get autoEvaluationConfiguration(){return this._autoEvaluationConfiguration}set autoEvaluationConfiguration(value){cdk().traceProperty(this.node,"AutoEvaluationConfiguration"),this._autoEvaluationConfiguration=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get items(){return this._items}set items(value){cdk().traceProperty(this.node,"Items"),this._items=value}get languageConfiguration(){return this._languageConfiguration}set languageConfiguration(value){cdk().traceProperty(this.node,"LanguageConfiguration"),this._languageConfiguration=value}get reviewConfiguration(){return this._reviewConfiguration}set reviewConfiguration(value){cdk().traceProperty(this.node,"ReviewConfiguration"),this._reviewConfiguration=value}get scoringStrategy(){return this._scoringStrategy}set scoringStrategy(value){cdk().traceProperty(this.node,"ScoringStrategy"),this._scoringStrategy=value}get status(){return this._status}set status(value){cdk().traceProperty(this.node,"Status"),this._status=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get targetConfiguration(){return this._targetConfiguration}set targetConfiguration(value){cdk().traceProperty(this.node,"TargetConfiguration"),this._targetConfiguration=value}get title(){return this._title}set title(value){cdk().traceProperty(this.node,"Title"),this._title=value}get attrEvaluationFormArn(){return cdk().Token.asString(this.getAtt("EvaluationFormArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{autoEvaluationConfiguration:this._autoEvaluationConfiguration,description:this._description,instanceArn:this._instanceArn,items:this._items,languageConfiguration:this._languageConfiguration,reviewConfiguration:this._reviewConfiguration,scoringStrategy:this._scoringStrategy,status:this._status,tags:this.tags.renderTags(),targetConfiguration:this._targetConfiguration,title:this._title}}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",CfnEvaluationForm.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnEvaluationFormPropsToCloudFormation(props)}}exports.CfnEvaluationForm=CfnEvaluationForm;function CfnEvaluationFormScoringStrategyPropertyValidator(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("mode",cdk().requiredValidator)(properties.mode)),errors.collect(cdk().propertyValidator("mode",cdk().validateString)(properties.mode)),errors.collect(cdk().propertyValidator("status",cdk().requiredValidator)(properties.status)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.wrap('supplied properties not correct for "ScoringStrategyProperty"')}function convertCfnEvaluationFormScoringStrategyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormScoringStrategyPropertyValidator(properties).assertSuccess(),{Mode:cdk().stringToCloudFormation(properties.mode),Status:cdk().stringToCloudFormation(properties.status)}):properties}function CfnEvaluationFormScoringStrategyPropertyFromCloudFormation(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("mode","Mode",properties.Mode!=null?cfn_parse().FromCloudFormation.getString(properties.Mode):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormAutomaticFailConfigurationPropertyValidator(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("targetSection",cdk().validateString)(properties.targetSection)),errors.wrap('supplied properties not correct for "AutomaticFailConfigurationProperty"')}function convertCfnEvaluationFormAutomaticFailConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormAutomaticFailConfigurationPropertyValidator(properties).assertSuccess(),{TargetSection:cdk().stringToCloudFormation(properties.targetSection)}):properties}function CfnEvaluationFormAutomaticFailConfigurationPropertyFromCloudFormation(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("targetSection","TargetSection",properties.TargetSection!=null?cfn_parse().FromCloudFormation.getString(properties.TargetSection):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormNumericQuestionOptionPropertyValidator(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("automaticFail",cdk().validateBoolean)(properties.automaticFail)),errors.collect(cdk().propertyValidator("automaticFailConfiguration",CfnEvaluationFormAutomaticFailConfigurationPropertyValidator)(properties.automaticFailConfiguration)),errors.collect(cdk().propertyValidator("maxValue",cdk().requiredValidator)(properties.maxValue)),errors.collect(cdk().propertyValidator("maxValue",cdk().validateNumber)(properties.maxValue)),errors.collect(cdk().propertyValidator("minValue",cdk().requiredValidator)(properties.minValue)),errors.collect(cdk().propertyValidator("minValue",cdk().validateNumber)(properties.minValue)),errors.collect(cdk().propertyValidator("score",cdk().validateNumber)(properties.score)),errors.wrap('supplied properties not correct for "EvaluationFormNumericQuestionOptionProperty"')}function convertCfnEvaluationFormEvaluationFormNumericQuestionOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormNumericQuestionOptionPropertyValidator(properties).assertSuccess(),{AutomaticFail:cdk().booleanToCloudFormation(properties.automaticFail),AutomaticFailConfiguration:convertCfnEvaluationFormAutomaticFailConfigurationPropertyToCloudFormation(properties.automaticFailConfiguration),MaxValue:cdk().numberToCloudFormation(properties.maxValue),MinValue:cdk().numberToCloudFormation(properties.minValue),Score:cdk().numberToCloudFormation(properties.score)}):properties}function CfnEvaluationFormEvaluationFormNumericQuestionOptionPropertyFromCloudFormation(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("automaticFail","AutomaticFail",properties.AutomaticFail!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AutomaticFail):void 0),ret.addPropertyResult("automaticFailConfiguration","AutomaticFailConfiguration",properties.AutomaticFailConfiguration!=null?CfnEvaluationFormAutomaticFailConfigurationPropertyFromCloudFormation(properties.AutomaticFailConfiguration):void 0),ret.addPropertyResult("maxValue","MaxValue",properties.MaxValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxValue):void 0),ret.addPropertyResult("minValue","MinValue",properties.MinValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinValue):void 0),ret.addPropertyResult("score","Score",properties.Score!=null?cfn_parse().FromCloudFormation.getNumber(properties.Score):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormNumericQuestionPropertyValueAutomationPropertyValidator(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("label",cdk().requiredValidator)(properties.label)),errors.collect(cdk().propertyValidator("label",cdk().validateString)(properties.label)),errors.wrap('supplied properties not correct for "NumericQuestionPropertyValueAutomationProperty"')}function convertCfnEvaluationFormNumericQuestionPropertyValueAutomationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormNumericQuestionPropertyValueAutomationPropertyValidator(properties).assertSuccess(),{Label:cdk().stringToCloudFormation(properties.label)}):properties}function CfnEvaluationFormNumericQuestionPropertyValueAutomationPropertyFromCloudFormation(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("label","Label",properties.Label!=null?cfn_parse().FromCloudFormation.getString(properties.Label):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormQuestionAutomationAnswerSourcePropertyValidator(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("sourceType",cdk().requiredValidator)(properties.sourceType)),errors.collect(cdk().propertyValidator("sourceType",cdk().validateString)(properties.sourceType)),errors.wrap('supplied properties not correct for "EvaluationFormQuestionAutomationAnswerSourceProperty"')}function convertCfnEvaluationFormEvaluationFormQuestionAutomationAnswerSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormQuestionAutomationAnswerSourcePropertyValidator(properties).assertSuccess(),{SourceType:cdk().stringToCloudFormation(properties.sourceType)}):properties}function CfnEvaluationFormEvaluationFormQuestionAutomationAnswerSourcePropertyFromCloudFormation(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("sourceType","SourceType",properties.SourceType!=null?cfn_parse().FromCloudFormation.getString(properties.SourceType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormNumericQuestionAutomationPropertyValidator(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("answerSource",CfnEvaluationFormEvaluationFormQuestionAutomationAnswerSourcePropertyValidator)(properties.answerSource)),errors.collect(cdk().propertyValidator("propertyValue",CfnEvaluationFormNumericQuestionPropertyValueAutomationPropertyValidator)(properties.propertyValue)),errors.wrap('supplied properties not correct for "EvaluationFormNumericQuestionAutomationProperty"')}function convertCfnEvaluationFormEvaluationFormNumericQuestionAutomationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormNumericQuestionAutomationPropertyValidator(properties).assertSuccess(),{AnswerSource:convertCfnEvaluationFormEvaluationFormQuestionAutomationAnswerSourcePropertyToCloudFormation(properties.answerSource),PropertyValue:convertCfnEvaluationFormNumericQuestionPropertyValueAutomationPropertyToCloudFormation(properties.propertyValue)}):properties}function CfnEvaluationFormEvaluationFormNumericQuestionAutomationPropertyFromCloudFormation(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("answerSource","AnswerSource",properties.AnswerSource!=null?CfnEvaluationFormEvaluationFormQuestionAutomationAnswerSourcePropertyFromCloudFormation(properties.AnswerSource):void 0),ret.addPropertyResult("propertyValue","PropertyValue",properties.PropertyValue!=null?CfnEvaluationFormNumericQuestionPropertyValueAutomationPropertyFromCloudFormation(properties.PropertyValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormNumericQuestionPropertiesPropertyValidator(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("automation",CfnEvaluationFormEvaluationFormNumericQuestionAutomationPropertyValidator)(properties.automation)),errors.collect(cdk().propertyValidator("maxValue",cdk().requiredValidator)(properties.maxValue)),errors.collect(cdk().propertyValidator("maxValue",cdk().validateNumber)(properties.maxValue)),errors.collect(cdk().propertyValidator("minValue",cdk().requiredValidator)(properties.minValue)),errors.collect(cdk().propertyValidator("minValue",cdk().validateNumber)(properties.minValue)),errors.collect(cdk().propertyValidator("options",cdk().listValidator(CfnEvaluationFormEvaluationFormNumericQuestionOptionPropertyValidator))(properties.options)),errors.wrap('supplied properties not correct for "EvaluationFormNumericQuestionPropertiesProperty"')}function convertCfnEvaluationFormEvaluationFormNumericQuestionPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormNumericQuestionPropertiesPropertyValidator(properties).assertSuccess(),{Automation:convertCfnEvaluationFormEvaluationFormNumericQuestionAutomationPropertyToCloudFormation(properties.automation),MaxValue:cdk().numberToCloudFormation(properties.maxValue),MinValue:cdk().numberToCloudFormation(properties.minValue),Options:cdk().listMapper(convertCfnEvaluationFormEvaluationFormNumericQuestionOptionPropertyToCloudFormation)(properties.options)}):properties}function CfnEvaluationFormEvaluationFormNumericQuestionPropertiesPropertyFromCloudFormation(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("automation","Automation",properties.Automation!=null?CfnEvaluationFormEvaluationFormNumericQuestionAutomationPropertyFromCloudFormation(properties.Automation):void 0),ret.addPropertyResult("maxValue","MaxValue",properties.MaxValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxValue):void 0),ret.addPropertyResult("minValue","MinValue",properties.MinValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinValue):void 0),ret.addPropertyResult("options","Options",properties.Options!=null?cfn_parse().FromCloudFormation.getArray(CfnEvaluationFormEvaluationFormNumericQuestionOptionPropertyFromCloudFormation)(properties.Options):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormSingleSelectQuestionOptionPropertyValidator(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("automaticFail",cdk().validateBoolean)(properties.automaticFail)),errors.collect(cdk().propertyValidator("automaticFailConfiguration",CfnEvaluationFormAutomaticFailConfigurationPropertyValidator)(properties.automaticFailConfiguration)),errors.collect(cdk().propertyValidator("refId",cdk().requiredValidator)(properties.refId)),errors.collect(cdk().propertyValidator("refId",cdk().validateString)(properties.refId)),errors.collect(cdk().propertyValidator("score",cdk().validateNumber)(properties.score)),errors.collect(cdk().propertyValidator("text",cdk().requiredValidator)(properties.text)),errors.collect(cdk().propertyValidator("text",cdk().validateString)(properties.text)),errors.wrap('supplied properties not correct for "EvaluationFormSingleSelectQuestionOptionProperty"')}function convertCfnEvaluationFormEvaluationFormSingleSelectQuestionOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormSingleSelectQuestionOptionPropertyValidator(properties).assertSuccess(),{AutomaticFail:cdk().booleanToCloudFormation(properties.automaticFail),AutomaticFailConfiguration:convertCfnEvaluationFormAutomaticFailConfigurationPropertyToCloudFormation(properties.automaticFailConfiguration),RefId:cdk().stringToCloudFormation(properties.refId),Score:cdk().numberToCloudFormation(properties.score),Text:cdk().stringToCloudFormation(properties.text)}):properties}function CfnEvaluationFormEvaluationFormSingleSelectQuestionOptionPropertyFromCloudFormation(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("automaticFail","AutomaticFail",properties.AutomaticFail!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AutomaticFail):void 0),ret.addPropertyResult("automaticFailConfiguration","AutomaticFailConfiguration",properties.AutomaticFailConfiguration!=null?CfnEvaluationFormAutomaticFailConfigurationPropertyFromCloudFormation(properties.AutomaticFailConfiguration):void 0),ret.addPropertyResult("refId","RefId",properties.RefId!=null?cfn_parse().FromCloudFormation.getString(properties.RefId):void 0),ret.addPropertyResult("score","Score",properties.Score!=null?cfn_parse().FromCloudFormation.getNumber(properties.Score):void 0),ret.addPropertyResult("text","Text",properties.Text!=null?cfn_parse().FromCloudFormation.getString(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormSingleSelectQuestionRuleCategoryAutomationPropertyValidator(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("category",cdk().requiredValidator)(properties.category)),errors.collect(cdk().propertyValidator("category",cdk().validateString)(properties.category)),errors.collect(cdk().propertyValidator("condition",cdk().requiredValidator)(properties.condition)),errors.collect(cdk().propertyValidator("condition",cdk().validateString)(properties.condition)),errors.collect(cdk().propertyValidator("optionRefId",cdk().requiredValidator)(properties.optionRefId)),errors.collect(cdk().propertyValidator("optionRefId",cdk().validateString)(properties.optionRefId)),errors.wrap('supplied properties not correct for "SingleSelectQuestionRuleCategoryAutomationProperty"')}function convertCfnEvaluationFormSingleSelectQuestionRuleCategoryAutomationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormSingleSelectQuestionRuleCategoryAutomationPropertyValidator(properties).assertSuccess(),{Category:cdk().stringToCloudFormation(properties.category),Condition:cdk().stringToCloudFormation(properties.condition),OptionRefId:cdk().stringToCloudFormation(properties.optionRefId)}):properties}function CfnEvaluationFormSingleSelectQuestionRuleCategoryAutomationPropertyFromCloudFormation(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("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getString(properties.Category):void 0),ret.addPropertyResult("condition","Condition",properties.Condition!=null?cfn_parse().FromCloudFormation.getString(properties.Condition):void 0),ret.addPropertyResult("optionRefId","OptionRefId",properties.OptionRefId!=null?cfn_parse().FromCloudFormation.getString(properties.OptionRefId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormSingleSelectQuestionAutomationOptionPropertyValidator(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("ruleCategory",cdk().requiredValidator)(properties.ruleCategory)),errors.collect(cdk().propertyValidator("ruleCategory",CfnEvaluationFormSingleSelectQuestionRuleCategoryAutomationPropertyValidator)(properties.ruleCategory)),errors.wrap('supplied properties not correct for "EvaluationFormSingleSelectQuestionAutomationOptionProperty"')}function convertCfnEvaluationFormEvaluationFormSingleSelectQuestionAutomationOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormSingleSelectQuestionAutomationOptionPropertyValidator(properties).assertSuccess(),{RuleCategory:convertCfnEvaluationFormSingleSelectQuestionRuleCategoryAutomationPropertyToCloudFormation(properties.ruleCategory)}):properties}function CfnEvaluationFormEvaluationFormSingleSelectQuestionAutomationOptionPropertyFromCloudFormation(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("ruleCategory","RuleCategory",properties.RuleCategory!=null?CfnEvaluationFormSingleSelectQuestionRuleCategoryAutomationPropertyFromCloudFormation(properties.RuleCategory):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormSingleSelectQuestionAutomationPropertyValidator(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("answerSource",CfnEvaluationFormEvaluationFormQuestionAutomationAnswerSourcePropertyValidator)(properties.answerSource)),errors.collect(cdk().propertyValidator("defaultOptionRefId",cdk().validateString)(properties.defaultOptionRefId)),errors.collect(cdk().propertyValidator("options",cdk().requiredValidator)(properties.options)),errors.collect(cdk().propertyValidator("options",cdk().listValidator(CfnEvaluationFormEvaluationFormSingleSelectQuestionAutomationOptionPropertyValidator))(properties.options)),errors.wrap('supplied properties not correct for "EvaluationFormSingleSelectQuestionAutomationProperty"')}function convertCfnEvaluationFormEvaluationFormSingleSelectQuestionAutomationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormSingleSelectQuestionAutomationPropertyValidator(properties).assertSuccess(),{AnswerSource:convertCfnEvaluationFormEvaluationFormQuestionAutomationAnswerSourcePropertyToCloudFormation(properties.answerSource),DefaultOptionRefId:cdk().stringToCloudFormation(properties.defaultOptionRefId),Options:cdk().listMapper(convertCfnEvaluationFormEvaluationFormSingleSelectQuestionAutomationOptionPropertyToCloudFormation)(properties.options)}):properties}function CfnEvaluationFormEvaluationFormSingleSelectQuestionAutomationPropertyFromCloudFormation(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("answerSource","AnswerSource",properties.AnswerSource!=null?CfnEvaluationFormEvaluationFormQuestionAutomationAnswerSourcePropertyFromCloudFormation(properties.AnswerSource):void 0),ret.addPropertyResult("defaultOptionRefId","DefaultOptionRefId",properties.DefaultOptionRefId!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultOptionRefId):void 0),ret.addPropertyResult("options","Options",properties.Options!=null?cfn_parse().FromCloudFormation.getArray(CfnEvaluationFormEvaluationFormSingleSelectQuestionAutomationOptionPropertyFromCloudFormation)(properties.Options):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormSingleSelectQuestionPropertiesPropertyValidator(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("automation",CfnEvaluationFormEvaluationFormSingleSelectQuestionAutomationPropertyValidator)(properties.automation)),errors.collect(cdk().propertyValidator("displayAs",cdk().validateString)(properties.displayAs)),errors.collect(cdk().propertyValidator("options",cdk().requiredValidator)(properties.options)),errors.collect(cdk().propertyValidator("options",cdk().listValidator(CfnEvaluationFormEvaluationFormSingleSelectQuestionOptionPropertyValidator))(properties.options)),errors.wrap('supplied properties not correct for "EvaluationFormSingleSelectQuestionPropertiesProperty"')}function convertCfnEvaluationFormEvaluationFormSingleSelectQuestionPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormSingleSelectQuestionPropertiesPropertyValidator(properties).assertSuccess(),{Automation:convertCfnEvaluationFormEvaluationFormSingleSelectQuestionAutomationPropertyToCloudFormation(properties.automation),DisplayAs:cdk().stringToCloudFormation(properties.displayAs),Options:cdk().listMapper(convertCfnEvaluationFormEvaluationFormSingleSelectQuestionOptionPropertyToCloudFormation)(properties.options)}):properties}function CfnEvaluationFormEvaluationFormSingleSelectQuestionPropertiesPropertyFromCloudFormation(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("automation","Automation",properties.Automation!=null?CfnEvaluationFormEvaluationFormSingleSelectQuestionAutomationPropertyFromCloudFormation(properties.Automation):void 0),ret.addPropertyResult("displayAs","DisplayAs",properties.DisplayAs!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayAs):void 0),ret.addPropertyResult("options","Options",properties.Options!=null?cfn_parse().FromCloudFormation.getArray(CfnEvaluationFormEvaluationFormSingleSelectQuestionOptionPropertyFromCloudFormation)(properties.Options):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormTextQuestionAutomationPropertyValidator(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("answerSource",CfnEvaluationFormEvaluationFormQuestionAutomationAnswerSourcePropertyValidator)(properties.answerSource)),errors.wrap('supplied properties not correct for "EvaluationFormTextQuestionAutomationProperty"')}function convertCfnEvaluationFormEvaluationFormTextQuestionAutomationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormTextQuestionAutomationPropertyValidator(properties).assertSuccess(),{AnswerSource:convertCfnEvaluationFormEvaluationFormQuestionAutomationAnswerSourcePropertyToCloudFormation(properties.answerSource)}):properties}function CfnEvaluationFormEvaluationFormTextQuestionAutomationPropertyFromCloudFormation(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("answerSource","AnswerSource",properties.AnswerSource!=null?CfnEvaluationFormEvaluationFormQuestionAutomationAnswerSourcePropertyFromCloudFormation(properties.AnswerSource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormTextQuestionPropertiesPropertyValidator(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("automation",CfnEvaluationFormEvaluationFormTextQuestionAutomationPropertyValidator)(properties.automation)),errors.wrap('supplied properties not correct for "EvaluationFormTextQuestionPropertiesProperty"')}function convertCfnEvaluationFormEvaluationFormTextQuestionPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormTextQuestionPropertiesPropertyValidator(properties).assertSuccess(),{Automation:convertCfnEvaluationFormEvaluationFormTextQuestionAutomationPropertyToCloudFormation(properties.automation)}):properties}function CfnEvaluationFormEvaluationFormTextQuestionPropertiesPropertyFromCloudFormation(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("automation","Automation",properties.Automation!=null?CfnEvaluationFormEvaluationFormTextQuestionAutomationPropertyFromCloudFormation(properties.Automation):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormMultiSelectQuestionOptionPropertyValidator(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("refId",cdk().requiredValidator)(properties.refId)),errors.collect(cdk().propertyValidator("refId",cdk().validateString)(properties.refId)),errors.collect(cdk().propertyValidator("text",cdk().requiredValidator)(properties.text)),errors.collect(cdk().propertyValidator("text",cdk().validateString)(properties.text)),errors.wrap('supplied properties not correct for "EvaluationFormMultiSelectQuestionOptionProperty"')}function convertCfnEvaluationFormEvaluationFormMultiSelectQuestionOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormMultiSelectQuestionOptionPropertyValidator(properties).assertSuccess(),{RefId:cdk().stringToCloudFormation(properties.refId),Text:cdk().stringToCloudFormation(properties.text)}):properties}function CfnEvaluationFormEvaluationFormMultiSelectQuestionOptionPropertyFromCloudFormation(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("refId","RefId",properties.RefId!=null?cfn_parse().FromCloudFormation.getString(properties.RefId):void 0),ret.addPropertyResult("text","Text",properties.Text!=null?cfn_parse().FromCloudFormation.getString(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormMultiSelectQuestionRuleCategoryAutomationPropertyValidator(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("category",cdk().requiredValidator)(properties.category)),errors.collect(cdk().propertyValidator("category",cdk().validateString)(properties.category)),errors.collect(cdk().propertyValidator("condition",cdk().requiredValidator)(properties.condition)),errors.collect(cdk().propertyValidator("condition",cdk().validateString)(properties.condition)),errors.collect(cdk().propertyValidator("optionRefIds",cdk().requiredValidator)(properties.optionRefIds)),errors.collect(cdk().propertyValidator("optionRefIds",cdk().listValidator(cdk().validateString))(properties.optionRefIds)),errors.wrap('supplied properties not correct for "MultiSelectQuestionRuleCategoryAutomationProperty"')}function convertCfnEvaluationFormMultiSelectQuestionRuleCategoryAutomationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormMultiSelectQuestionRuleCategoryAutomationPropertyValidator(properties).assertSuccess(),{Category:cdk().stringToCloudFormation(properties.category),Condition:cdk().stringToCloudFormation(properties.condition),OptionRefIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.optionRefIds)}):properties}function CfnEvaluationFormMultiSelectQuestionRuleCategoryAutomationPropertyFromCloudFormation(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("category","Category",properties.Category!=null?cfn_parse().FromCloudFormation.getString(properties.Category):void 0),ret.addPropertyResult("condition","Condition",properties.Condition!=null?cfn_parse().FromCloudFormation.getString(properties.Condition):void 0),ret.addPropertyResult("optionRefIds","OptionRefIds",properties.OptionRefIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.OptionRefIds):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormMultiSelectQuestionAutomationOptionPropertyValidator(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("ruleCategory",cdk().requiredValidator)(properties.ruleCategory)),errors.collect(cdk().propertyValidator("ruleCategory",CfnEvaluationFormMultiSelectQuestionRuleCategoryAutomationPropertyValidator)(properties.ruleCategory)),errors.wrap('supplied properties not correct for "EvaluationFormMultiSelectQuestionAutomationOptionProperty"')}function convertCfnEvaluationFormEvaluationFormMultiSelectQuestionAutomationOptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormMultiSelectQuestionAutomationOptionPropertyValidator(properties).assertSuccess(),{RuleCategory:convertCfnEvaluationFormMultiSelectQuestionRuleCategoryAutomationPropertyToCloudFormation(properties.ruleCategory)}):properties}function CfnEvaluationFormEvaluationFormMultiSelectQuestionAutomationOptionPropertyFromCloudFormation(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("ruleCategory","RuleCategory",properties.RuleCategory!=null?CfnEvaluationFormMultiSelectQuestionRuleCategoryAutomationPropertyFromCloudFormation(properties.RuleCategory):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormMultiSelectQuestionAutomationPropertyValidator(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("answerSource",CfnEvaluationFormEvaluationFormQuestionAutomationAnswerSourcePropertyValidator)(properties.answerSource)),errors.collect(cdk().propertyValidator("defaultOptionRefIds",cdk().listValidator(cdk().validateString))(properties.defaultOptionRefIds)),errors.collect(cdk().propertyValidator("options",cdk().requiredValidator)(properties.options)),errors.collect(cdk().propertyValidator("options",cdk().listValidator(CfnEvaluationFormEvaluationFormMultiSelectQuestionAutomationOptionPropertyValidator))(properties.options)),errors.wrap('supplied properties not correct for "EvaluationFormMultiSelectQuestionAutomationProperty"')}function convertCfnEvaluationFormEvaluationFormMultiSelectQuestionAutomationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormMultiSelectQuestionAutomationPropertyValidator(properties).assertSuccess(),{AnswerSource:convertCfnEvaluationFormEvaluationFormQuestionAutomationAnswerSourcePropertyToCloudFormation(properties.answerSource),DefaultOptionRefIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.defaultOptionRefIds),Options:cdk().listMapper(convertCfnEvaluationFormEvaluationFormMultiSelectQuestionAutomationOptionPropertyToCloudFormation)(properties.options)}):properties}function CfnEvaluationFormEvaluationFormMultiSelectQuestionAutomationPropertyFromCloudFormation(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("answerSource","AnswerSource",properties.AnswerSource!=null?CfnEvaluationFormEvaluationFormQuestionAutomationAnswerSourcePropertyFromCloudFormation(properties.AnswerSource):void 0),ret.addPropertyResult("defaultOptionRefIds","DefaultOptionRefIds",properties.DefaultOptionRefIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.DefaultOptionRefIds):void 0),ret.addPropertyResult("options","Options",properties.Options!=null?cfn_parse().FromCloudFormation.getArray(CfnEvaluationFormEvaluationFormMultiSelectQuestionAutomationOptionPropertyFromCloudFormation)(properties.Options):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormMultiSelectQuestionPropertiesPropertyValidator(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("automation",CfnEvaluationFormEvaluationFormMultiSelectQuestionAutomationPropertyValidator)(properties.automation)),errors.collect(cdk().propertyValidator("displayAs",cdk().validateString)(properties.displayAs)),errors.collect(cdk().propertyValidator("options",cdk().requiredValidator)(properties.options)),errors.collect(cdk().propertyValidator("options",cdk().listValidator(CfnEvaluationFormEvaluationFormMultiSelectQuestionOptionPropertyValidator))(properties.options)),errors.wrap('supplied properties not correct for "EvaluationFormMultiSelectQuestionPropertiesProperty"')}function convertCfnEvaluationFormEvaluationFormMultiSelectQuestionPropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormMultiSelectQuestionPropertiesPropertyValidator(properties).assertSuccess(),{Automation:convertCfnEvaluationFormEvaluationFormMultiSelectQuestionAutomationPropertyToCloudFormation(properties.automation),DisplayAs:cdk().stringToCloudFormation(properties.displayAs),Options:cdk().listMapper(convertCfnEvaluationFormEvaluationFormMultiSelectQuestionOptionPropertyToCloudFormation)(properties.options)}):properties}function CfnEvaluationFormEvaluationFormMultiSelectQuestionPropertiesPropertyFromCloudFormation(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("automation","Automation",properties.Automation!=null?CfnEvaluationFormEvaluationFormMultiSelectQuestionAutomationPropertyFromCloudFormation(properties.Automation):void 0),ret.addPropertyResult("displayAs","DisplayAs",properties.DisplayAs!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayAs):void 0),ret.addPropertyResult("options","Options",properties.Options!=null?cfn_parse().FromCloudFormation.getArray(CfnEvaluationFormEvaluationFormMultiSelectQuestionOptionPropertyFromCloudFormation)(properties.Options):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormQuestionTypePropertiesPropertyValidator(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("multiSelect",CfnEvaluationFormEvaluationFormMultiSelectQuestionPropertiesPropertyValidator)(properties.multiSelect)),errors.collect(cdk().propertyValidator("numeric",CfnEvaluationFormEvaluationFormNumericQuestionPropertiesPropertyValidator)(properties.numeric)),errors.collect(cdk().propertyValidator("singleSelect",CfnEvaluationFormEvaluationFormSingleSelectQuestionPropertiesPropertyValidator)(properties.singleSelect)),errors.collect(cdk().propertyValidator("text",CfnEvaluationFormEvaluationFormTextQuestionPropertiesPropertyValidator)(properties.text)),errors.wrap('supplied properties not correct for "EvaluationFormQuestionTypePropertiesProperty"')}function convertCfnEvaluationFormEvaluationFormQuestionTypePropertiesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormQuestionTypePropertiesPropertyValidator(properties).assertSuccess(),{MultiSelect:convertCfnEvaluationFormEvaluationFormMultiSelectQuestionPropertiesPropertyToCloudFormation(properties.multiSelect),Numeric:convertCfnEvaluationFormEvaluationFormNumericQuestionPropertiesPropertyToCloudFormation(properties.numeric),SingleSelect:convertCfnEvaluationFormEvaluationFormSingleSelectQuestionPropertiesPropertyToCloudFormation(properties.singleSelect),Text:convertCfnEvaluationFormEvaluationFormTextQuestionPropertiesPropertyToCloudFormation(properties.text)}):properties}function CfnEvaluationFormEvaluationFormQuestionTypePropertiesPropertyFromCloudFormation(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("multiSelect","MultiSelect",properties.MultiSelect!=null?CfnEvaluationFormEvaluationFormMultiSelectQuestionPropertiesPropertyFromCloudFormation(properties.MultiSelect):void 0),ret.addPropertyResult("numeric","Numeric",properties.Numeric!=null?CfnEvaluationFormEvaluationFormNumericQuestionPropertiesPropertyFromCloudFormation(properties.Numeric):void 0),ret.addPropertyResult("singleSelect","SingleSelect",properties.SingleSelect!=null?CfnEvaluationFormEvaluationFormSingleSelectQuestionPropertiesPropertyFromCloudFormation(properties.SingleSelect):void 0),ret.addPropertyResult("text","Text",properties.Text!=null?CfnEvaluationFormEvaluationFormTextQuestionPropertiesPropertyFromCloudFormation(properties.Text):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormItemEnablementSourcePropertyValidator(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("refId",cdk().validateString)(properties.refId)),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 "EvaluationFormItemEnablementSourceProperty"')}function convertCfnEvaluationFormEvaluationFormItemEnablementSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormItemEnablementSourcePropertyValidator(properties).assertSuccess(),{RefId:cdk().stringToCloudFormation(properties.refId),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnEvaluationFormEvaluationFormItemEnablementSourcePropertyFromCloudFormation(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("refId","RefId",properties.RefId!=null?cfn_parse().FromCloudFormation.getString(properties.RefId):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormItemEnablementSourceValuePropertyValidator(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("refId",cdk().validateString)(properties.refId)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "EvaluationFormItemEnablementSourceValueProperty"')}function convertCfnEvaluationFormEvaluationFormItemEnablementSourceValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormItemEnablementSourceValuePropertyValidator(properties).assertSuccess(),{RefId:cdk().stringToCloudFormation(properties.refId),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnEvaluationFormEvaluationFormItemEnablementSourceValuePropertyFromCloudFormation(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("refId","RefId",properties.RefId!=null?cfn_parse().FromCloudFormation.getString(properties.RefId):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormItemEnablementExpressionPropertyValidator(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("comparator",cdk().requiredValidator)(properties.comparator)),errors.collect(cdk().propertyValidator("comparator",cdk().validateString)(properties.comparator)),errors.collect(cdk().propertyValidator("source",cdk().requiredValidator)(properties.source)),errors.collect(cdk().propertyValidator("source",CfnEvaluationFormEvaluationFormItemEnablementSourcePropertyValidator)(properties.source)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnEvaluationFormEvaluationFormItemEnablementSourceValuePropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "EvaluationFormItemEnablementExpressionProperty"')}function convertCfnEvaluationFormEvaluationFormItemEnablementExpressionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormItemEnablementExpressionPropertyValidator(properties).assertSuccess(),{Comparator:cdk().stringToCloudFormation(properties.comparator),Source:convertCfnEvaluationFormEvaluationFormItemEnablementSourcePropertyToCloudFormation(properties.source),Values:cdk().listMapper(convertCfnEvaluationFormEvaluationFormItemEnablementSourceValuePropertyToCloudFormation)(properties.values)}):properties}function CfnEvaluationFormEvaluationFormItemEnablementExpressionPropertyFromCloudFormation(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("comparator","Comparator",properties.Comparator!=null?cfn_parse().FromCloudFormation.getString(properties.Comparator):void 0),ret.addPropertyResult("source","Source",properties.Source!=null?CfnEvaluationFormEvaluationFormItemEnablementSourcePropertyFromCloudFormation(properties.Source):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnEvaluationFormEvaluationFormItemEnablementSourceValuePropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormItemEnablementConditionOperandPropertyValidator(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("expression",CfnEvaluationFormEvaluationFormItemEnablementExpressionPropertyValidator)(properties.expression)),errors.wrap('supplied properties not correct for "EvaluationFormItemEnablementConditionOperandProperty"')}function convertCfnEvaluationFormEvaluationFormItemEnablementConditionOperandPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormItemEnablementConditionOperandPropertyValidator(properties).assertSuccess(),{Expression:convertCfnEvaluationFormEvaluationFormItemEnablementExpressionPropertyToCloudFormation(properties.expression)}):properties}function CfnEvaluationFormEvaluationFormItemEnablementConditionOperandPropertyFromCloudFormation(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("expression","Expression",properties.Expression!=null?CfnEvaluationFormEvaluationFormItemEnablementExpressionPropertyFromCloudFormation(properties.Expression):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormItemEnablementConditionPropertyValidator(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("operands",cdk().requiredValidator)(properties.operands)),errors.collect(cdk().propertyValidator("operands",cdk().listValidator(CfnEvaluationFormEvaluationFormItemEnablementConditionOperandPropertyValidator))(properties.operands)),errors.collect(cdk().propertyValidator("operator",cdk().validateString)(properties.operator)),errors.wrap('supplied properties not correct for "EvaluationFormItemEnablementConditionProperty"')}function convertCfnEvaluationFormEvaluationFormItemEnablementConditionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormItemEnablementConditionPropertyValidator(properties).assertSuccess(),{Operands:cdk().listMapper(convertCfnEvaluationFormEvaluationFormItemEnablementConditionOperandPropertyToCloudFormation)(properties.operands),Operator:cdk().stringToCloudFormation(properties.operator)}):properties}function CfnEvaluationFormEvaluationFormItemEnablementConditionPropertyFromCloudFormation(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("operands","Operands",properties.Operands!=null?cfn_parse().FromCloudFormation.getArray(CfnEvaluationFormEvaluationFormItemEnablementConditionOperandPropertyFromCloudFormation)(properties.Operands):void 0),ret.addPropertyResult("operator","Operator",properties.Operator!=null?cfn_parse().FromCloudFormation.getString(properties.Operator):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormItemEnablementConfigurationPropertyValidator(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("action",cdk().requiredValidator)(properties.action)),errors.collect(cdk().propertyValidator("action",cdk().validateString)(properties.action)),errors.collect(cdk().propertyValidator("condition",cdk().requiredValidator)(properties.condition)),errors.collect(cdk().propertyValidator("condition",CfnEvaluationFormEvaluationFormItemEnablementConditionPropertyValidator)(properties.condition)),errors.collect(cdk().propertyValidator("defaultAction",cdk().validateString)(properties.defaultAction)),errors.wrap('supplied properties not correct for "EvaluationFormItemEnablementConfigurationProperty"')}function convertCfnEvaluationFormEvaluationFormItemEnablementConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormItemEnablementConfigurationPropertyValidator(properties).assertSuccess(),{Action:cdk().stringToCloudFormation(properties.action),Condition:convertCfnEvaluationFormEvaluationFormItemEnablementConditionPropertyToCloudFormation(properties.condition),DefaultAction:cdk().stringToCloudFormation(properties.defaultAction)}):properties}function CfnEvaluationFormEvaluationFormItemEnablementConfigurationPropertyFromCloudFormation(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("action","Action",properties.Action!=null?cfn_parse().FromCloudFormation.getString(properties.Action):void 0),ret.addPropertyResult("condition","Condition",properties.Condition!=null?CfnEvaluationFormEvaluationFormItemEnablementConditionPropertyFromCloudFormation(properties.Condition):void 0),ret.addPropertyResult("defaultAction","DefaultAction",properties.DefaultAction!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultAction):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormQuestionPropertyValidator(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("enablement",CfnEvaluationFormEvaluationFormItemEnablementConfigurationPropertyValidator)(properties.enablement)),errors.collect(cdk().propertyValidator("instructions",cdk().validateString)(properties.instructions)),errors.collect(cdk().propertyValidator("notApplicableEnabled",cdk().validateBoolean)(properties.notApplicableEnabled)),errors.collect(cdk().propertyValidator("questionType",cdk().requiredValidator)(properties.questionType)),errors.collect(cdk().propertyValidator("questionType",cdk().validateString)(properties.questionType)),errors.collect(cdk().propertyValidator("questionTypeProperties",CfnEvaluationFormEvaluationFormQuestionTypePropertiesPropertyValidator)(properties.questionTypeProperties)),errors.collect(cdk().propertyValidator("refId",cdk().requiredValidator)(properties.refId)),errors.collect(cdk().propertyValidator("refId",cdk().validateString)(properties.refId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("weight",cdk().validateNumber)(properties.weight)),errors.wrap('supplied properties not correct for "EvaluationFormQuestionProperty"')}function convertCfnEvaluationFormEvaluationFormQuestionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormQuestionPropertyValidator(properties).assertSuccess(),{Enablement:convertCfnEvaluationFormEvaluationFormItemEnablementConfigurationPropertyToCloudFormation(properties.enablement),Instructions:cdk().stringToCloudFormation(properties.instructions),NotApplicableEnabled:cdk().booleanToCloudFormation(properties.notApplicableEnabled),QuestionType:cdk().stringToCloudFormation(properties.questionType),QuestionTypeProperties:convertCfnEvaluationFormEvaluationFormQuestionTypePropertiesPropertyToCloudFormation(properties.questionTypeProperties),RefId:cdk().stringToCloudFormation(properties.refId),Title:cdk().stringToCloudFormation(properties.title),Weight:cdk().numberToCloudFormation(properties.weight)}):properties}function CfnEvaluationFormEvaluationFormQuestionPropertyFromCloudFormation(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("enablement","Enablement",properties.Enablement!=null?CfnEvaluationFormEvaluationFormItemEnablementConfigurationPropertyFromCloudFormation(properties.Enablement):void 0),ret.addPropertyResult("instructions","Instructions",properties.Instructions!=null?cfn_parse().FromCloudFormation.getString(properties.Instructions):void 0),ret.addPropertyResult("notApplicableEnabled","NotApplicableEnabled",properties.NotApplicableEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.NotApplicableEnabled):void 0),ret.addPropertyResult("questionType","QuestionType",properties.QuestionType!=null?cfn_parse().FromCloudFormation.getString(properties.QuestionType):void 0),ret.addPropertyResult("questionTypeProperties","QuestionTypeProperties",properties.QuestionTypeProperties!=null?CfnEvaluationFormEvaluationFormQuestionTypePropertiesPropertyFromCloudFormation(properties.QuestionTypeProperties):void 0),ret.addPropertyResult("refId","RefId",properties.RefId!=null?cfn_parse().FromCloudFormation.getString(properties.RefId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("weight","Weight",properties.Weight!=null?cfn_parse().FromCloudFormation.getNumber(properties.Weight):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormItemPropertyValidator(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("question",CfnEvaluationFormEvaluationFormQuestionPropertyValidator)(properties.question)),errors.collect(cdk().propertyValidator("section",CfnEvaluationFormEvaluationFormSectionPropertyValidator)(properties.section)),errors.wrap('supplied properties not correct for "EvaluationFormItemProperty"')}function convertCfnEvaluationFormEvaluationFormItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormItemPropertyValidator(properties).assertSuccess(),{Question:convertCfnEvaluationFormEvaluationFormQuestionPropertyToCloudFormation(properties.question),Section:convertCfnEvaluationFormEvaluationFormSectionPropertyToCloudFormation(properties.section)}):properties}function CfnEvaluationFormEvaluationFormItemPropertyFromCloudFormation(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("question","Question",properties.Question!=null?CfnEvaluationFormEvaluationFormQuestionPropertyFromCloudFormation(properties.Question):void 0),ret.addPropertyResult("section","Section",properties.Section!=null?CfnEvaluationFormEvaluationFormSectionPropertyFromCloudFormation(properties.Section):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormSectionPropertyValidator(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("instructions",cdk().validateString)(properties.instructions)),errors.collect(cdk().propertyValidator("items",cdk().listValidator(CfnEvaluationFormEvaluationFormItemPropertyValidator))(properties.items)),errors.collect(cdk().propertyValidator("refId",cdk().requiredValidator)(properties.refId)),errors.collect(cdk().propertyValidator("refId",cdk().validateString)(properties.refId)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("weight",cdk().validateNumber)(properties.weight)),errors.wrap('supplied properties not correct for "EvaluationFormSectionProperty"')}function convertCfnEvaluationFormEvaluationFormSectionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormSectionPropertyValidator(properties).assertSuccess(),{Instructions:cdk().stringToCloudFormation(properties.instructions),Items:cdk().listMapper(convertCfnEvaluationFormEvaluationFormItemPropertyToCloudFormation)(properties.items),RefId:cdk().stringToCloudFormation(properties.refId),Title:cdk().stringToCloudFormation(properties.title),Weight:cdk().numberToCloudFormation(properties.weight)}):properties}function CfnEvaluationFormEvaluationFormSectionPropertyFromCloudFormation(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("instructions","Instructions",properties.Instructions!=null?cfn_parse().FromCloudFormation.getString(properties.Instructions):void 0),ret.addPropertyResult("items","Items",properties.Items!=null?cfn_parse().FromCloudFormation.getArray(CfnEvaluationFormEvaluationFormItemPropertyFromCloudFormation)(properties.Items):void 0),ret.addPropertyResult("refId","RefId",properties.RefId!=null?cfn_parse().FromCloudFormation.getString(properties.RefId):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("weight","Weight",properties.Weight!=null?cfn_parse().FromCloudFormation.getNumber(properties.Weight):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormBaseItemPropertyValidator(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("section",cdk().requiredValidator)(properties.section)),errors.collect(cdk().propertyValidator("section",CfnEvaluationFormEvaluationFormSectionPropertyValidator)(properties.section)),errors.wrap('supplied properties not correct for "EvaluationFormBaseItemProperty"')}function convertCfnEvaluationFormEvaluationFormBaseItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormBaseItemPropertyValidator(properties).assertSuccess(),{Section:convertCfnEvaluationFormEvaluationFormSectionPropertyToCloudFormation(properties.section)}):properties}function CfnEvaluationFormEvaluationFormBaseItemPropertyFromCloudFormation(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("section","Section",properties.Section!=null?CfnEvaluationFormEvaluationFormSectionPropertyFromCloudFormation(properties.Section):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormAutoEvaluationConfigurationPropertyValidator(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("enabled",cdk().validateBoolean)(properties.enabled)),errors.wrap('supplied properties not correct for "AutoEvaluationConfigurationProperty"')}function convertCfnEvaluationFormAutoEvaluationConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormAutoEvaluationConfigurationPropertyValidator(properties).assertSuccess(),{Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnEvaluationFormAutoEvaluationConfigurationPropertyFromCloudFormation(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("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormTargetConfigurationPropertyValidator(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("contactInteractionType",cdk().requiredValidator)(properties.contactInteractionType)),errors.collect(cdk().propertyValidator("contactInteractionType",cdk().validateString)(properties.contactInteractionType)),errors.wrap('supplied properties not correct for "EvaluationFormTargetConfigurationProperty"')}function convertCfnEvaluationFormEvaluationFormTargetConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormTargetConfigurationPropertyValidator(properties).assertSuccess(),{ContactInteractionType:cdk().stringToCloudFormation(properties.contactInteractionType)}):properties}function CfnEvaluationFormEvaluationFormTargetConfigurationPropertyFromCloudFormation(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("contactInteractionType","ContactInteractionType",properties.ContactInteractionType!=null?cfn_parse().FromCloudFormation.getString(properties.ContactInteractionType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationFormLanguageConfigurationPropertyValidator(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("formLanguage",cdk().validateString)(properties.formLanguage)),errors.wrap('supplied properties not correct for "EvaluationFormLanguageConfigurationProperty"')}function convertCfnEvaluationFormEvaluationFormLanguageConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationFormLanguageConfigurationPropertyValidator(properties).assertSuccess(),{FormLanguage:cdk().stringToCloudFormation(properties.formLanguage)}):properties}function CfnEvaluationFormEvaluationFormLanguageConfigurationPropertyFromCloudFormation(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("formLanguage","FormLanguage",properties.FormLanguage!=null?cfn_parse().FromCloudFormation.getString(properties.FormLanguage):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationReviewNotificationRecipientValuePropertyValidator(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("userId",cdk().validateString)(properties.userId)),errors.wrap('supplied properties not correct for "EvaluationReviewNotificationRecipientValueProperty"')}function convertCfnEvaluationFormEvaluationReviewNotificationRecipientValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationReviewNotificationRecipientValuePropertyValidator(properties).assertSuccess(),{UserId:cdk().stringToCloudFormation(properties.userId)}):properties}function CfnEvaluationFormEvaluationReviewNotificationRecipientValuePropertyFromCloudFormation(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("userId","UserId",properties.UserId!=null?cfn_parse().FromCloudFormation.getString(properties.UserId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationReviewNotificationRecipientPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",CfnEvaluationFormEvaluationReviewNotificationRecipientValuePropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "EvaluationReviewNotificationRecipientProperty"')}function convertCfnEvaluationFormEvaluationReviewNotificationRecipientPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationReviewNotificationRecipientPropertyValidator(properties).assertSuccess(),{Type:cdk().stringToCloudFormation(properties.type),Value:convertCfnEvaluationFormEvaluationReviewNotificationRecipientValuePropertyToCloudFormation(properties.value)}):properties}function CfnEvaluationFormEvaluationReviewNotificationRecipientPropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnEvaluationFormEvaluationReviewNotificationRecipientValuePropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormEvaluationReviewConfigurationPropertyValidator(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("eligibilityDays",cdk().validateNumber)(properties.eligibilityDays)),errors.collect(cdk().propertyValidator("reviewNotificationRecipients",cdk().requiredValidator)(properties.reviewNotificationRecipients)),errors.collect(cdk().propertyValidator("reviewNotificationRecipients",cdk().listValidator(CfnEvaluationFormEvaluationReviewNotificationRecipientPropertyValidator))(properties.reviewNotificationRecipients)),errors.wrap('supplied properties not correct for "EvaluationReviewConfigurationProperty"')}function convertCfnEvaluationFormEvaluationReviewConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormEvaluationReviewConfigurationPropertyValidator(properties).assertSuccess(),{EligibilityDays:cdk().numberToCloudFormation(properties.eligibilityDays),ReviewNotificationRecipients:cdk().listMapper(convertCfnEvaluationFormEvaluationReviewNotificationRecipientPropertyToCloudFormation)(properties.reviewNotificationRecipients)}):properties}function CfnEvaluationFormEvaluationReviewConfigurationPropertyFromCloudFormation(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("eligibilityDays","EligibilityDays",properties.EligibilityDays!=null?cfn_parse().FromCloudFormation.getNumber(properties.EligibilityDays):void 0),ret.addPropertyResult("reviewNotificationRecipients","ReviewNotificationRecipients",properties.ReviewNotificationRecipients!=null?cfn_parse().FromCloudFormation.getArray(CfnEvaluationFormEvaluationReviewNotificationRecipientPropertyFromCloudFormation)(properties.ReviewNotificationRecipients):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEvaluationFormPropsValidator(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("autoEvaluationConfiguration",CfnEvaluationFormAutoEvaluationConfigurationPropertyValidator)(properties.autoEvaluationConfiguration)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("items",cdk().requiredValidator)(properties.items)),errors.collect(cdk().propertyValidator("items",cdk().listValidator(CfnEvaluationFormEvaluationFormBaseItemPropertyValidator))(properties.items)),errors.collect(cdk().propertyValidator("languageConfiguration",CfnEvaluationFormEvaluationFormLanguageConfigurationPropertyValidator)(properties.languageConfiguration)),errors.collect(cdk().propertyValidator("reviewConfiguration",CfnEvaluationFormEvaluationReviewConfigurationPropertyValidator)(properties.reviewConfiguration)),errors.collect(cdk().propertyValidator("scoringStrategy",CfnEvaluationFormScoringStrategyPropertyValidator)(properties.scoringStrategy)),errors.collect(cdk().propertyValidator("status",cdk().requiredValidator)(properties.status)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("targetConfiguration",CfnEvaluationFormEvaluationFormTargetConfigurationPropertyValidator)(properties.targetConfiguration)),errors.collect(cdk().propertyValidator("title",cdk().requiredValidator)(properties.title)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.wrap('supplied properties not correct for "CfnEvaluationFormProps"')}function convertCfnEvaluationFormPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEvaluationFormPropsValidator(properties).assertSuccess(),{AutoEvaluationConfiguration:convertCfnEvaluationFormAutoEvaluationConfigurationPropertyToCloudFormation(properties.autoEvaluationConfiguration),Description:cdk().stringToCloudFormation(properties.description),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Items:cdk().listMapper(convertCfnEvaluationFormEvaluationFormBaseItemPropertyToCloudFormation)(properties.items),LanguageConfiguration:convertCfnEvaluationFormEvaluationFormLanguageConfigurationPropertyToCloudFormation(properties.languageConfiguration),ReviewConfiguration:convertCfnEvaluationFormEvaluationReviewConfigurationPropertyToCloudFormation(properties.reviewConfiguration),ScoringStrategy:convertCfnEvaluationFormScoringStrategyPropertyToCloudFormation(properties.scoringStrategy),Status:cdk().stringToCloudFormation(properties.status),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TargetConfiguration:convertCfnEvaluationFormEvaluationFormTargetConfigurationPropertyToCloudFormation(properties.targetConfiguration),Title:cdk().stringToCloudFormation(properties.title)}):properties}function CfnEvaluationFormPropsFromCloudFormation(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("autoEvaluationConfiguration","AutoEvaluationConfiguration",properties.AutoEvaluationConfiguration!=null?CfnEvaluationFormAutoEvaluationConfigurationPropertyFromCloudFormation(properties.AutoEvaluationConfiguration):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("items","Items",properties.Items!=null?cfn_parse().FromCloudFormation.getArray(CfnEvaluationFormEvaluationFormBaseItemPropertyFromCloudFormation)(properties.Items):void 0),ret.addPropertyResult("languageConfiguration","LanguageConfiguration",properties.LanguageConfiguration!=null?CfnEvaluationFormEvaluationFormLanguageConfigurationPropertyFromCloudFormation(properties.LanguageConfiguration):void 0),ret.addPropertyResult("reviewConfiguration","ReviewConfiguration",properties.ReviewConfiguration!=null?CfnEvaluationFormEvaluationReviewConfigurationPropertyFromCloudFormation(properties.ReviewConfiguration):void 0),ret.addPropertyResult("scoringStrategy","ScoringStrategy",properties.ScoringStrategy!=null?CfnEvaluationFormScoringStrategyPropertyFromCloudFormation(properties.ScoringStrategy):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("targetConfiguration","TargetConfiguration",properties.TargetConfiguration!=null?CfnEvaluationFormEvaluationFormTargetConfigurationPropertyFromCloudFormation(properties.TargetConfiguration):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnHoursOfOperation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnHoursOfOperation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::HoursOfOperation";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnHoursOfOperationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnHoursOfOperation(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 isCfnHoursOfOperation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnHoursOfOperation.CFN_RESOURCE_TYPE_NAME}static arnForHoursOfOperation(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IHoursOfOperationRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForHoursOfOperation),error}return resource.hoursOfOperationRef.hoursOfOperationArn}_childHoursOfOperations;_config;_description;_hoursOfOperationOverrides;_instanceArn;_name;_parentHoursOfOperations;tags;_tagsRaw;_timeZone;cfnPropertyNames={childHoursOfOperations:"ChildHoursOfOperations",config:"Config",description:"Description",hoursOfOperationOverrides:"HoursOfOperationOverrides",instanceArn:"InstanceArn",name:"Name",parentHoursOfOperations:"ParentHoursOfOperations",tags:"Tags",timeZone:"TimeZone"};constructor(scope,id,props){super(scope,id,{type:CfnHoursOfOperation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnHoursOfOperationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnHoursOfOperation),error}cdk().requireProperty(props,"config",this),cdk().requireProperty(props,"instanceArn",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"timeZone",this),this._childHoursOfOperations=props.childHoursOfOperations,this._config=props.config,this._description=props.description,this._hoursOfOperationOverrides=props.hoursOfOperationOverrides,this._instanceArn=cdk().getRefProperty(props.instanceArn?.instanceRef,"instanceArn")??cdk().ensureStringOrUndefined(props.instanceArn,"instanceArn","connect.IInstanceRef | string"),this._name=props.name,this._parentHoursOfOperations=props.parentHoursOfOperations,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::HoursOfOperation",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._timeZone=props.timeZone}get hoursOfOperationRef(){return{hoursOfOperationArn:this.ref}}get childHoursOfOperations(){return this._childHoursOfOperations}set childHoursOfOperations(value){cdk().traceProperty(this.node,"ChildHoursOfOperations"),this._childHoursOfOperations=value}get config(){return this._config}set config(value){cdk().traceProperty(this.node,"Config"),this._config=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get hoursOfOperationOverrides(){return this._hoursOfOperationOverrides}set hoursOfOperationOverrides(value){cdk().traceProperty(this.node,"HoursOfOperationOverrides"),this._hoursOfOperationOverrides=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get parentHoursOfOperations(){return this._parentHoursOfOperations}set parentHoursOfOperations(value){cdk().traceProperty(this.node,"ParentHoursOfOperations"),this._parentHoursOfOperations=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get timeZone(){return this._timeZone}set timeZone(value){cdk().traceProperty(this.node,"TimeZone"),this._timeZone=value}get attrHoursOfOperationArn(){return cdk().Token.asString(this.getAtt("HoursOfOperationArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{childHoursOfOperations:this._childHoursOfOperations,config:this._config,description:this._description,hoursOfOperationOverrides:this._hoursOfOperationOverrides,instanceArn:this._instanceArn,name:this._name,parentHoursOfOperations:this._parentHoursOfOperations,tags:this.tags.renderTags(),timeZone:this._timeZone}}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",CfnHoursOfOperation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnHoursOfOperationPropsToCloudFormation(props)}}exports.CfnHoursOfOperation=CfnHoursOfOperation;function CfnHoursOfOperationHoursOfOperationTimeSlicePropertyValidator(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("hours",cdk().requiredValidator)(properties.hours)),errors.collect(cdk().propertyValidator("hours",cdk().validateNumber)(properties.hours)),errors.collect(cdk().propertyValidator("minutes",cdk().requiredValidator)(properties.minutes)),errors.collect(cdk().propertyValidator("minutes",cdk().validateNumber)(properties.minutes)),errors.wrap('supplied properties not correct for "HoursOfOperationTimeSliceProperty"')}function convertCfnHoursOfOperationHoursOfOperationTimeSlicePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnHoursOfOperationHoursOfOperationTimeSlicePropertyValidator(properties).assertSuccess(),{Hours:cdk().numberToCloudFormation(properties.hours),Minutes:cdk().numberToCloudFormation(properties.minutes)}):properties}function CfnHoursOfOperationHoursOfOperationTimeSlicePropertyFromCloudFormation(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("hours","Hours",properties.Hours!=null?cfn_parse().FromCloudFormation.getNumber(properties.Hours):void 0),ret.addPropertyResult("minutes","Minutes",properties.Minutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.Minutes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnHoursOfOperationHoursOfOperationConfigPropertyValidator(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("day",cdk().requiredValidator)(properties.day)),errors.collect(cdk().propertyValidator("day",cdk().validateString)(properties.day)),errors.collect(cdk().propertyValidator("endTime",cdk().requiredValidator)(properties.endTime)),errors.collect(cdk().propertyValidator("endTime",CfnHoursOfOperationHoursOfOperationTimeSlicePropertyValidator)(properties.endTime)),errors.collect(cdk().propertyValidator("startTime",cdk().requiredValidator)(properties.startTime)),errors.collect(cdk().propertyValidator("startTime",CfnHoursOfOperationHoursOfOperationTimeSlicePropertyValidator)(properties.startTime)),errors.wrap('supplied properties not correct for "HoursOfOperationConfigProperty"')}function convertCfnHoursOfOperationHoursOfOperationConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnHoursOfOperationHoursOfOperationConfigPropertyValidator(properties).assertSuccess(),{Day:cdk().stringToCloudFormation(properties.day),EndTime:convertCfnHoursOfOperationHoursOfOperationTimeSlicePropertyToCloudFormation(properties.endTime),StartTime:convertCfnHoursOfOperationHoursOfOperationTimeSlicePropertyToCloudFormation(properties.startTime)}):properties}function CfnHoursOfOperationHoursOfOperationConfigPropertyFromCloudFormation(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("day","Day",properties.Day!=null?cfn_parse().FromCloudFormation.getString(properties.Day):void 0),ret.addPropertyResult("endTime","EndTime",properties.EndTime!=null?CfnHoursOfOperationHoursOfOperationTimeSlicePropertyFromCloudFormation(properties.EndTime):void 0),ret.addPropertyResult("startTime","StartTime",properties.StartTime!=null?CfnHoursOfOperationHoursOfOperationTimeSlicePropertyFromCloudFormation(properties.StartTime):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnHoursOfOperationOverrideTimeSlicePropertyValidator(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("hours",cdk().requiredValidator)(properties.hours)),errors.collect(cdk().propertyValidator("hours",cdk().validateNumber)(properties.hours)),errors.collect(cdk().propertyValidator("minutes",cdk().requiredValidator)(properties.minutes)),errors.collect(cdk().propertyValidator("minutes",cdk().validateNumber)(properties.minutes)),errors.wrap('supplied properties not correct for "OverrideTimeSliceProperty"')}function convertCfnHoursOfOperationOverrideTimeSlicePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnHoursOfOperationOverrideTimeSlicePropertyValidator(properties).assertSuccess(),{Hours:cdk().numberToCloudFormation(properties.hours),Minutes:cdk().numberToCloudFormation(properties.minutes)}):properties}function CfnHoursOfOperationOverrideTimeSlicePropertyFromCloudFormation(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("hours","Hours",properties.Hours!=null?cfn_parse().FromCloudFormation.getNumber(properties.Hours):void 0),ret.addPropertyResult("minutes","Minutes",properties.Minutes!=null?cfn_parse().FromCloudFormation.getNumber(properties.Minutes):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnHoursOfOperationHoursOfOperationOverrideConfigPropertyValidator(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("day",cdk().requiredValidator)(properties.day)),errors.collect(cdk().propertyValidator("day",cdk().validateString)(properties.day)),errors.collect(cdk().propertyValidator("endTime",cdk().requiredValidator)(properties.endTime)),errors.collect(cdk().propertyValidator("endTime",CfnHoursOfOperationOverrideTimeSlicePropertyValidator)(properties.endTime)),errors.collect(cdk().propertyValidator("startTime",cdk().requiredValidator)(properties.startTime)),errors.collect(cdk().propertyValidator("startTime",CfnHoursOfOperationOverrideTimeSlicePropertyValidator)(properties.startTime)),errors.wrap('supplied properties not correct for "HoursOfOperationOverrideConfigProperty"')}function convertCfnHoursOfOperationHoursOfOperationOverrideConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnHoursOfOperationHoursOfOperationOverrideConfigPropertyValidator(properties).assertSuccess(),{Day:cdk().stringToCloudFormation(properties.day),EndTime:convertCfnHoursOfOperationOverrideTimeSlicePropertyToCloudFormation(properties.endTime),StartTime:convertCfnHoursOfOperationOverrideTimeSlicePropertyToCloudFormation(properties.startTime)}):properties}function CfnHoursOfOperationHoursOfOperationOverrideConfigPropertyFromCloudFormation(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("day","Day",properties.Day!=null?cfn_parse().FromCloudFormation.getString(properties.Day):void 0),ret.addPropertyResult("endTime","EndTime",properties.EndTime!=null?CfnHoursOfOperationOverrideTimeSlicePropertyFromCloudFormation(properties.EndTime):void 0),ret.addPropertyResult("startTime","StartTime",properties.StartTime!=null?CfnHoursOfOperationOverrideTimeSlicePropertyFromCloudFormation(properties.StartTime):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnHoursOfOperationRecurrencePatternPropertyValidator(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("byMonth",cdk().listValidator(cdk().validateNumber))(properties.byMonth)),errors.collect(cdk().propertyValidator("byMonthDay",cdk().listValidator(cdk().validateNumber))(properties.byMonthDay)),errors.collect(cdk().propertyValidator("byWeekdayOccurrence",cdk().listValidator(cdk().validateNumber))(properties.byWeekdayOccurrence)),errors.collect(cdk().propertyValidator("frequency",cdk().validateString)(properties.frequency)),errors.collect(cdk().propertyValidator("interval",cdk().validateNumber)(properties.interval)),errors.wrap('supplied properties not correct for "RecurrencePatternProperty"')}function convertCfnHoursOfOperationRecurrencePatternPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnHoursOfOperationRecurrencePatternPropertyValidator(properties).assertSuccess(),{ByMonth:cdk().listMapper(cdk().numberToCloudFormation)(properties.byMonth),ByMonthDay:cdk().listMapper(cdk().numberToCloudFormation)(properties.byMonthDay),ByWeekdayOccurrence:cdk().listMapper(cdk().numberToCloudFormation)(properties.byWeekdayOccurrence),Frequency:cdk().stringToCloudFormation(properties.frequency),Interval:cdk().numberToCloudFormation(properties.interval)}):properties}function CfnHoursOfOperationRecurrencePatternPropertyFromCloudFormation(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("byMonth","ByMonth",properties.ByMonth!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.ByMonth):void 0),ret.addPropertyResult("byMonthDay","ByMonthDay",properties.ByMonthDay!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.ByMonthDay):void 0),ret.addPropertyResult("byWeekdayOccurrence","ByWeekdayOccurrence",properties.ByWeekdayOccurrence!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getNumber)(properties.ByWeekdayOccurrence):void 0),ret.addPropertyResult("frequency","Frequency",properties.Frequency!=null?cfn_parse().FromCloudFormation.getString(properties.Frequency):void 0),ret.addPropertyResult("interval","Interval",properties.Interval!=null?cfn_parse().FromCloudFormation.getNumber(properties.Interval):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnHoursOfOperationRecurrenceConfigPropertyValidator(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("recurrencePattern",cdk().requiredValidator)(properties.recurrencePattern)),errors.collect(cdk().propertyValidator("recurrencePattern",CfnHoursOfOperationRecurrencePatternPropertyValidator)(properties.recurrencePattern)),errors.wrap('supplied properties not correct for "RecurrenceConfigProperty"')}function convertCfnHoursOfOperationRecurrenceConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnHoursOfOperationRecurrenceConfigPropertyValidator(properties).assertSuccess(),{RecurrencePattern:convertCfnHoursOfOperationRecurrencePatternPropertyToCloudFormation(properties.recurrencePattern)}):properties}function CfnHoursOfOperationRecurrenceConfigPropertyFromCloudFormation(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("recurrencePattern","RecurrencePattern",properties.RecurrencePattern!=null?CfnHoursOfOperationRecurrencePatternPropertyFromCloudFormation(properties.RecurrencePattern):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnHoursOfOperationHoursOfOperationOverridePropertyValidator(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("effectiveFrom",cdk().requiredValidator)(properties.effectiveFrom)),errors.collect(cdk().propertyValidator("effectiveFrom",cdk().validateString)(properties.effectiveFrom)),errors.collect(cdk().propertyValidator("effectiveTill",cdk().requiredValidator)(properties.effectiveTill)),errors.collect(cdk().propertyValidator("effectiveTill",cdk().validateString)(properties.effectiveTill)),errors.collect(cdk().propertyValidator("hoursOfOperationOverrideId",cdk().validateString)(properties.hoursOfOperationOverrideId)),errors.collect(cdk().propertyValidator("overrideConfig",cdk().requiredValidator)(properties.overrideConfig)),errors.collect(cdk().propertyValidator("overrideConfig",cdk().listValidator(CfnHoursOfOperationHoursOfOperationOverrideConfigPropertyValidator))(properties.overrideConfig)),errors.collect(cdk().propertyValidator("overrideDescription",cdk().validateString)(properties.overrideDescription)),errors.collect(cdk().propertyValidator("overrideName",cdk().requiredValidator)(properties.overrideName)),errors.collect(cdk().propertyValidator("overrideName",cdk().validateString)(properties.overrideName)),errors.collect(cdk().propertyValidator("overrideType",cdk().validateString)(properties.overrideType)),errors.collect(cdk().propertyValidator("recurrenceConfig",CfnHoursOfOperationRecurrenceConfigPropertyValidator)(properties.recurrenceConfig)),errors.wrap('supplied properties not correct for "HoursOfOperationOverrideProperty"')}function convertCfnHoursOfOperationHoursOfOperationOverridePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnHoursOfOperationHoursOfOperationOverridePropertyValidator(properties).assertSuccess(),{EffectiveFrom:cdk().stringToCloudFormation(properties.effectiveFrom),EffectiveTill:cdk().stringToCloudFormation(properties.effectiveTill),HoursOfOperationOverrideId:cdk().stringToCloudFormation(properties.hoursOfOperationOverrideId),OverrideConfig:cdk().listMapper(convertCfnHoursOfOperationHoursOfOperationOverrideConfigPropertyToCloudFormation)(properties.overrideConfig),OverrideDescription:cdk().stringToCloudFormation(properties.overrideDescription),OverrideName:cdk().stringToCloudFormation(properties.overrideName),OverrideType:cdk().stringToCloudFormation(properties.overrideType),RecurrenceConfig:convertCfnHoursOfOperationRecurrenceConfigPropertyToCloudFormation(properties.recurrenceConfig)}):properties}function CfnHoursOfOperationHoursOfOperationOverridePropertyFromCloudFormation(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("effectiveFrom","EffectiveFrom",properties.EffectiveFrom!=null?cfn_parse().FromCloudFormation.getString(properties.EffectiveFrom):void 0),ret.addPropertyResult("effectiveTill","EffectiveTill",properties.EffectiveTill!=null?cfn_parse().FromCloudFormation.getString(properties.EffectiveTill):void 0),ret.addPropertyResult("hoursOfOperationOverrideId","HoursOfOperationOverrideId",properties.HoursOfOperationOverrideId!=null?cfn_parse().FromCloudFormation.getString(properties.HoursOfOperationOverrideId):void 0),ret.addPropertyResult("overrideConfig","OverrideConfig",properties.OverrideConfig!=null?cfn_parse().FromCloudFormation.getArray(CfnHoursOfOperationHoursOfOperationOverrideConfigPropertyFromCloudFormation)(properties.OverrideConfig):void 0),ret.addPropertyResult("overrideDescription","OverrideDescription",properties.OverrideDescription!=null?cfn_parse().FromCloudFormation.getString(properties.OverrideDescription):void 0),ret.addPropertyResult("overrideName","OverrideName",properties.OverrideName!=null?cfn_parse().FromCloudFormation.getString(properties.OverrideName):void 0),ret.addPropertyResult("overrideType","OverrideType",properties.OverrideType!=null?cfn_parse().FromCloudFormation.getString(properties.OverrideType):void 0),ret.addPropertyResult("recurrenceConfig","RecurrenceConfig",properties.RecurrenceConfig!=null?CfnHoursOfOperationRecurrenceConfigPropertyFromCloudFormation(properties.RecurrenceConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnHoursOfOperationHoursOfOperationsIdentifierPropertyValidator(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("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "HoursOfOperationsIdentifierProperty"')}function convertCfnHoursOfOperationHoursOfOperationsIdentifierPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnHoursOfOperationHoursOfOperationsIdentifierPropertyValidator(properties).assertSuccess(),{Id:cdk().stringToCloudFormation(properties.id),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnHoursOfOperationHoursOfOperationsIdentifierPropertyFromCloudFormation(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("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnHoursOfOperationPropsValidator(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("childHoursOfOperations",cdk().listValidator(CfnHoursOfOperationHoursOfOperationsIdentifierPropertyValidator))(properties.childHoursOfOperations)),errors.collect(cdk().propertyValidator("config",cdk().requiredValidator)(properties.config)),errors.collect(cdk().propertyValidator("config",cdk().listValidator(CfnHoursOfOperationHoursOfOperationConfigPropertyValidator))(properties.config)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("hoursOfOperationOverrides",cdk().listValidator(CfnHoursOfOperationHoursOfOperationOverridePropertyValidator))(properties.hoursOfOperationOverrides)),errors.collect(cdk().propertyValidator("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parentHoursOfOperations",cdk().listValidator(CfnHoursOfOperationHoursOfOperationsIdentifierPropertyValidator))(properties.parentHoursOfOperations)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("timeZone",cdk().requiredValidator)(properties.timeZone)),errors.collect(cdk().propertyValidator("timeZone",cdk().validateString)(properties.timeZone)),errors.wrap('supplied properties not correct for "CfnHoursOfOperationProps"')}function convertCfnHoursOfOperationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnHoursOfOperationPropsValidator(properties).assertSuccess(),{ChildHoursOfOperations:cdk().listMapper(convertCfnHoursOfOperationHoursOfOperationsIdentifierPropertyToCloudFormation)(properties.childHoursOfOperations),Config:cdk().listMapper(convertCfnHoursOfOperationHoursOfOperationConfigPropertyToCloudFormation)(properties.config),Description:cdk().stringToCloudFormation(properties.description),HoursOfOperationOverrides:cdk().listMapper(convertCfnHoursOfOperationHoursOfOperationOverridePropertyToCloudFormation)(properties.hoursOfOperationOverrides),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Name:cdk().stringToCloudFormation(properties.name),ParentHoursOfOperations:cdk().listMapper(convertCfnHoursOfOperationHoursOfOperationsIdentifierPropertyToCloudFormation)(properties.parentHoursOfOperations),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TimeZone:cdk().stringToCloudFormation(properties.timeZone)}):properties}function CfnHoursOfOperationPropsFromCloudFormation(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("childHoursOfOperations","ChildHoursOfOperations",properties.ChildHoursOfOperations!=null?cfn_parse().FromCloudFormation.getArray(CfnHoursOfOperationHoursOfOperationsIdentifierPropertyFromCloudFormation)(properties.ChildHoursOfOperations):void 0),ret.addPropertyResult("config","Config",properties.Config!=null?cfn_parse().FromCloudFormation.getArray(CfnHoursOfOperationHoursOfOperationConfigPropertyFromCloudFormation)(properties.Config):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("hoursOfOperationOverrides","HoursOfOperationOverrides",properties.HoursOfOperationOverrides!=null?cfn_parse().FromCloudFormation.getArray(CfnHoursOfOperationHoursOfOperationOverridePropertyFromCloudFormation)(properties.HoursOfOperationOverrides):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parentHoursOfOperations","ParentHoursOfOperations",properties.ParentHoursOfOperations!=null?cfn_parse().FromCloudFormation.getArray(CfnHoursOfOperationHoursOfOperationsIdentifierPropertyFromCloudFormation)(properties.ParentHoursOfOperations):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("timeZone","TimeZone",properties.TimeZone!=null?cfn_parse().FromCloudFormation.getString(properties.TimeZone):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnInstance extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnInstance",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::Instance";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnInstancePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnInstance(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 isCfnInstance(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnInstance.CFN_RESOURCE_TYPE_NAME}static arnForInstance(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IInstanceRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForInstance),error}return resource.instanceRef.instanceArn}_attributes;cdkTagManager;_directoryId;_identityManagementType;_instanceAlias;_tags;cfnPropertyNames={attributes:"Attributes",tags:"Tags",directoryId:"DirectoryId",identityManagementType:"IdentityManagementType",instanceAlias:"InstanceAlias"};constructor(scope,id,props){super(scope,id,{type:CfnInstance.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnInstanceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnInstance),error}cdk().requireProperty(props,"attributes",this),cdk().requireProperty(props,"identityManagementType",this),this._attributes=props.attributes,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::Instance",void 0,{tagPropertyName:"tags"}),this._directoryId=props.directoryId,this._identityManagementType=props.identityManagementType,this._instanceAlias=props.instanceAlias,this._tags=props.tags}get instanceRef(){return{instanceArn:this.ref}}get attributes(){return this._attributes}set attributes(value){cdk().traceProperty(this.node,"Attributes"),this._attributes=value}get directoryId(){return this._directoryId}set directoryId(value){cdk().traceProperty(this.node,"DirectoryId"),this._directoryId=value}get identityManagementType(){return this._identityManagementType}set identityManagementType(value){cdk().traceProperty(this.node,"IdentityManagementType"),this._identityManagementType=value}get instanceAlias(){return this._instanceAlias}set instanceAlias(value){cdk().traceProperty(this.node,"InstanceAlias"),this._instanceAlias=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedTime(){return cdk().Token.asString(this.getAtt("CreatedTime",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrInstanceStatus(){return cdk().Token.asString(this.getAtt("InstanceStatus",cdk().ResolutionTypeHint.STRING))}get attrServiceRole(){return cdk().Token.asString(this.getAtt("ServiceRole",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{attributes:this._attributes,tags:this.cdkTagManager.renderTags(this._tags),directoryId:this._directoryId,identityManagementType:this._identityManagementType,instanceAlias:this._instanceAlias}}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",CfnInstance.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnInstancePropsToCloudFormation(props)}}exports.CfnInstance=CfnInstance;function CfnInstanceAttributesPropertyValidator(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("autoResolveBestVoices",cdk().validateBoolean)(properties.autoResolveBestVoices)),errors.collect(cdk().propertyValidator("contactLens",cdk().validateBoolean)(properties.contactLens)),errors.collect(cdk().propertyValidator("contactflowLogs",cdk().validateBoolean)(properties.contactflowLogs)),errors.collect(cdk().propertyValidator("earlyMedia",cdk().validateBoolean)(properties.earlyMedia)),errors.collect(cdk().propertyValidator("enhancedChatMonitoring",cdk().validateBoolean)(properties.enhancedChatMonitoring)),errors.collect(cdk().propertyValidator("enhancedContactMonitoring",cdk().validateBoolean)(properties.enhancedContactMonitoring)),errors.collect(cdk().propertyValidator("highVolumeOutBound",cdk().validateBoolean)(properties.highVolumeOutBound)),errors.collect(cdk().propertyValidator("inboundCalls",cdk().requiredValidator)(properties.inboundCalls)),errors.collect(cdk().propertyValidator("inboundCalls",cdk().validateBoolean)(properties.inboundCalls)),errors.collect(cdk().propertyValidator("messageStreaming",cdk().validateBoolean)(properties.messageStreaming)),errors.collect(cdk().propertyValidator("multiPartyChatConference",cdk().validateBoolean)(properties.multiPartyChatConference)),errors.collect(cdk().propertyValidator("multiPartyConference",cdk().validateBoolean)(properties.multiPartyConference)),errors.collect(cdk().propertyValidator("outboundCalls",cdk().requiredValidator)(properties.outboundCalls)),errors.collect(cdk().propertyValidator("outboundCalls",cdk().validateBoolean)(properties.outboundCalls)),errors.collect(cdk().propertyValidator("useCustomTtsVoices",cdk().validateBoolean)(properties.useCustomTtsVoices)),errors.wrap('supplied properties not correct for "AttributesProperty"')}function convertCfnInstanceAttributesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInstanceAttributesPropertyValidator(properties).assertSuccess(),{AutoResolveBestVoices:cdk().booleanToCloudFormation(properties.autoResolveBestVoices),ContactLens:cdk().booleanToCloudFormation(properties.contactLens),ContactflowLogs:cdk().booleanToCloudFormation(properties.contactflowLogs),EarlyMedia:cdk().booleanToCloudFormation(properties.earlyMedia),EnhancedChatMonitoring:cdk().booleanToCloudFormation(properties.enhancedChatMonitoring),EnhancedContactMonitoring:cdk().booleanToCloudFormation(properties.enhancedContactMonitoring),HighVolumeOutBound:cdk().booleanToCloudFormation(properties.highVolumeOutBound),InboundCalls:cdk().booleanToCloudFormation(properties.inboundCalls),MessageStreaming:cdk().booleanToCloudFormation(properties.messageStreaming),MultiPartyChatConference:cdk().booleanToCloudFormation(properties.multiPartyChatConference),MultiPartyConference:cdk().booleanToCloudFormation(properties.multiPartyConference),OutboundCalls:cdk().booleanToCloudFormation(properties.outboundCalls),UseCustomTTSVoices:cdk().booleanToCloudFormation(properties.useCustomTtsVoices)}):properties}function CfnInstanceAttributesPropertyFromCloudFormation(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("autoResolveBestVoices","AutoResolveBestVoices",properties.AutoResolveBestVoices!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AutoResolveBestVoices):void 0),ret.addPropertyResult("contactflowLogs","ContactflowLogs",properties.ContactflowLogs!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ContactflowLogs):void 0),ret.addPropertyResult("contactLens","ContactLens",properties.ContactLens!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ContactLens):void 0),ret.addPropertyResult("earlyMedia","EarlyMedia",properties.EarlyMedia!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EarlyMedia):void 0),ret.addPropertyResult("enhancedChatMonitoring","EnhancedChatMonitoring",properties.EnhancedChatMonitoring!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnhancedChatMonitoring):void 0),ret.addPropertyResult("enhancedContactMonitoring","EnhancedContactMonitoring",properties.EnhancedContactMonitoring!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnhancedContactMonitoring):void 0),ret.addPropertyResult("highVolumeOutBound","HighVolumeOutBound",properties.HighVolumeOutBound!=null?cfn_parse().FromCloudFormation.getBoolean(properties.HighVolumeOutBound):void 0),ret.addPropertyResult("inboundCalls","InboundCalls",properties.InboundCalls!=null?cfn_parse().FromCloudFormation.getBoolean(properties.InboundCalls):void 0),ret.addPropertyResult("messageStreaming","MessageStreaming",properties.MessageStreaming!=null?cfn_parse().FromCloudFormation.getBoolean(properties.MessageStreaming):void 0),ret.addPropertyResult("multiPartyChatConference","MultiPartyChatConference",properties.MultiPartyChatConference!=null?cfn_parse().FromCloudFormation.getBoolean(properties.MultiPartyChatConference):void 0),ret.addPropertyResult("multiPartyConference","MultiPartyConference",properties.MultiPartyConference!=null?cfn_parse().FromCloudFormation.getBoolean(properties.MultiPartyConference):void 0),ret.addPropertyResult("outboundCalls","OutboundCalls",properties.OutboundCalls!=null?cfn_parse().FromCloudFormation.getBoolean(properties.OutboundCalls):void 0),ret.addPropertyResult("useCustomTtsVoices","UseCustomTTSVoices",properties.UseCustomTTSVoices!=null?cfn_parse().FromCloudFormation.getBoolean(properties.UseCustomTTSVoices):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstancePropsValidator(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("attributes",cdk().requiredValidator)(properties.attributes)),errors.collect(cdk().propertyValidator("attributes",CfnInstanceAttributesPropertyValidator)(properties.attributes)),errors.collect(cdk().propertyValidator("directoryId",cdk().validateString)(properties.directoryId)),errors.collect(cdk().propertyValidator("identityManagementType",cdk().requiredValidator)(properties.identityManagementType)),errors.collect(cdk().propertyValidator("identityManagementType",cdk().validateString)(properties.identityManagementType)),errors.collect(cdk().propertyValidator("instanceAlias",cdk().validateString)(properties.instanceAlias)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnInstanceProps"')}function convertCfnInstancePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInstancePropsValidator(properties).assertSuccess(),{Attributes:convertCfnInstanceAttributesPropertyToCloudFormation(properties.attributes),DirectoryId:cdk().stringToCloudFormation(properties.directoryId),IdentityManagementType:cdk().stringToCloudFormation(properties.identityManagementType),InstanceAlias:cdk().stringToCloudFormation(properties.instanceAlias),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnInstancePropsFromCloudFormation(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("attributes","Attributes",properties.Attributes!=null?CfnInstanceAttributesPropertyFromCloudFormation(properties.Attributes):void 0),ret.addPropertyResult("directoryId","DirectoryId",properties.DirectoryId!=null?cfn_parse().FromCloudFormation.getString(properties.DirectoryId):void 0),ret.addPropertyResult("identityManagementType","IdentityManagementType",properties.IdentityManagementType!=null?cfn_parse().FromCloudFormation.getString(properties.IdentityManagementType):void 0),ret.addPropertyResult("instanceAlias","InstanceAlias",properties.InstanceAlias!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceAlias):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnInstanceStorageConfig extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnInstanceStorageConfig",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::InstanceStorageConfig";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnInstanceStorageConfigPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnInstanceStorageConfig(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 isCfnInstanceStorageConfig(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnInstanceStorageConfig.CFN_RESOURCE_TYPE_NAME}_instanceArn;_kinesisFirehoseConfig;_kinesisStreamConfig;_kinesisVideoStreamConfig;_resourceType;_s3Config;_storageType;cfnPropertyNames={instanceArn:"InstanceArn",kinesisFirehoseConfig:"KinesisFirehoseConfig",kinesisStreamConfig:"KinesisStreamConfig",kinesisVideoStreamConfig:"KinesisVideoStreamConfig",resourceType:"ResourceType",s3Config:"S3Config",storageType:"StorageType"};constructor(scope,id,props){super(scope,id,{type:CfnInstanceStorageConfig.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnInstanceStorageConfigProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnInstanceStorageConfig),error}cdk().requireProperty(props,"instanceArn",this),cdk().requireProperty(props,"resourceType",this),cdk().requireProperty(props,"storageType",this),this._instanceArn=cdk().getRefProperty(props.instanceArn?.instanceRef,"instanceArn")??cdk().ensureStringOrUndefined(props.instanceArn,"instanceArn","connect.IInstanceRef | string"),this._kinesisFirehoseConfig=props.kinesisFirehoseConfig,this._kinesisStreamConfig=props.kinesisStreamConfig,this._kinesisVideoStreamConfig=props.kinesisVideoStreamConfig,this._resourceType=props.resourceType,this._s3Config=props.s3Config,this._storageType=props.storageType}get instanceStorageConfigRef(){return{instanceArn:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),associationId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),resourceType:cdk().Fn.select(2,cdk().Fn.split("|",this.ref))}}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get kinesisFirehoseConfig(){return this._kinesisFirehoseConfig}set kinesisFirehoseConfig(value){cdk().traceProperty(this.node,"KinesisFirehoseConfig"),this._kinesisFirehoseConfig=value}get kinesisStreamConfig(){return this._kinesisStreamConfig}set kinesisStreamConfig(value){cdk().traceProperty(this.node,"KinesisStreamConfig"),this._kinesisStreamConfig=value}get kinesisVideoStreamConfig(){return this._kinesisVideoStreamConfig}set kinesisVideoStreamConfig(value){cdk().traceProperty(this.node,"KinesisVideoStreamConfig"),this._kinesisVideoStreamConfig=value}get resourceType(){return this._resourceType}set resourceType(value){cdk().traceProperty(this.node,"ResourceType"),this._resourceType=value}get s3Config(){return this._s3Config}set s3Config(value){cdk().traceProperty(this.node,"S3Config"),this._s3Config=value}get storageType(){return this._storageType}set storageType(value){cdk().traceProperty(this.node,"StorageType"),this._storageType=value}get attrAssociationId(){return cdk().Token.asString(this.getAtt("AssociationId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{instanceArn:this._instanceArn,kinesisFirehoseConfig:this._kinesisFirehoseConfig,kinesisStreamConfig:this._kinesisStreamConfig,kinesisVideoStreamConfig:this._kinesisVideoStreamConfig,resourceType:this._resourceType,s3Config:this._s3Config,storageType:this._storageType}}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",CfnInstanceStorageConfig.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnInstanceStorageConfigPropsToCloudFormation(props)}}exports.CfnInstanceStorageConfig=CfnInstanceStorageConfig;function CfnInstanceStorageConfigKinesisStreamConfigPropertyValidator(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("streamArn",cdk().requiredValidator)(properties.streamArn)),errors.collect(cdk().propertyValidator("streamArn",cdk().validateString)(properties.streamArn)),errors.wrap('supplied properties not correct for "KinesisStreamConfigProperty"')}function convertCfnInstanceStorageConfigKinesisStreamConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInstanceStorageConfigKinesisStreamConfigPropertyValidator(properties).assertSuccess(),{StreamArn:cdk().stringToCloudFormation(properties.streamArn)}):properties}function CfnInstanceStorageConfigKinesisStreamConfigPropertyFromCloudFormation(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("streamArn","StreamArn",properties.StreamArn!=null?cfn_parse().FromCloudFormation.getString(properties.StreamArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceStorageConfigEncryptionConfigPropertyValidator(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("encryptionType",cdk().requiredValidator)(properties.encryptionType)),errors.collect(cdk().propertyValidator("encryptionType",cdk().validateString)(properties.encryptionType)),errors.collect(cdk().propertyValidator("keyId",cdk().requiredValidator)(properties.keyId)),errors.collect(cdk().propertyValidator("keyId",cdk().validateString)(properties.keyId)),errors.wrap('supplied properties not correct for "EncryptionConfigProperty"')}function convertCfnInstanceStorageConfigEncryptionConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInstanceStorageConfigEncryptionConfigPropertyValidator(properties).assertSuccess(),{EncryptionType:cdk().stringToCloudFormation(properties.encryptionType),KeyId:cdk().stringToCloudFormation(properties.keyId)}):properties}function CfnInstanceStorageConfigEncryptionConfigPropertyFromCloudFormation(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("encryptionType","EncryptionType",properties.EncryptionType!=null?cfn_parse().FromCloudFormation.getString(properties.EncryptionType):void 0),ret.addPropertyResult("keyId","KeyId",properties.KeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KeyId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceStorageConfigS3ConfigPropertyValidator(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("bucketName",cdk().requiredValidator)(properties.bucketName)),errors.collect(cdk().propertyValidator("bucketName",cdk().validateString)(properties.bucketName)),errors.collect(cdk().propertyValidator("bucketPrefix",cdk().requiredValidator)(properties.bucketPrefix)),errors.collect(cdk().propertyValidator("bucketPrefix",cdk().validateString)(properties.bucketPrefix)),errors.collect(cdk().propertyValidator("encryptionConfig",CfnInstanceStorageConfigEncryptionConfigPropertyValidator)(properties.encryptionConfig)),errors.wrap('supplied properties not correct for "S3ConfigProperty"')}function convertCfnInstanceStorageConfigS3ConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInstanceStorageConfigS3ConfigPropertyValidator(properties).assertSuccess(),{BucketName:cdk().stringToCloudFormation(properties.bucketName),BucketPrefix:cdk().stringToCloudFormation(properties.bucketPrefix),EncryptionConfig:convertCfnInstanceStorageConfigEncryptionConfigPropertyToCloudFormation(properties.encryptionConfig)}):properties}function CfnInstanceStorageConfigS3ConfigPropertyFromCloudFormation(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("bucketName","BucketName",properties.BucketName!=null?cfn_parse().FromCloudFormation.getString(properties.BucketName):void 0),ret.addPropertyResult("bucketPrefix","BucketPrefix",properties.BucketPrefix!=null?cfn_parse().FromCloudFormation.getString(properties.BucketPrefix):void 0),ret.addPropertyResult("encryptionConfig","EncryptionConfig",properties.EncryptionConfig!=null?CfnInstanceStorageConfigEncryptionConfigPropertyFromCloudFormation(properties.EncryptionConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceStorageConfigKinesisVideoStreamConfigPropertyValidator(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("encryptionConfig",cdk().requiredValidator)(properties.encryptionConfig)),errors.collect(cdk().propertyValidator("encryptionConfig",CfnInstanceStorageConfigEncryptionConfigPropertyValidator)(properties.encryptionConfig)),errors.collect(cdk().propertyValidator("prefix",cdk().requiredValidator)(properties.prefix)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.collect(cdk().propertyValidator("retentionPeriodHours",cdk().requiredValidator)(properties.retentionPeriodHours)),errors.collect(cdk().propertyValidator("retentionPeriodHours",cdk().validateNumber)(properties.retentionPeriodHours)),errors.wrap('supplied properties not correct for "KinesisVideoStreamConfigProperty"')}function convertCfnInstanceStorageConfigKinesisVideoStreamConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInstanceStorageConfigKinesisVideoStreamConfigPropertyValidator(properties).assertSuccess(),{EncryptionConfig:convertCfnInstanceStorageConfigEncryptionConfigPropertyToCloudFormation(properties.encryptionConfig),Prefix:cdk().stringToCloudFormation(properties.prefix),RetentionPeriodHours:cdk().numberToCloudFormation(properties.retentionPeriodHours)}):properties}function CfnInstanceStorageConfigKinesisVideoStreamConfigPropertyFromCloudFormation(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("encryptionConfig","EncryptionConfig",properties.EncryptionConfig!=null?CfnInstanceStorageConfigEncryptionConfigPropertyFromCloudFormation(properties.EncryptionConfig):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("retentionPeriodHours","RetentionPeriodHours",properties.RetentionPeriodHours!=null?cfn_parse().FromCloudFormation.getNumber(properties.RetentionPeriodHours):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceStorageConfigKinesisFirehoseConfigPropertyValidator(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("firehoseArn",cdk().requiredValidator)(properties.firehoseArn)),errors.collect(cdk().propertyValidator("firehoseArn",cdk().validateString)(properties.firehoseArn)),errors.wrap('supplied properties not correct for "KinesisFirehoseConfigProperty"')}function convertCfnInstanceStorageConfigKinesisFirehoseConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInstanceStorageConfigKinesisFirehoseConfigPropertyValidator(properties).assertSuccess(),{FirehoseArn:cdk().stringToCloudFormation(properties.firehoseArn)}):properties}function CfnInstanceStorageConfigKinesisFirehoseConfigPropertyFromCloudFormation(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("firehoseArn","FirehoseArn",properties.FirehoseArn!=null?cfn_parse().FromCloudFormation.getString(properties.FirehoseArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnInstanceStorageConfigPropsValidator(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("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("kinesisFirehoseConfig",CfnInstanceStorageConfigKinesisFirehoseConfigPropertyValidator)(properties.kinesisFirehoseConfig)),errors.collect(cdk().propertyValidator("kinesisStreamConfig",CfnInstanceStorageConfigKinesisStreamConfigPropertyValidator)(properties.kinesisStreamConfig)),errors.collect(cdk().propertyValidator("kinesisVideoStreamConfig",CfnInstanceStorageConfigKinesisVideoStreamConfigPropertyValidator)(properties.kinesisVideoStreamConfig)),errors.collect(cdk().propertyValidator("resourceType",cdk().requiredValidator)(properties.resourceType)),errors.collect(cdk().propertyValidator("resourceType",cdk().validateString)(properties.resourceType)),errors.collect(cdk().propertyValidator("s3Config",CfnInstanceStorageConfigS3ConfigPropertyValidator)(properties.s3Config)),errors.collect(cdk().propertyValidator("storageType",cdk().requiredValidator)(properties.storageType)),errors.collect(cdk().propertyValidator("storageType",cdk().validateString)(properties.storageType)),errors.wrap('supplied properties not correct for "CfnInstanceStorageConfigProps"')}function convertCfnInstanceStorageConfigPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnInstanceStorageConfigPropsValidator(properties).assertSuccess(),{InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),KinesisFirehoseConfig:convertCfnInstanceStorageConfigKinesisFirehoseConfigPropertyToCloudFormation(properties.kinesisFirehoseConfig),KinesisStreamConfig:convertCfnInstanceStorageConfigKinesisStreamConfigPropertyToCloudFormation(properties.kinesisStreamConfig),KinesisVideoStreamConfig:convertCfnInstanceStorageConfigKinesisVideoStreamConfigPropertyToCloudFormation(properties.kinesisVideoStreamConfig),ResourceType:cdk().stringToCloudFormation(properties.resourceType),S3Config:convertCfnInstanceStorageConfigS3ConfigPropertyToCloudFormation(properties.s3Config),StorageType:cdk().stringToCloudFormation(properties.storageType)}):properties}function CfnInstanceStorageConfigPropsFromCloudFormation(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("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("kinesisFirehoseConfig","KinesisFirehoseConfig",properties.KinesisFirehoseConfig!=null?CfnInstanceStorageConfigKinesisFirehoseConfigPropertyFromCloudFormation(properties.KinesisFirehoseConfig):void 0),ret.addPropertyResult("kinesisStreamConfig","KinesisStreamConfig",properties.KinesisStreamConfig!=null?CfnInstanceStorageConfigKinesisStreamConfigPropertyFromCloudFormation(properties.KinesisStreamConfig):void 0),ret.addPropertyResult("kinesisVideoStreamConfig","KinesisVideoStreamConfig",properties.KinesisVideoStreamConfig!=null?CfnInstanceStorageConfigKinesisVideoStreamConfigPropertyFromCloudFormation(properties.KinesisVideoStreamConfig):void 0),ret.addPropertyResult("resourceType","ResourceType",properties.ResourceType!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceType):void 0),ret.addPropertyResult("s3Config","S3Config",properties.S3Config!=null?CfnInstanceStorageConfigS3ConfigPropertyFromCloudFormation(properties.S3Config):void 0),ret.addPropertyResult("storageType","StorageType",properties.StorageType!=null?cfn_parse().FromCloudFormation.getString(properties.StorageType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnIntegrationAssociation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnIntegrationAssociation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::IntegrationAssociation";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnIntegrationAssociationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnIntegrationAssociation(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 isCfnIntegrationAssociation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnIntegrationAssociation.CFN_RESOURCE_TYPE_NAME}_instanceId;_integrationArn;_integrationType;cfnPropertyNames={instanceId:"InstanceId",integrationArn:"IntegrationArn",integrationType:"IntegrationType"};constructor(scope,id,props){super(scope,id,{type:CfnIntegrationAssociation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnIntegrationAssociationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnIntegrationAssociation),error}cdk().requireProperty(props,"instanceId",this),cdk().requireProperty(props,"integrationArn",this),cdk().requireProperty(props,"integrationType",this),this._instanceId=cdk().getRefProperty(props.instanceId?.instanceRef,"instanceArn")??cdk().ensureStringOrUndefined(props.instanceId,"instanceId","connect.IInstanceRef | string"),this._integrationArn=props.integrationArn,this._integrationType=props.integrationType}get integrationAssociationRef(){return{instanceId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),integrationType:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),integrationArn:cdk().Fn.select(2,cdk().Fn.split("|",this.ref))}}get instanceId(){return this._instanceId}set instanceId(value){cdk().traceProperty(this.node,"InstanceId"),this._instanceId=value}get integrationArn(){return this._integrationArn}set integrationArn(value){cdk().traceProperty(this.node,"IntegrationArn"),this._integrationArn=value}get integrationType(){return this._integrationType}set integrationType(value){cdk().traceProperty(this.node,"IntegrationType"),this._integrationType=value}get attrIntegrationAssociationId(){return cdk().Token.asString(this.getAtt("IntegrationAssociationId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{instanceId:this._instanceId,integrationArn:this._integrationArn,integrationType:this._integrationType}}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",CfnIntegrationAssociation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnIntegrationAssociationPropsToCloudFormation(props)}}exports.CfnIntegrationAssociation=CfnIntegrationAssociation;function CfnIntegrationAssociationPropsValidator(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("instanceId",cdk().requiredValidator)(properties.instanceId)),errors.collect(cdk().propertyValidator("instanceId",cdk().validateString)(properties.instanceId)),errors.collect(cdk().propertyValidator("integrationArn",cdk().requiredValidator)(properties.integrationArn)),errors.collect(cdk().propertyValidator("integrationArn",cdk().validateString)(properties.integrationArn)),errors.collect(cdk().propertyValidator("integrationType",cdk().requiredValidator)(properties.integrationType)),errors.collect(cdk().propertyValidator("integrationType",cdk().validateString)(properties.integrationType)),errors.wrap('supplied properties not correct for "CfnIntegrationAssociationProps"')}function convertCfnIntegrationAssociationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnIntegrationAssociationPropsValidator(properties).assertSuccess(),{InstanceId:cdk().stringToCloudFormation(properties.instanceId),IntegrationArn:cdk().stringToCloudFormation(properties.integrationArn),IntegrationType:cdk().stringToCloudFormation(properties.integrationType)}):properties}function CfnIntegrationAssociationPropsFromCloudFormation(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("instanceId","InstanceId",properties.InstanceId!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceId):void 0),ret.addPropertyResult("integrationArn","IntegrationArn",properties.IntegrationArn!=null?cfn_parse().FromCloudFormation.getString(properties.IntegrationArn):void 0),ret.addPropertyResult("integrationType","IntegrationType",properties.IntegrationType!=null?cfn_parse().FromCloudFormation.getString(properties.IntegrationType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPhoneNumber extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnPhoneNumber",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::PhoneNumber";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPhoneNumberPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnPhoneNumber(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 isCfnPhoneNumber(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPhoneNumber.CFN_RESOURCE_TYPE_NAME}static arnForPhoneNumber(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IPhoneNumberRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForPhoneNumber),error}return resource.phoneNumberRef.phoneNumberArn}_countryCode;_description;_prefix;_sourcePhoneNumberArn;tags;_tagsRaw;_targetArn;_type;cfnPropertyNames={countryCode:"CountryCode",description:"Description",prefix:"Prefix",sourcePhoneNumberArn:"SourcePhoneNumberArn",tags:"Tags",targetArn:"TargetArn",type:"Type"};constructor(scope,id,props){super(scope,id,{type:CfnPhoneNumber.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnPhoneNumberProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPhoneNumber),error}cdk().requireProperty(props,"targetArn",this),this._countryCode=props.countryCode,this._description=props.description,this._prefix=props.prefix,this._sourcePhoneNumberArn=props.sourcePhoneNumberArn,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::PhoneNumber",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._targetArn=props.targetArn,this._type=props.type}get phoneNumberRef(){return{phoneNumberArn:this.ref}}get countryCode(){return this._countryCode}set countryCode(value){cdk().traceProperty(this.node,"CountryCode"),this._countryCode=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get prefix(){return this._prefix}set prefix(value){cdk().traceProperty(this.node,"Prefix"),this._prefix=value}get sourcePhoneNumberArn(){return this._sourcePhoneNumberArn}set sourcePhoneNumberArn(value){cdk().traceProperty(this.node,"SourcePhoneNumberArn"),this._sourcePhoneNumberArn=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get targetArn(){return this._targetArn}set targetArn(value){cdk().traceProperty(this.node,"TargetArn"),this._targetArn=value}get type(){return this._type}set type(value){cdk().traceProperty(this.node,"Type"),this._type=value}get attrAddress(){return cdk().Token.asString(this.getAtt("Address",cdk().ResolutionTypeHint.STRING))}get attrPhoneNumberArn(){return cdk().Token.asString(this.getAtt("PhoneNumberArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{countryCode:this._countryCode,description:this._description,prefix:this._prefix,sourcePhoneNumberArn:this._sourcePhoneNumberArn,tags:this.tags.renderTags(),targetArn:this._targetArn,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",CfnPhoneNumber.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPhoneNumberPropsToCloudFormation(props)}}exports.CfnPhoneNumber=CfnPhoneNumber;function CfnPhoneNumberPropsValidator(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("countryCode",cdk().validateString)(properties.countryCode)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("prefix",cdk().validateString)(properties.prefix)),errors.collect(cdk().propertyValidator("sourcePhoneNumberArn",cdk().validateString)(properties.sourcePhoneNumberArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("targetArn",cdk().requiredValidator)(properties.targetArn)),errors.collect(cdk().propertyValidator("targetArn",cdk().validateString)(properties.targetArn)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "CfnPhoneNumberProps"')}function convertCfnPhoneNumberPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPhoneNumberPropsValidator(properties).assertSuccess(),{CountryCode:cdk().stringToCloudFormation(properties.countryCode),Description:cdk().stringToCloudFormation(properties.description),Prefix:cdk().stringToCloudFormation(properties.prefix),SourcePhoneNumberArn:cdk().stringToCloudFormation(properties.sourcePhoneNumberArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TargetArn:cdk().stringToCloudFormation(properties.targetArn),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnPhoneNumberPropsFromCloudFormation(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("countryCode","CountryCode",properties.CountryCode!=null?cfn_parse().FromCloudFormation.getString(properties.CountryCode):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("prefix","Prefix",properties.Prefix!=null?cfn_parse().FromCloudFormation.getString(properties.Prefix):void 0),ret.addPropertyResult("sourcePhoneNumberArn","SourcePhoneNumberArn",properties.SourcePhoneNumberArn!=null?cfn_parse().FromCloudFormation.getString(properties.SourcePhoneNumberArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("targetArn","TargetArn",properties.TargetArn!=null?cfn_parse().FromCloudFormation.getString(properties.TargetArn):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPrompt extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnPrompt",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::Prompt";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPromptPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnPrompt(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 isCfnPrompt(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPrompt.CFN_RESOURCE_TYPE_NAME}static arnForPrompt(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IPromptRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForPrompt),error}return resource.promptRef.promptArn}cdkTagManager;_description;_instanceArn;_name;_s3Uri;_tags;cfnPropertyNames={tags:"Tags",description:"Description",instanceArn:"InstanceArn",name:"Name",s3Uri:"S3Uri"};constructor(scope,id,props){super(scope,id,{type:CfnPrompt.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnPromptProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPrompt),error}cdk().requireProperty(props,"instanceArn",this),cdk().requireProperty(props,"name",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::Prompt",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._instanceArn=cdk().getRefProperty(props.instanceArn?.instanceRef,"instanceArn")??cdk().ensureStringOrUndefined(props.instanceArn,"instanceArn","connect.IInstanceRef | string"),this._name=props.name,this._s3Uri=props.s3Uri,this._tags=props.tags}get promptRef(){return{promptArn:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get s3Uri(){return this._s3Uri}set s3Uri(value){cdk().traceProperty(this.node,"S3Uri"),this._s3Uri=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrPromptArn(){return cdk().Token.asString(this.getAtt("PromptArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,instanceArn:this._instanceArn,name:this._name,s3Uri:this._s3Uri}}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",CfnPrompt.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPromptPropsToCloudFormation(props)}}exports.CfnPrompt=CfnPrompt;function CfnPromptPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("s3Uri",cdk().validateString)(properties.s3Uri)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnPromptProps"')}function convertCfnPromptPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPromptPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Name:cdk().stringToCloudFormation(properties.name),S3Uri:cdk().stringToCloudFormation(properties.s3Uri),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnPromptPropsFromCloudFormation(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("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("s3Uri","S3Uri",properties.S3Uri!=null?cfn_parse().FromCloudFormation.getString(properties.S3Uri):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnQueue extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnQueue",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::Queue";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnQueuePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnQueue(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 isCfnQueue(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnQueue.CFN_RESOURCE_TYPE_NAME}static arnForQueue(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IQueueRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForQueue),error}return resource.queueRef.queueArn}_additionalEmailAddresses;cdkTagManager;_description;_hoursOfOperationArn;_instanceArn;_maxContacts;_name;_outboundCallerConfig;_outboundEmailConfig;_quickConnectArns;_status;_tags;cfnPropertyNames={additionalEmailAddresses:"AdditionalEmailAddresses",tags:"Tags",description:"Description",hoursOfOperationArn:"HoursOfOperationArn",instanceArn:"InstanceArn",maxContacts:"MaxContacts",name:"Name",outboundCallerConfig:"OutboundCallerConfig",outboundEmailConfig:"OutboundEmailConfig",quickConnectArns:"QuickConnectArns",status:"Status"};constructor(scope,id,props){super(scope,id,{type:CfnQueue.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnQueueProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnQueue),error}cdk().requireProperty(props,"hoursOfOperationArn",this),cdk().requireProperty(props,"instanceArn",this),cdk().requireProperty(props,"name",this),this._additionalEmailAddresses=props.additionalEmailAddresses,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::Queue",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._hoursOfOperationArn=props.hoursOfOperationArn,this._instanceArn=cdk().getRefProperty(props.instanceArn?.instanceRef,"instanceArn")??cdk().ensureStringOrUndefined(props.instanceArn,"instanceArn","connect.IInstanceRef | string"),this._maxContacts=props.maxContacts,this._name=props.name,this._outboundCallerConfig=props.outboundCallerConfig,this._outboundEmailConfig=props.outboundEmailConfig,this._quickConnectArns=props.quickConnectArns,this._status=props.status,this._tags=props.tags}get queueRef(){return{queueArn:this.ref}}get additionalEmailAddresses(){return this._additionalEmailAddresses}set additionalEmailAddresses(value){cdk().traceProperty(this.node,"AdditionalEmailAddresses"),this._additionalEmailAddresses=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get hoursOfOperationArn(){return this._hoursOfOperationArn}set hoursOfOperationArn(value){cdk().traceProperty(this.node,"HoursOfOperationArn"),this._hoursOfOperationArn=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get maxContacts(){return this._maxContacts}set maxContacts(value){cdk().traceProperty(this.node,"MaxContacts"),this._maxContacts=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get outboundCallerConfig(){return this._outboundCallerConfig}set outboundCallerConfig(value){cdk().traceProperty(this.node,"OutboundCallerConfig"),this._outboundCallerConfig=value}get outboundEmailConfig(){return this._outboundEmailConfig}set outboundEmailConfig(value){cdk().traceProperty(this.node,"OutboundEmailConfig"),this._outboundEmailConfig=value}get quickConnectArns(){return this._quickConnectArns}set quickConnectArns(value){cdk().traceProperty(this.node,"QuickConnectArns"),this._quickConnectArns=value}get status(){return this._status}set status(value){cdk().traceProperty(this.node,"Status"),this._status=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrQueueArn(){return cdk().Token.asString(this.getAtt("QueueArn",cdk().ResolutionTypeHint.STRING))}get attrType(){return cdk().Token.asString(this.getAtt("Type",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{additionalEmailAddresses:this._additionalEmailAddresses,tags:this.cdkTagManager.renderTags(this._tags),description:this._description,hoursOfOperationArn:this._hoursOfOperationArn,instanceArn:this._instanceArn,maxContacts:this._maxContacts,name:this._name,outboundCallerConfig:this._outboundCallerConfig,outboundEmailConfig:this._outboundEmailConfig,quickConnectArns:this._quickConnectArns,status:this._status}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnQueue.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnQueuePropsToCloudFormation(props)}}exports.CfnQueue=CfnQueue;function CfnQueueOutboundCallerConfigPropertyValidator(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("outboundCallerIdName",cdk().validateString)(properties.outboundCallerIdName)),errors.collect(cdk().propertyValidator("outboundCallerIdNumberArn",cdk().validateString)(properties.outboundCallerIdNumberArn)),errors.collect(cdk().propertyValidator("outboundFlowArn",cdk().validateString)(properties.outboundFlowArn)),errors.wrap('supplied properties not correct for "OutboundCallerConfigProperty"')}function convertCfnQueueOutboundCallerConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnQueueOutboundCallerConfigPropertyValidator(properties).assertSuccess(),{OutboundCallerIdName:cdk().stringToCloudFormation(properties.outboundCallerIdName),OutboundCallerIdNumberArn:cdk().stringToCloudFormation(properties.outboundCallerIdNumberArn),OutboundFlowArn:cdk().stringToCloudFormation(properties.outboundFlowArn)}):properties}function CfnQueueOutboundCallerConfigPropertyFromCloudFormation(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("outboundCallerIdName","OutboundCallerIdName",properties.OutboundCallerIdName!=null?cfn_parse().FromCloudFormation.getString(properties.OutboundCallerIdName):void 0),ret.addPropertyResult("outboundCallerIdNumberArn","OutboundCallerIdNumberArn",properties.OutboundCallerIdNumberArn!=null?cfn_parse().FromCloudFormation.getString(properties.OutboundCallerIdNumberArn):void 0),ret.addPropertyResult("outboundFlowArn","OutboundFlowArn",properties.OutboundFlowArn!=null?cfn_parse().FromCloudFormation.getString(properties.OutboundFlowArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnQueueOutboundEmailConfigPropertyValidator(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("outboundEmailAddressId",cdk().validateString)(properties.outboundEmailAddressId)),errors.wrap('supplied properties not correct for "OutboundEmailConfigProperty"')}function convertCfnQueueOutboundEmailConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnQueueOutboundEmailConfigPropertyValidator(properties).assertSuccess(),{OutboundEmailAddressId:cdk().stringToCloudFormation(properties.outboundEmailAddressId)}):properties}function CfnQueueOutboundEmailConfigPropertyFromCloudFormation(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("outboundEmailAddressId","OutboundEmailAddressId",properties.OutboundEmailAddressId!=null?cfn_parse().FromCloudFormation.getString(properties.OutboundEmailAddressId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnQueueEmailAddressPropertyValidator(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("emailAddressArn",cdk().requiredValidator)(properties.emailAddressArn)),errors.collect(cdk().propertyValidator("emailAddressArn",cdk().validateString)(properties.emailAddressArn)),errors.wrap('supplied properties not correct for "EmailAddressProperty"')}function convertCfnQueueEmailAddressPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnQueueEmailAddressPropertyValidator(properties).assertSuccess(),{EmailAddressArn:cdk().stringToCloudFormation(properties.emailAddressArn)}):properties}function CfnQueueEmailAddressPropertyFromCloudFormation(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("emailAddressArn","EmailAddressArn",properties.EmailAddressArn!=null?cfn_parse().FromCloudFormation.getString(properties.EmailAddressArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnQueuePropsValidator(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("additionalEmailAddresses",cdk().listValidator(CfnQueueEmailAddressPropertyValidator))(properties.additionalEmailAddresses)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("hoursOfOperationArn",cdk().requiredValidator)(properties.hoursOfOperationArn)),errors.collect(cdk().propertyValidator("hoursOfOperationArn",cdk().validateString)(properties.hoursOfOperationArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("maxContacts",cdk().validateNumber)(properties.maxContacts)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("outboundCallerConfig",CfnQueueOutboundCallerConfigPropertyValidator)(properties.outboundCallerConfig)),errors.collect(cdk().propertyValidator("outboundEmailConfig",CfnQueueOutboundEmailConfigPropertyValidator)(properties.outboundEmailConfig)),errors.collect(cdk().propertyValidator("quickConnectArns",cdk().listValidator(cdk().validateString))(properties.quickConnectArns)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnQueueProps"')}function convertCfnQueuePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnQueuePropsValidator(properties).assertSuccess(),{AdditionalEmailAddresses:cdk().listMapper(convertCfnQueueEmailAddressPropertyToCloudFormation)(properties.additionalEmailAddresses),Description:cdk().stringToCloudFormation(properties.description),HoursOfOperationArn:cdk().stringToCloudFormation(properties.hoursOfOperationArn),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),MaxContacts:cdk().numberToCloudFormation(properties.maxContacts),Name:cdk().stringToCloudFormation(properties.name),OutboundCallerConfig:convertCfnQueueOutboundCallerConfigPropertyToCloudFormation(properties.outboundCallerConfig),OutboundEmailConfig:convertCfnQueueOutboundEmailConfigPropertyToCloudFormation(properties.outboundEmailConfig),QuickConnectArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.quickConnectArns),Status:cdk().stringToCloudFormation(properties.status),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnQueuePropsFromCloudFormation(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("additionalEmailAddresses","AdditionalEmailAddresses",properties.AdditionalEmailAddresses!=null?cfn_parse().FromCloudFormation.getArray(CfnQueueEmailAddressPropertyFromCloudFormation)(properties.AdditionalEmailAddresses):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("hoursOfOperationArn","HoursOfOperationArn",properties.HoursOfOperationArn!=null?cfn_parse().FromCloudFormation.getString(properties.HoursOfOperationArn):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("maxContacts","MaxContacts",properties.MaxContacts!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxContacts):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("outboundCallerConfig","OutboundCallerConfig",properties.OutboundCallerConfig!=null?CfnQueueOutboundCallerConfigPropertyFromCloudFormation(properties.OutboundCallerConfig):void 0),ret.addPropertyResult("outboundEmailConfig","OutboundEmailConfig",properties.OutboundEmailConfig!=null?CfnQueueOutboundEmailConfigPropertyFromCloudFormation(properties.OutboundEmailConfig):void 0),ret.addPropertyResult("quickConnectArns","QuickConnectArns",properties.QuickConnectArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.QuickConnectArns):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnQuickConnect extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnQuickConnect",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::QuickConnect";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnQuickConnectPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnQuickConnect(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 isCfnQuickConnect(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnQuickConnect.CFN_RESOURCE_TYPE_NAME}static arnForQuickConnect(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IQuickConnectRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForQuickConnect),error}return resource.quickConnectRef.quickConnectArn}_description;_instanceArn;_name;_quickConnectConfig;tags;_tagsRaw;cfnPropertyNames={description:"Description",instanceArn:"InstanceArn",name:"Name",quickConnectConfig:"QuickConnectConfig",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnQuickConnect.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnQuickConnectProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnQuickConnect),error}cdk().requireProperty(props,"instanceArn",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"quickConnectConfig",this),this._description=props.description,this._instanceArn=cdk().getRefProperty(props.instanceArn?.instanceRef,"instanceArn")??cdk().ensureStringOrUndefined(props.instanceArn,"instanceArn","connect.IInstanceRef | string"),this._name=props.name,this._quickConnectConfig=props.quickConnectConfig,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::QuickConnect",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get quickConnectRef(){return{quickConnectArn:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get quickConnectConfig(){return this._quickConnectConfig}set quickConnectConfig(value){cdk().traceProperty(this.node,"QuickConnectConfig"),this._quickConnectConfig=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrQuickConnectArn(){return cdk().Token.asString(this.getAtt("QuickConnectArn",cdk().ResolutionTypeHint.STRING))}get attrQuickConnectType(){return cdk().Token.asString(this.getAtt("QuickConnectType",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{description:this._description,instanceArn:this._instanceArn,name:this._name,quickConnectConfig:this._quickConnectConfig,tags:this.tags.renderTags()}}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",CfnQuickConnect.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnQuickConnectPropsToCloudFormation(props)}}exports.CfnQuickConnect=CfnQuickConnect;function CfnQuickConnectQueueQuickConnectConfigPropertyValidator(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("contactFlowArn",cdk().requiredValidator)(properties.contactFlowArn)),errors.collect(cdk().propertyValidator("contactFlowArn",cdk().validateString)(properties.contactFlowArn)),errors.collect(cdk().propertyValidator("queueArn",cdk().requiredValidator)(properties.queueArn)),errors.collect(cdk().propertyValidator("queueArn",cdk().validateString)(properties.queueArn)),errors.wrap('supplied properties not correct for "QueueQuickConnectConfigProperty"')}function convertCfnQuickConnectQueueQuickConnectConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnQuickConnectQueueQuickConnectConfigPropertyValidator(properties).assertSuccess(),{ContactFlowArn:cdk().stringToCloudFormation(properties.contactFlowArn),QueueArn:cdk().stringToCloudFormation(properties.queueArn)}):properties}function CfnQuickConnectQueueQuickConnectConfigPropertyFromCloudFormation(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("contactFlowArn","ContactFlowArn",properties.ContactFlowArn!=null?cfn_parse().FromCloudFormation.getString(properties.ContactFlowArn):void 0),ret.addPropertyResult("queueArn","QueueArn",properties.QueueArn!=null?cfn_parse().FromCloudFormation.getString(properties.QueueArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnQuickConnectPhoneNumberQuickConnectConfigPropertyValidator(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("phoneNumber",cdk().requiredValidator)(properties.phoneNumber)),errors.collect(cdk().propertyValidator("phoneNumber",cdk().validateString)(properties.phoneNumber)),errors.wrap('supplied properties not correct for "PhoneNumberQuickConnectConfigProperty"')}function convertCfnQuickConnectPhoneNumberQuickConnectConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnQuickConnectPhoneNumberQuickConnectConfigPropertyValidator(properties).assertSuccess(),{PhoneNumber:cdk().stringToCloudFormation(properties.phoneNumber)}):properties}function CfnQuickConnectPhoneNumberQuickConnectConfigPropertyFromCloudFormation(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("phoneNumber","PhoneNumber",properties.PhoneNumber!=null?cfn_parse().FromCloudFormation.getString(properties.PhoneNumber):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnQuickConnectUserQuickConnectConfigPropertyValidator(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("contactFlowArn",cdk().requiredValidator)(properties.contactFlowArn)),errors.collect(cdk().propertyValidator("contactFlowArn",cdk().validateString)(properties.contactFlowArn)),errors.collect(cdk().propertyValidator("userArn",cdk().requiredValidator)(properties.userArn)),errors.collect(cdk().propertyValidator("userArn",cdk().validateString)(properties.userArn)),errors.wrap('supplied properties not correct for "UserQuickConnectConfigProperty"')}function convertCfnQuickConnectUserQuickConnectConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnQuickConnectUserQuickConnectConfigPropertyValidator(properties).assertSuccess(),{ContactFlowArn:cdk().stringToCloudFormation(properties.contactFlowArn),UserArn:cdk().stringToCloudFormation(properties.userArn)}):properties}function CfnQuickConnectUserQuickConnectConfigPropertyFromCloudFormation(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("contactFlowArn","ContactFlowArn",properties.ContactFlowArn!=null?cfn_parse().FromCloudFormation.getString(properties.ContactFlowArn):void 0),ret.addPropertyResult("userArn","UserArn",properties.UserArn!=null?cfn_parse().FromCloudFormation.getString(properties.UserArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnQuickConnectQuickConnectConfigPropertyValidator(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("phoneConfig",CfnQuickConnectPhoneNumberQuickConnectConfigPropertyValidator)(properties.phoneConfig)),errors.collect(cdk().propertyValidator("queueConfig",CfnQuickConnectQueueQuickConnectConfigPropertyValidator)(properties.queueConfig)),errors.collect(cdk().propertyValidator("quickConnectType",cdk().requiredValidator)(properties.quickConnectType)),errors.collect(cdk().propertyValidator("quickConnectType",cdk().validateString)(properties.quickConnectType)),errors.collect(cdk().propertyValidator("userConfig",CfnQuickConnectUserQuickConnectConfigPropertyValidator)(properties.userConfig)),errors.wrap('supplied properties not correct for "QuickConnectConfigProperty"')}function convertCfnQuickConnectQuickConnectConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnQuickConnectQuickConnectConfigPropertyValidator(properties).assertSuccess(),{PhoneConfig:convertCfnQuickConnectPhoneNumberQuickConnectConfigPropertyToCloudFormation(properties.phoneConfig),QueueConfig:convertCfnQuickConnectQueueQuickConnectConfigPropertyToCloudFormation(properties.queueConfig),QuickConnectType:cdk().stringToCloudFormation(properties.quickConnectType),UserConfig:convertCfnQuickConnectUserQuickConnectConfigPropertyToCloudFormation(properties.userConfig)}):properties}function CfnQuickConnectQuickConnectConfigPropertyFromCloudFormation(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("phoneConfig","PhoneConfig",properties.PhoneConfig!=null?CfnQuickConnectPhoneNumberQuickConnectConfigPropertyFromCloudFormation(properties.PhoneConfig):void 0),ret.addPropertyResult("queueConfig","QueueConfig",properties.QueueConfig!=null?CfnQuickConnectQueueQuickConnectConfigPropertyFromCloudFormation(properties.QueueConfig):void 0),ret.addPropertyResult("quickConnectType","QuickConnectType",properties.QuickConnectType!=null?cfn_parse().FromCloudFormation.getString(properties.QuickConnectType):void 0),ret.addPropertyResult("userConfig","UserConfig",properties.UserConfig!=null?CfnQuickConnectUserQuickConnectConfigPropertyFromCloudFormation(properties.UserConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnQuickConnectPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("quickConnectConfig",cdk().requiredValidator)(properties.quickConnectConfig)),errors.collect(cdk().propertyValidator("quickConnectConfig",CfnQuickConnectQuickConnectConfigPropertyValidator)(properties.quickConnectConfig)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnQuickConnectProps"')}function convertCfnQuickConnectPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnQuickConnectPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Name:cdk().stringToCloudFormation(properties.name),QuickConnectConfig:convertCfnQuickConnectQuickConnectConfigPropertyToCloudFormation(properties.quickConnectConfig),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnQuickConnectPropsFromCloudFormation(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("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("quickConnectConfig","QuickConnectConfig",properties.QuickConnectConfig!=null?CfnQuickConnectQuickConnectConfigPropertyFromCloudFormation(properties.QuickConnectConfig):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnRoutingProfile extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnRoutingProfile",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::RoutingProfile";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRoutingProfilePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnRoutingProfile(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 isCfnRoutingProfile(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnRoutingProfile.CFN_RESOURCE_TYPE_NAME}static arnForRoutingProfile(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IRoutingProfileRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForRoutingProfile),error}return resource.routingProfileRef.routingProfileArn}_agentAvailabilityTimer;cdkTagManager;_defaultOutboundQueueArn;_description;_instanceArn;_manualAssignmentQueueConfigs;_mediaConcurrencies;_name;_queueConfigs;_tags;cfnPropertyNames={agentAvailabilityTimer:"AgentAvailabilityTimer",tags:"Tags",defaultOutboundQueueArn:"DefaultOutboundQueueArn",description:"Description",instanceArn:"InstanceArn",manualAssignmentQueueConfigs:"ManualAssignmentQueueConfigs",mediaConcurrencies:"MediaConcurrencies",name:"Name",queueConfigs:"QueueConfigs"};constructor(scope,id,props){super(scope,id,{type:CfnRoutingProfile.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnRoutingProfileProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRoutingProfile),error}cdk().requireProperty(props,"defaultOutboundQueueArn",this),cdk().requireProperty(props,"description",this),cdk().requireProperty(props,"instanceArn",this),cdk().requireProperty(props,"mediaConcurrencies",this),cdk().requireProperty(props,"name",this),this._agentAvailabilityTimer=props.agentAvailabilityTimer,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::RoutingProfile",void 0,{tagPropertyName:"tags"}),this._defaultOutboundQueueArn=props.defaultOutboundQueueArn,this._description=props.description,this._instanceArn=cdk().getRefProperty(props.instanceArn?.instanceRef,"instanceArn")??cdk().ensureStringOrUndefined(props.instanceArn,"instanceArn","connect.IInstanceRef | string"),this._manualAssignmentQueueConfigs=props.manualAssignmentQueueConfigs,this._mediaConcurrencies=props.mediaConcurrencies,this._name=props.name,this._queueConfigs=props.queueConfigs,this._tags=props.tags}get routingProfileRef(){return{routingProfileArn:this.ref}}get agentAvailabilityTimer(){return this._agentAvailabilityTimer}set agentAvailabilityTimer(value){cdk().traceProperty(this.node,"AgentAvailabilityTimer"),this._agentAvailabilityTimer=value}get defaultOutboundQueueArn(){return this._defaultOutboundQueueArn}set defaultOutboundQueueArn(value){cdk().traceProperty(this.node,"DefaultOutboundQueueArn"),this._defaultOutboundQueueArn=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get manualAssignmentQueueConfigs(){return this._manualAssignmentQueueConfigs}set manualAssignmentQueueConfigs(value){cdk().traceProperty(this.node,"ManualAssignmentQueueConfigs"),this._manualAssignmentQueueConfigs=value}get mediaConcurrencies(){return this._mediaConcurrencies}set mediaConcurrencies(value){cdk().traceProperty(this.node,"MediaConcurrencies"),this._mediaConcurrencies=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get queueConfigs(){return this._queueConfigs}set queueConfigs(value){cdk().traceProperty(this.node,"QueueConfigs"),this._queueConfigs=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrRoutingProfileArn(){return cdk().Token.asString(this.getAtt("RoutingProfileArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{agentAvailabilityTimer:this._agentAvailabilityTimer,tags:this.cdkTagManager.renderTags(this._tags),defaultOutboundQueueArn:this._defaultOutboundQueueArn,description:this._description,instanceArn:this._instanceArn,manualAssignmentQueueConfigs:this._manualAssignmentQueueConfigs,mediaConcurrencies:this._mediaConcurrencies,name:this._name,queueConfigs:this._queueConfigs}}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",CfnRoutingProfile.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnRoutingProfilePropsToCloudFormation(props)}}exports.CfnRoutingProfile=CfnRoutingProfile;function CfnRoutingProfileCrossChannelBehaviorPropertyValidator(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("behaviorType",cdk().requiredValidator)(properties.behaviorType)),errors.collect(cdk().propertyValidator("behaviorType",cdk().validateString)(properties.behaviorType)),errors.wrap('supplied properties not correct for "CrossChannelBehaviorProperty"')}function convertCfnRoutingProfileCrossChannelBehaviorPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRoutingProfileCrossChannelBehaviorPropertyValidator(properties).assertSuccess(),{BehaviorType:cdk().stringToCloudFormation(properties.behaviorType)}):properties}function CfnRoutingProfileCrossChannelBehaviorPropertyFromCloudFormation(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("behaviorType","BehaviorType",properties.BehaviorType!=null?cfn_parse().FromCloudFormation.getString(properties.BehaviorType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRoutingProfileMediaConcurrencyPropertyValidator(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("channel",cdk().requiredValidator)(properties.channel)),errors.collect(cdk().propertyValidator("channel",cdk().validateString)(properties.channel)),errors.collect(cdk().propertyValidator("concurrency",cdk().requiredValidator)(properties.concurrency)),errors.collect(cdk().propertyValidator("concurrency",cdk().validateNumber)(properties.concurrency)),errors.collect(cdk().propertyValidator("crossChannelBehavior",CfnRoutingProfileCrossChannelBehaviorPropertyValidator)(properties.crossChannelBehavior)),errors.wrap('supplied properties not correct for "MediaConcurrencyProperty"')}function convertCfnRoutingProfileMediaConcurrencyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRoutingProfileMediaConcurrencyPropertyValidator(properties).assertSuccess(),{Channel:cdk().stringToCloudFormation(properties.channel),Concurrency:cdk().numberToCloudFormation(properties.concurrency),CrossChannelBehavior:convertCfnRoutingProfileCrossChannelBehaviorPropertyToCloudFormation(properties.crossChannelBehavior)}):properties}function CfnRoutingProfileMediaConcurrencyPropertyFromCloudFormation(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("channel","Channel",properties.Channel!=null?cfn_parse().FromCloudFormation.getString(properties.Channel):void 0),ret.addPropertyResult("concurrency","Concurrency",properties.Concurrency!=null?cfn_parse().FromCloudFormation.getNumber(properties.Concurrency):void 0),ret.addPropertyResult("crossChannelBehavior","CrossChannelBehavior",properties.CrossChannelBehavior!=null?CfnRoutingProfileCrossChannelBehaviorPropertyFromCloudFormation(properties.CrossChannelBehavior):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRoutingProfileRoutingProfileQueueReferencePropertyValidator(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("channel",cdk().requiredValidator)(properties.channel)),errors.collect(cdk().propertyValidator("channel",cdk().validateString)(properties.channel)),errors.collect(cdk().propertyValidator("queueArn",cdk().requiredValidator)(properties.queueArn)),errors.collect(cdk().propertyValidator("queueArn",cdk().validateString)(properties.queueArn)),errors.wrap('supplied properties not correct for "RoutingProfileQueueReferenceProperty"')}function convertCfnRoutingProfileRoutingProfileQueueReferencePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRoutingProfileRoutingProfileQueueReferencePropertyValidator(properties).assertSuccess(),{Channel:cdk().stringToCloudFormation(properties.channel),QueueArn:cdk().stringToCloudFormation(properties.queueArn)}):properties}function CfnRoutingProfileRoutingProfileQueueReferencePropertyFromCloudFormation(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("channel","Channel",properties.Channel!=null?cfn_parse().FromCloudFormation.getString(properties.Channel):void 0),ret.addPropertyResult("queueArn","QueueArn",properties.QueueArn!=null?cfn_parse().FromCloudFormation.getString(properties.QueueArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRoutingProfileRoutingProfileQueueConfigPropertyValidator(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("delay",cdk().requiredValidator)(properties.delay)),errors.collect(cdk().propertyValidator("delay",cdk().validateNumber)(properties.delay)),errors.collect(cdk().propertyValidator("priority",cdk().requiredValidator)(properties.priority)),errors.collect(cdk().propertyValidator("priority",cdk().validateNumber)(properties.priority)),errors.collect(cdk().propertyValidator("queueReference",cdk().requiredValidator)(properties.queueReference)),errors.collect(cdk().propertyValidator("queueReference",CfnRoutingProfileRoutingProfileQueueReferencePropertyValidator)(properties.queueReference)),errors.wrap('supplied properties not correct for "RoutingProfileQueueConfigProperty"')}function convertCfnRoutingProfileRoutingProfileQueueConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRoutingProfileRoutingProfileQueueConfigPropertyValidator(properties).assertSuccess(),{Delay:cdk().numberToCloudFormation(properties.delay),Priority:cdk().numberToCloudFormation(properties.priority),QueueReference:convertCfnRoutingProfileRoutingProfileQueueReferencePropertyToCloudFormation(properties.queueReference)}):properties}function CfnRoutingProfileRoutingProfileQueueConfigPropertyFromCloudFormation(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("delay","Delay",properties.Delay!=null?cfn_parse().FromCloudFormation.getNumber(properties.Delay):void 0),ret.addPropertyResult("priority","Priority",properties.Priority!=null?cfn_parse().FromCloudFormation.getNumber(properties.Priority):void 0),ret.addPropertyResult("queueReference","QueueReference",properties.QueueReference!=null?CfnRoutingProfileRoutingProfileQueueReferencePropertyFromCloudFormation(properties.QueueReference):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRoutingProfileRoutingProfileManualAssignmentQueueConfigPropertyValidator(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("queueReference",cdk().requiredValidator)(properties.queueReference)),errors.collect(cdk().propertyValidator("queueReference",CfnRoutingProfileRoutingProfileQueueReferencePropertyValidator)(properties.queueReference)),errors.wrap('supplied properties not correct for "RoutingProfileManualAssignmentQueueConfigProperty"')}function convertCfnRoutingProfileRoutingProfileManualAssignmentQueueConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRoutingProfileRoutingProfileManualAssignmentQueueConfigPropertyValidator(properties).assertSuccess(),{QueueReference:convertCfnRoutingProfileRoutingProfileQueueReferencePropertyToCloudFormation(properties.queueReference)}):properties}function CfnRoutingProfileRoutingProfileManualAssignmentQueueConfigPropertyFromCloudFormation(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("queueReference","QueueReference",properties.QueueReference!=null?CfnRoutingProfileRoutingProfileQueueReferencePropertyFromCloudFormation(properties.QueueReference):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRoutingProfilePropsValidator(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("agentAvailabilityTimer",cdk().validateString)(properties.agentAvailabilityTimer)),errors.collect(cdk().propertyValidator("defaultOutboundQueueArn",cdk().requiredValidator)(properties.defaultOutboundQueueArn)),errors.collect(cdk().propertyValidator("defaultOutboundQueueArn",cdk().validateString)(properties.defaultOutboundQueueArn)),errors.collect(cdk().propertyValidator("description",cdk().requiredValidator)(properties.description)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("manualAssignmentQueueConfigs",cdk().listValidator(CfnRoutingProfileRoutingProfileManualAssignmentQueueConfigPropertyValidator))(properties.manualAssignmentQueueConfigs)),errors.collect(cdk().propertyValidator("mediaConcurrencies",cdk().requiredValidator)(properties.mediaConcurrencies)),errors.collect(cdk().propertyValidator("mediaConcurrencies",cdk().listValidator(CfnRoutingProfileMediaConcurrencyPropertyValidator))(properties.mediaConcurrencies)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("queueConfigs",cdk().listValidator(CfnRoutingProfileRoutingProfileQueueConfigPropertyValidator))(properties.queueConfigs)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnRoutingProfileProps"')}function convertCfnRoutingProfilePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRoutingProfilePropsValidator(properties).assertSuccess(),{AgentAvailabilityTimer:cdk().stringToCloudFormation(properties.agentAvailabilityTimer),DefaultOutboundQueueArn:cdk().stringToCloudFormation(properties.defaultOutboundQueueArn),Description:cdk().stringToCloudFormation(properties.description),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),ManualAssignmentQueueConfigs:cdk().listMapper(convertCfnRoutingProfileRoutingProfileManualAssignmentQueueConfigPropertyToCloudFormation)(properties.manualAssignmentQueueConfigs),MediaConcurrencies:cdk().listMapper(convertCfnRoutingProfileMediaConcurrencyPropertyToCloudFormation)(properties.mediaConcurrencies),Name:cdk().stringToCloudFormation(properties.name),QueueConfigs:cdk().listMapper(convertCfnRoutingProfileRoutingProfileQueueConfigPropertyToCloudFormation)(properties.queueConfigs),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnRoutingProfilePropsFromCloudFormation(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("agentAvailabilityTimer","AgentAvailabilityTimer",properties.AgentAvailabilityTimer!=null?cfn_parse().FromCloudFormation.getString(properties.AgentAvailabilityTimer):void 0),ret.addPropertyResult("defaultOutboundQueueArn","DefaultOutboundQueueArn",properties.DefaultOutboundQueueArn!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultOutboundQueueArn):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("manualAssignmentQueueConfigs","ManualAssignmentQueueConfigs",properties.ManualAssignmentQueueConfigs!=null?cfn_parse().FromCloudFormation.getArray(CfnRoutingProfileRoutingProfileManualAssignmentQueueConfigPropertyFromCloudFormation)(properties.ManualAssignmentQueueConfigs):void 0),ret.addPropertyResult("mediaConcurrencies","MediaConcurrencies",properties.MediaConcurrencies!=null?cfn_parse().FromCloudFormation.getArray(CfnRoutingProfileMediaConcurrencyPropertyFromCloudFormation)(properties.MediaConcurrencies):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("queueConfigs","QueueConfigs",properties.QueueConfigs!=null?cfn_parse().FromCloudFormation.getArray(CfnRoutingProfileRoutingProfileQueueConfigPropertyFromCloudFormation)(properties.QueueConfigs):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnRule extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnRule",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::Rule";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnRulePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnRule(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 isCfnRule(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnRule.CFN_RESOURCE_TYPE_NAME}static arnForRule(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IRuleRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForRule),error}return resource.ruleRef.ruleArn}_actions;_function;_instanceArn;_name;_publishStatus;tags;_tagsRaw;_triggerEventSource;cfnPropertyNames={actions:"Actions",function:"Function",instanceArn:"InstanceArn",name:"Name",publishStatus:"PublishStatus",tags:"Tags",triggerEventSource:"TriggerEventSource"};constructor(scope,id,props){super(scope,id,{type:CfnRule.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnRuleProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnRule),error}cdk().requireProperty(props,"actions",this),cdk().requireProperty(props,"function",this),cdk().requireProperty(props,"instanceArn",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"publishStatus",this),cdk().requireProperty(props,"triggerEventSource",this),this._actions=props.actions,this._function=props.function,this._instanceArn=props.instanceArn,this._name=props.name,this._publishStatus=props.publishStatus,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::Rule",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._triggerEventSource=props.triggerEventSource}get ruleRef(){return{ruleArn:this.ref}}get actions(){return this._actions}set actions(value){cdk().traceProperty(this.node,"Actions"),this._actions=value}get function(){return this._function}set function(value){cdk().traceProperty(this.node,"Function"),this._function=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get publishStatus(){return this._publishStatus}set publishStatus(value){cdk().traceProperty(this.node,"PublishStatus"),this._publishStatus=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get triggerEventSource(){return this._triggerEventSource}set triggerEventSource(value){cdk().traceProperty(this.node,"TriggerEventSource"),this._triggerEventSource=value}get attrRuleArn(){return cdk().Token.asString(this.getAtt("RuleArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{actions:this._actions,function:this._function,instanceArn:this._instanceArn,name:this._name,publishStatus:this._publishStatus,tags:this.tags.renderTags(),triggerEventSource:this._triggerEventSource}}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",CfnRule.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnRulePropsToCloudFormation(props)}}exports.CfnRule=CfnRule;function CfnRuleRuleTriggerEventSourcePropertyValidator(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("eventSourceName",cdk().requiredValidator)(properties.eventSourceName)),errors.collect(cdk().propertyValidator("eventSourceName",cdk().validateString)(properties.eventSourceName)),errors.collect(cdk().propertyValidator("integrationAssociationArn",cdk().validateString)(properties.integrationAssociationArn)),errors.wrap('supplied properties not correct for "RuleTriggerEventSourceProperty"')}function convertCfnRuleRuleTriggerEventSourcePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRuleRuleTriggerEventSourcePropertyValidator(properties).assertSuccess(),{EventSourceName:cdk().stringToCloudFormation(properties.eventSourceName),IntegrationAssociationArn:cdk().stringToCloudFormation(properties.integrationAssociationArn)}):properties}function CfnRuleRuleTriggerEventSourcePropertyFromCloudFormation(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("eventSourceName","EventSourceName",properties.EventSourceName!=null?cfn_parse().FromCloudFormation.getString(properties.EventSourceName):void 0),ret.addPropertyResult("integrationAssociationArn","IntegrationAssociationArn",properties.IntegrationAssociationArn!=null?cfn_parse().FromCloudFormation.getString(properties.IntegrationAssociationArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRuleEventBridgeActionPropertyValidator(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("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "EventBridgeActionProperty"')}function convertCfnRuleEventBridgeActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRuleEventBridgeActionPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnRuleEventBridgeActionPropertyFromCloudFormation(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("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRuleReferencePropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("type",cdk().requiredValidator)(properties.type)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",cdk().validateString)(properties.value)),errors.wrap('supplied properties not correct for "ReferenceProperty"')}function convertCfnRuleReferencePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRuleReferencePropertyValidator(properties).assertSuccess(),{Type:cdk().stringToCloudFormation(properties.type),Value:cdk().stringToCloudFormation(properties.value)}):properties}function CfnRuleReferencePropertyFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?cfn_parse().FromCloudFormation.getString(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRuleTaskActionPropertyValidator(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("contactFlowArn",cdk().requiredValidator)(properties.contactFlowArn)),errors.collect(cdk().propertyValidator("contactFlowArn",cdk().validateString)(properties.contactFlowArn)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("references",cdk().hashValidator(CfnRuleReferencePropertyValidator))(properties.references)),errors.wrap('supplied properties not correct for "TaskActionProperty"')}function convertCfnRuleTaskActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRuleTaskActionPropertyValidator(properties).assertSuccess(),{ContactFlowArn:cdk().stringToCloudFormation(properties.contactFlowArn),Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name),References:cdk().hashMapper(convertCfnRuleReferencePropertyToCloudFormation)(properties.references)}):properties}function CfnRuleTaskActionPropertyFromCloudFormation(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("contactFlowArn","ContactFlowArn",properties.ContactFlowArn!=null?cfn_parse().FromCloudFormation.getString(properties.ContactFlowArn):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("references","References",properties.References!=null?cfn_parse().FromCloudFormation.getMap(CfnRuleReferencePropertyFromCloudFormation)(properties.References):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRuleNotificationRecipientTypePropertyValidator(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("userArns",cdk().listValidator(cdk().validateString))(properties.userArns)),errors.collect(cdk().propertyValidator("userTags",cdk().hashValidator(cdk().validateString))(properties.userTags)),errors.wrap('supplied properties not correct for "NotificationRecipientTypeProperty"')}function convertCfnRuleNotificationRecipientTypePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRuleNotificationRecipientTypePropertyValidator(properties).assertSuccess(),{UserArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.userArns),UserTags:cdk().hashMapper(cdk().stringToCloudFormation)(properties.userTags)}):properties}function CfnRuleNotificationRecipientTypePropertyFromCloudFormation(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("userArns","UserArns",properties.UserArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.UserArns):void 0),ret.addPropertyResult("userTags","UserTags",properties.UserTags!=null?cfn_parse().FromCloudFormation.getMap(cfn_parse().FromCloudFormation.getString)(properties.UserTags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRuleSendNotificationActionPropertyValidator(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("content",cdk().requiredValidator)(properties.content)),errors.collect(cdk().propertyValidator("content",cdk().validateString)(properties.content)),errors.collect(cdk().propertyValidator("contentType",cdk().requiredValidator)(properties.contentType)),errors.collect(cdk().propertyValidator("contentType",cdk().validateString)(properties.contentType)),errors.collect(cdk().propertyValidator("deliveryMethod",cdk().requiredValidator)(properties.deliveryMethod)),errors.collect(cdk().propertyValidator("deliveryMethod",cdk().validateString)(properties.deliveryMethod)),errors.collect(cdk().propertyValidator("recipient",cdk().requiredValidator)(properties.recipient)),errors.collect(cdk().propertyValidator("recipient",CfnRuleNotificationRecipientTypePropertyValidator)(properties.recipient)),errors.collect(cdk().propertyValidator("subject",cdk().validateString)(properties.subject)),errors.wrap('supplied properties not correct for "SendNotificationActionProperty"')}function convertCfnRuleSendNotificationActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRuleSendNotificationActionPropertyValidator(properties).assertSuccess(),{Content:cdk().stringToCloudFormation(properties.content),ContentType:cdk().stringToCloudFormation(properties.contentType),DeliveryMethod:cdk().stringToCloudFormation(properties.deliveryMethod),Recipient:convertCfnRuleNotificationRecipientTypePropertyToCloudFormation(properties.recipient),Subject:cdk().stringToCloudFormation(properties.subject)}):properties}function CfnRuleSendNotificationActionPropertyFromCloudFormation(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("content","Content",properties.Content!=null?cfn_parse().FromCloudFormation.getString(properties.Content):void 0),ret.addPropertyResult("contentType","ContentType",properties.ContentType!=null?cfn_parse().FromCloudFormation.getString(properties.ContentType):void 0),ret.addPropertyResult("deliveryMethod","DeliveryMethod",properties.DeliveryMethod!=null?cfn_parse().FromCloudFormation.getString(properties.DeliveryMethod):void 0),ret.addPropertyResult("recipient","Recipient",properties.Recipient!=null?CfnRuleNotificationRecipientTypePropertyFromCloudFormation(properties.Recipient):void 0),ret.addPropertyResult("subject","Subject",properties.Subject!=null?cfn_parse().FromCloudFormation.getString(properties.Subject):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRuleFieldValuePropertyValidator(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("booleanValue",cdk().validateBoolean)(properties.booleanValue)),errors.collect(cdk().propertyValidator("doubleValue",cdk().validateNumber)(properties.doubleValue)),errors.collect(cdk().propertyValidator("emptyValue",cdk().validateObject)(properties.emptyValue)),errors.collect(cdk().propertyValidator("stringValue",cdk().validateString)(properties.stringValue)),errors.wrap('supplied properties not correct for "FieldValueProperty"')}function convertCfnRuleFieldValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRuleFieldValuePropertyValidator(properties).assertSuccess(),{BooleanValue:cdk().booleanToCloudFormation(properties.booleanValue),DoubleValue:cdk().numberToCloudFormation(properties.doubleValue),EmptyValue:cdk().objectToCloudFormation(properties.emptyValue),StringValue:cdk().stringToCloudFormation(properties.stringValue)}):properties}function CfnRuleFieldValuePropertyFromCloudFormation(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("booleanValue","BooleanValue",properties.BooleanValue!=null?cfn_parse().FromCloudFormation.getBoolean(properties.BooleanValue):void 0),ret.addPropertyResult("doubleValue","DoubleValue",properties.DoubleValue!=null?cfn_parse().FromCloudFormation.getNumber(properties.DoubleValue):void 0),ret.addPropertyResult("emptyValue","EmptyValue",properties.EmptyValue!=null?cfn_parse().FromCloudFormation.getAny(properties.EmptyValue):void 0),ret.addPropertyResult("stringValue","StringValue",properties.StringValue!=null?cfn_parse().FromCloudFormation.getString(properties.StringValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRuleFieldPropertyValidator(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("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",cdk().validateString)(properties.id)),errors.collect(cdk().propertyValidator("value",cdk().requiredValidator)(properties.value)),errors.collect(cdk().propertyValidator("value",CfnRuleFieldValuePropertyValidator)(properties.value)),errors.wrap('supplied properties not correct for "FieldProperty"')}function convertCfnRuleFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRuleFieldPropertyValidator(properties).assertSuccess(),{Id:cdk().stringToCloudFormation(properties.id),Value:convertCfnRuleFieldValuePropertyToCloudFormation(properties.value)}):properties}function CfnRuleFieldPropertyFromCloudFormation(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("id","Id",properties.Id!=null?cfn_parse().FromCloudFormation.getString(properties.Id):void 0),ret.addPropertyResult("value","Value",properties.Value!=null?CfnRuleFieldValuePropertyFromCloudFormation(properties.Value):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRuleCreateCaseActionPropertyValidator(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("fields",cdk().requiredValidator)(properties.fields)),errors.collect(cdk().propertyValidator("fields",cdk().listValidator(CfnRuleFieldPropertyValidator))(properties.fields)),errors.collect(cdk().propertyValidator("templateId",cdk().requiredValidator)(properties.templateId)),errors.collect(cdk().propertyValidator("templateId",cdk().validateString)(properties.templateId)),errors.wrap('supplied properties not correct for "CreateCaseActionProperty"')}function convertCfnRuleCreateCaseActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRuleCreateCaseActionPropertyValidator(properties).assertSuccess(),{Fields:cdk().listMapper(convertCfnRuleFieldPropertyToCloudFormation)(properties.fields),TemplateId:cdk().stringToCloudFormation(properties.templateId)}):properties}function CfnRuleCreateCaseActionPropertyFromCloudFormation(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("fields","Fields",properties.Fields!=null?cfn_parse().FromCloudFormation.getArray(CfnRuleFieldPropertyFromCloudFormation)(properties.Fields):void 0),ret.addPropertyResult("templateId","TemplateId",properties.TemplateId!=null?cfn_parse().FromCloudFormation.getString(properties.TemplateId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRuleUpdateCaseActionPropertyValidator(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("fields",cdk().requiredValidator)(properties.fields)),errors.collect(cdk().propertyValidator("fields",cdk().listValidator(CfnRuleFieldPropertyValidator))(properties.fields)),errors.wrap('supplied properties not correct for "UpdateCaseActionProperty"')}function convertCfnRuleUpdateCaseActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRuleUpdateCaseActionPropertyValidator(properties).assertSuccess(),{Fields:cdk().listMapper(convertCfnRuleFieldPropertyToCloudFormation)(properties.fields)}):properties}function CfnRuleUpdateCaseActionPropertyFromCloudFormation(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("fields","Fields",properties.Fields!=null?cfn_parse().FromCloudFormation.getArray(CfnRuleFieldPropertyFromCloudFormation)(properties.Fields):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRuleSubmitAutoEvaluationActionPropertyValidator(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("evaluationFormArn",cdk().requiredValidator)(properties.evaluationFormArn)),errors.collect(cdk().propertyValidator("evaluationFormArn",cdk().validateString)(properties.evaluationFormArn)),errors.wrap('supplied properties not correct for "SubmitAutoEvaluationActionProperty"')}function convertCfnRuleSubmitAutoEvaluationActionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRuleSubmitAutoEvaluationActionPropertyValidator(properties).assertSuccess(),{EvaluationFormArn:cdk().stringToCloudFormation(properties.evaluationFormArn)}):properties}function CfnRuleSubmitAutoEvaluationActionPropertyFromCloudFormation(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("evaluationFormArn","EvaluationFormArn",properties.EvaluationFormArn!=null?cfn_parse().FromCloudFormation.getString(properties.EvaluationFormArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRuleActionsPropertyValidator(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("assignContactCategoryActions",cdk().listValidator(cdk().validateObject))(properties.assignContactCategoryActions)),errors.collect(cdk().propertyValidator("createCaseActions",cdk().listValidator(CfnRuleCreateCaseActionPropertyValidator))(properties.createCaseActions)),errors.collect(cdk().propertyValidator("endAssociatedTasksActions",cdk().listValidator(cdk().validateObject))(properties.endAssociatedTasksActions)),errors.collect(cdk().propertyValidator("eventBridgeActions",cdk().listValidator(CfnRuleEventBridgeActionPropertyValidator))(properties.eventBridgeActions)),errors.collect(cdk().propertyValidator("sendNotificationActions",cdk().listValidator(CfnRuleSendNotificationActionPropertyValidator))(properties.sendNotificationActions)),errors.collect(cdk().propertyValidator("submitAutoEvaluationActions",cdk().listValidator(CfnRuleSubmitAutoEvaluationActionPropertyValidator))(properties.submitAutoEvaluationActions)),errors.collect(cdk().propertyValidator("taskActions",cdk().listValidator(CfnRuleTaskActionPropertyValidator))(properties.taskActions)),errors.collect(cdk().propertyValidator("updateCaseActions",cdk().listValidator(CfnRuleUpdateCaseActionPropertyValidator))(properties.updateCaseActions)),errors.wrap('supplied properties not correct for "ActionsProperty"')}function convertCfnRuleActionsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRuleActionsPropertyValidator(properties).assertSuccess(),{AssignContactCategoryActions:cdk().listMapper(cdk().objectToCloudFormation)(properties.assignContactCategoryActions),CreateCaseActions:cdk().listMapper(convertCfnRuleCreateCaseActionPropertyToCloudFormation)(properties.createCaseActions),EndAssociatedTasksActions:cdk().listMapper(cdk().objectToCloudFormation)(properties.endAssociatedTasksActions),EventBridgeActions:cdk().listMapper(convertCfnRuleEventBridgeActionPropertyToCloudFormation)(properties.eventBridgeActions),SendNotificationActions:cdk().listMapper(convertCfnRuleSendNotificationActionPropertyToCloudFormation)(properties.sendNotificationActions),SubmitAutoEvaluationActions:cdk().listMapper(convertCfnRuleSubmitAutoEvaluationActionPropertyToCloudFormation)(properties.submitAutoEvaluationActions),TaskActions:cdk().listMapper(convertCfnRuleTaskActionPropertyToCloudFormation)(properties.taskActions),UpdateCaseActions:cdk().listMapper(convertCfnRuleUpdateCaseActionPropertyToCloudFormation)(properties.updateCaseActions)}):properties}function CfnRuleActionsPropertyFromCloudFormation(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("assignContactCategoryActions","AssignContactCategoryActions",properties.AssignContactCategoryActions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getAny)(properties.AssignContactCategoryActions):void 0),ret.addPropertyResult("createCaseActions","CreateCaseActions",properties.CreateCaseActions!=null?cfn_parse().FromCloudFormation.getArray(CfnRuleCreateCaseActionPropertyFromCloudFormation)(properties.CreateCaseActions):void 0),ret.addPropertyResult("endAssociatedTasksActions","EndAssociatedTasksActions",properties.EndAssociatedTasksActions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getAny)(properties.EndAssociatedTasksActions):void 0),ret.addPropertyResult("eventBridgeActions","EventBridgeActions",properties.EventBridgeActions!=null?cfn_parse().FromCloudFormation.getArray(CfnRuleEventBridgeActionPropertyFromCloudFormation)(properties.EventBridgeActions):void 0),ret.addPropertyResult("sendNotificationActions","SendNotificationActions",properties.SendNotificationActions!=null?cfn_parse().FromCloudFormation.getArray(CfnRuleSendNotificationActionPropertyFromCloudFormation)(properties.SendNotificationActions):void 0),ret.addPropertyResult("submitAutoEvaluationActions","SubmitAutoEvaluationActions",properties.SubmitAutoEvaluationActions!=null?cfn_parse().FromCloudFormation.getArray(CfnRuleSubmitAutoEvaluationActionPropertyFromCloudFormation)(properties.SubmitAutoEvaluationActions):void 0),ret.addPropertyResult("taskActions","TaskActions",properties.TaskActions!=null?cfn_parse().FromCloudFormation.getArray(CfnRuleTaskActionPropertyFromCloudFormation)(properties.TaskActions):void 0),ret.addPropertyResult("updateCaseActions","UpdateCaseActions",properties.UpdateCaseActions!=null?cfn_parse().FromCloudFormation.getArray(CfnRuleUpdateCaseActionPropertyFromCloudFormation)(properties.UpdateCaseActions):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnRulePropsValidator(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("actions",cdk().requiredValidator)(properties.actions)),errors.collect(cdk().propertyValidator("actions",CfnRuleActionsPropertyValidator)(properties.actions)),errors.collect(cdk().propertyValidator("function",cdk().requiredValidator)(properties.function)),errors.collect(cdk().propertyValidator("function",cdk().validateString)(properties.function)),errors.collect(cdk().propertyValidator("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("publishStatus",cdk().requiredValidator)(properties.publishStatus)),errors.collect(cdk().propertyValidator("publishStatus",cdk().validateString)(properties.publishStatus)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("triggerEventSource",cdk().requiredValidator)(properties.triggerEventSource)),errors.collect(cdk().propertyValidator("triggerEventSource",CfnRuleRuleTriggerEventSourcePropertyValidator)(properties.triggerEventSource)),errors.wrap('supplied properties not correct for "CfnRuleProps"')}function convertCfnRulePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnRulePropsValidator(properties).assertSuccess(),{Actions:convertCfnRuleActionsPropertyToCloudFormation(properties.actions),Function:cdk().stringToCloudFormation(properties.function),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Name:cdk().stringToCloudFormation(properties.name),PublishStatus:cdk().stringToCloudFormation(properties.publishStatus),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TriggerEventSource:convertCfnRuleRuleTriggerEventSourcePropertyToCloudFormation(properties.triggerEventSource)}):properties}function CfnRulePropsFromCloudFormation(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("actions","Actions",properties.Actions!=null?CfnRuleActionsPropertyFromCloudFormation(properties.Actions):void 0),ret.addPropertyResult("function","Function",properties.Function!=null?cfn_parse().FromCloudFormation.getString(properties.Function):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("publishStatus","PublishStatus",properties.PublishStatus!=null?cfn_parse().FromCloudFormation.getString(properties.PublishStatus):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("triggerEventSource","TriggerEventSource",properties.TriggerEventSource!=null?CfnRuleRuleTriggerEventSourcePropertyFromCloudFormation(properties.TriggerEventSource):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnSecurityKey extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnSecurityKey",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::SecurityKey";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSecurityKeyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnSecurityKey(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 isCfnSecurityKey(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnSecurityKey.CFN_RESOURCE_TYPE_NAME}_instanceId;_key;cfnPropertyNames={instanceId:"InstanceId",key:"Key"};constructor(scope,id,props){super(scope,id,{type:CfnSecurityKey.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnSecurityKeyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnSecurityKey),error}cdk().requireProperty(props,"instanceId",this),cdk().requireProperty(props,"key",this),this._instanceId=cdk().getRefProperty(props.instanceId?.instanceRef,"instanceArn")??cdk().ensureStringOrUndefined(props.instanceId,"instanceId","connect.IInstanceRef | string"),this._key=props.key}get securityKeyRef(){return{instanceId:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),associationId:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get instanceId(){return this._instanceId}set instanceId(value){cdk().traceProperty(this.node,"InstanceId"),this._instanceId=value}get key(){return this._key}set key(value){cdk().traceProperty(this.node,"Key"),this._key=value}get attrAssociationId(){return cdk().Token.asString(this.getAtt("AssociationId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{instanceId:this._instanceId,key:this._key}}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",CfnSecurityKey.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnSecurityKeyPropsToCloudFormation(props)}}exports.CfnSecurityKey=CfnSecurityKey;function CfnSecurityKeyPropsValidator(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("instanceId",cdk().requiredValidator)(properties.instanceId)),errors.collect(cdk().propertyValidator("instanceId",cdk().validateString)(properties.instanceId)),errors.collect(cdk().propertyValidator("key",cdk().requiredValidator)(properties.key)),errors.collect(cdk().propertyValidator("key",cdk().validateString)(properties.key)),errors.wrap('supplied properties not correct for "CfnSecurityKeyProps"')}function convertCfnSecurityKeyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSecurityKeyPropsValidator(properties).assertSuccess(),{InstanceId:cdk().stringToCloudFormation(properties.instanceId),Key:cdk().stringToCloudFormation(properties.key)}):properties}function CfnSecurityKeyPropsFromCloudFormation(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("instanceId","InstanceId",properties.InstanceId!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceId):void 0),ret.addPropertyResult("key","Key",properties.Key!=null?cfn_parse().FromCloudFormation.getString(properties.Key):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnSecurityProfile extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnSecurityProfile",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::SecurityProfile";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSecurityProfilePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnSecurityProfile(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 isCfnSecurityProfile(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnSecurityProfile.CFN_RESOURCE_TYPE_NAME}static arnForSecurityProfile(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_ISecurityProfileRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForSecurityProfile),error}return resource.securityProfileRef.securityProfileArn}_allowedAccessControlHierarchyGroupId;_allowedAccessControlTags;_allowedFlowModules;_applications;cdkTagManager;_description;_granularAccessControlConfiguration;_hierarchyRestrictedResources;_instanceArn;_permissions;_securityProfileName;_tagRestrictedResources;_tags;cfnPropertyNames={allowedAccessControlHierarchyGroupId:"AllowedAccessControlHierarchyGroupId",allowedAccessControlTags:"AllowedAccessControlTags",allowedFlowModules:"AllowedFlowModules",applications:"Applications",tags:"Tags",description:"Description",granularAccessControlConfiguration:"GranularAccessControlConfiguration",hierarchyRestrictedResources:"HierarchyRestrictedResources",instanceArn:"InstanceArn",permissions:"Permissions",securityProfileName:"SecurityProfileName",tagRestrictedResources:"TagRestrictedResources"};constructor(scope,id,props){super(scope,id,{type:CfnSecurityProfile.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnSecurityProfileProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnSecurityProfile),error}cdk().requireProperty(props,"instanceArn",this),cdk().requireProperty(props,"securityProfileName",this),this._allowedAccessControlHierarchyGroupId=props.allowedAccessControlHierarchyGroupId,this._allowedAccessControlTags=props.allowedAccessControlTags,this._allowedFlowModules=props.allowedFlowModules,this._applications=props.applications,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::SecurityProfile",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._granularAccessControlConfiguration=props.granularAccessControlConfiguration,this._hierarchyRestrictedResources=props.hierarchyRestrictedResources,this._instanceArn=cdk().getRefProperty(props.instanceArn?.instanceRef,"instanceArn")??cdk().ensureStringOrUndefined(props.instanceArn,"instanceArn","connect.IInstanceRef | string"),this._permissions=props.permissions,this._securityProfileName=props.securityProfileName,this._tagRestrictedResources=props.tagRestrictedResources,this._tags=props.tags}get securityProfileRef(){return{securityProfileArn:this.ref}}get allowedAccessControlHierarchyGroupId(){return this._allowedAccessControlHierarchyGroupId}set allowedAccessControlHierarchyGroupId(value){cdk().traceProperty(this.node,"AllowedAccessControlHierarchyGroupId"),this._allowedAccessControlHierarchyGroupId=value}get allowedAccessControlTags(){return this._allowedAccessControlTags}set allowedAccessControlTags(value){cdk().traceProperty(this.node,"AllowedAccessControlTags"),this._allowedAccessControlTags=value}get allowedFlowModules(){return this._allowedFlowModules}set allowedFlowModules(value){cdk().traceProperty(this.node,"AllowedFlowModules"),this._allowedFlowModules=value}get applications(){return this._applications}set applications(value){cdk().traceProperty(this.node,"Applications"),this._applications=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get granularAccessControlConfiguration(){return this._granularAccessControlConfiguration}set granularAccessControlConfiguration(value){cdk().traceProperty(this.node,"GranularAccessControlConfiguration"),this._granularAccessControlConfiguration=value}get hierarchyRestrictedResources(){return this._hierarchyRestrictedResources}set hierarchyRestrictedResources(value){cdk().traceProperty(this.node,"HierarchyRestrictedResources"),this._hierarchyRestrictedResources=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get permissions(){return this._permissions}set permissions(value){cdk().traceProperty(this.node,"Permissions"),this._permissions=value}get securityProfileName(){return this._securityProfileName}set securityProfileName(value){cdk().traceProperty(this.node,"SecurityProfileName"),this._securityProfileName=value}get tagRestrictedResources(){return this._tagRestrictedResources}set tagRestrictedResources(value){cdk().traceProperty(this.node,"TagRestrictedResources"),this._tagRestrictedResources=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrLastModifiedRegion(){return cdk().Token.asString(this.getAtt("LastModifiedRegion",cdk().ResolutionTypeHint.STRING))}get attrLastModifiedTime(){return this.getAtt("LastModifiedTime",cdk().ResolutionTypeHint.NUMBER)}get attrSecurityProfileArn(){return cdk().Token.asString(this.getAtt("SecurityProfileArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{allowedAccessControlHierarchyGroupId:this._allowedAccessControlHierarchyGroupId,allowedAccessControlTags:this._allowedAccessControlTags,allowedFlowModules:this._allowedFlowModules,applications:this._applications,tags:this.cdkTagManager.renderTags(this._tags),description:this._description,granularAccessControlConfiguration:this._granularAccessControlConfiguration,hierarchyRestrictedResources:this._hierarchyRestrictedResources,instanceArn:this._instanceArn,permissions:this._permissions,securityProfileName:this._securityProfileName,tagRestrictedResources:this._tagRestrictedResources}}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",CfnSecurityProfile.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnSecurityProfilePropsToCloudFormation(props)}}exports.CfnSecurityProfile=CfnSecurityProfile;function CfnSecurityProfileApplicationPropertyValidator(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("applicationPermissions",cdk().requiredValidator)(properties.applicationPermissions)),errors.collect(cdk().propertyValidator("applicationPermissions",cdk().listValidator(cdk().validateString))(properties.applicationPermissions)),errors.collect(cdk().propertyValidator("namespace",cdk().requiredValidator)(properties.namespace)),errors.collect(cdk().propertyValidator("namespace",cdk().validateString)(properties.namespace)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "ApplicationProperty"')}function convertCfnSecurityProfileApplicationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSecurityProfileApplicationPropertyValidator(properties).assertSuccess(),{ApplicationPermissions:cdk().listMapper(cdk().stringToCloudFormation)(properties.applicationPermissions),Namespace:cdk().stringToCloudFormation(properties.namespace),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnSecurityProfileApplicationPropertyFromCloudFormation(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("applicationPermissions","ApplicationPermissions",properties.ApplicationPermissions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.ApplicationPermissions):void 0),ret.addPropertyResult("namespace","Namespace",properties.Namespace!=null?cfn_parse().FromCloudFormation.getString(properties.Namespace):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfileFlowModulePropertyValidator(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("flowModuleId",cdk().requiredValidator)(properties.flowModuleId)),errors.collect(cdk().propertyValidator("flowModuleId",cdk().validateString)(properties.flowModuleId)),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 "FlowModuleProperty"')}function convertCfnSecurityProfileFlowModulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSecurityProfileFlowModulePropertyValidator(properties).assertSuccess(),{FlowModuleId:cdk().stringToCloudFormation(properties.flowModuleId),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnSecurityProfileFlowModulePropertyFromCloudFormation(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("flowModuleId","FlowModuleId",properties.FlowModuleId!=null?cfn_parse().FromCloudFormation.getString(properties.FlowModuleId):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfilePrimaryAttributeValuePropertyValidator(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("accessType",cdk().requiredValidator)(properties.accessType)),errors.collect(cdk().propertyValidator("accessType",cdk().validateString)(properties.accessType)),errors.collect(cdk().propertyValidator("attributeName",cdk().requiredValidator)(properties.attributeName)),errors.collect(cdk().propertyValidator("attributeName",cdk().validateString)(properties.attributeName)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "PrimaryAttributeValueProperty"')}function convertCfnSecurityProfilePrimaryAttributeValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSecurityProfilePrimaryAttributeValuePropertyValidator(properties).assertSuccess(),{AccessType:cdk().stringToCloudFormation(properties.accessType),AttributeName:cdk().stringToCloudFormation(properties.attributeName),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnSecurityProfilePrimaryAttributeValuePropertyFromCloudFormation(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("accessType","AccessType",properties.AccessType!=null?cfn_parse().FromCloudFormation.getString(properties.AccessType):void 0),ret.addPropertyResult("attributeName","AttributeName",properties.AttributeName!=null?cfn_parse().FromCloudFormation.getString(properties.AttributeName):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfilePrimaryAttributeAccessControlConfigurationItemPropertyValidator(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("primaryAttributeValues",cdk().requiredValidator)(properties.primaryAttributeValues)),errors.collect(cdk().propertyValidator("primaryAttributeValues",cdk().listValidator(CfnSecurityProfilePrimaryAttributeValuePropertyValidator))(properties.primaryAttributeValues)),errors.wrap('supplied properties not correct for "PrimaryAttributeAccessControlConfigurationItemProperty"')}function convertCfnSecurityProfilePrimaryAttributeAccessControlConfigurationItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSecurityProfilePrimaryAttributeAccessControlConfigurationItemPropertyValidator(properties).assertSuccess(),{PrimaryAttributeValues:cdk().listMapper(convertCfnSecurityProfilePrimaryAttributeValuePropertyToCloudFormation)(properties.primaryAttributeValues)}):properties}function CfnSecurityProfilePrimaryAttributeAccessControlConfigurationItemPropertyFromCloudFormation(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("primaryAttributeValues","PrimaryAttributeValues",properties.PrimaryAttributeValues!=null?cfn_parse().FromCloudFormation.getArray(CfnSecurityProfilePrimaryAttributeValuePropertyFromCloudFormation)(properties.PrimaryAttributeValues):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfileDataTableAccessControlConfigurationPropertyValidator(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("primaryAttributeAccessControlConfiguration",CfnSecurityProfilePrimaryAttributeAccessControlConfigurationItemPropertyValidator)(properties.primaryAttributeAccessControlConfiguration)),errors.wrap('supplied properties not correct for "DataTableAccessControlConfigurationProperty"')}function convertCfnSecurityProfileDataTableAccessControlConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSecurityProfileDataTableAccessControlConfigurationPropertyValidator(properties).assertSuccess(),{PrimaryAttributeAccessControlConfiguration:convertCfnSecurityProfilePrimaryAttributeAccessControlConfigurationItemPropertyToCloudFormation(properties.primaryAttributeAccessControlConfiguration)}):properties}function CfnSecurityProfileDataTableAccessControlConfigurationPropertyFromCloudFormation(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("primaryAttributeAccessControlConfiguration","PrimaryAttributeAccessControlConfiguration",properties.PrimaryAttributeAccessControlConfiguration!=null?CfnSecurityProfilePrimaryAttributeAccessControlConfigurationItemPropertyFromCloudFormation(properties.PrimaryAttributeAccessControlConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfileGranularAccessControlConfigurationPropertyValidator(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("dataTableAccessControlConfiguration",CfnSecurityProfileDataTableAccessControlConfigurationPropertyValidator)(properties.dataTableAccessControlConfiguration)),errors.wrap('supplied properties not correct for "GranularAccessControlConfigurationProperty"')}function convertCfnSecurityProfileGranularAccessControlConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSecurityProfileGranularAccessControlConfigurationPropertyValidator(properties).assertSuccess(),{DataTableAccessControlConfiguration:convertCfnSecurityProfileDataTableAccessControlConfigurationPropertyToCloudFormation(properties.dataTableAccessControlConfiguration)}):properties}function CfnSecurityProfileGranularAccessControlConfigurationPropertyFromCloudFormation(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("dataTableAccessControlConfiguration","DataTableAccessControlConfiguration",properties.DataTableAccessControlConfiguration!=null?CfnSecurityProfileDataTableAccessControlConfigurationPropertyFromCloudFormation(properties.DataTableAccessControlConfiguration):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnSecurityProfilePropsValidator(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("allowedAccessControlHierarchyGroupId",cdk().validateString)(properties.allowedAccessControlHierarchyGroupId)),errors.collect(cdk().propertyValidator("allowedAccessControlTags",cdk().listValidator(cdk().validateCfnTag))(properties.allowedAccessControlTags)),errors.collect(cdk().propertyValidator("allowedFlowModules",cdk().listValidator(CfnSecurityProfileFlowModulePropertyValidator))(properties.allowedFlowModules)),errors.collect(cdk().propertyValidator("applications",cdk().listValidator(CfnSecurityProfileApplicationPropertyValidator))(properties.applications)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("granularAccessControlConfiguration",CfnSecurityProfileGranularAccessControlConfigurationPropertyValidator)(properties.granularAccessControlConfiguration)),errors.collect(cdk().propertyValidator("hierarchyRestrictedResources",cdk().listValidator(cdk().validateString))(properties.hierarchyRestrictedResources)),errors.collect(cdk().propertyValidator("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("permissions",cdk().listValidator(cdk().validateString))(properties.permissions)),errors.collect(cdk().propertyValidator("securityProfileName",cdk().requiredValidator)(properties.securityProfileName)),errors.collect(cdk().propertyValidator("securityProfileName",cdk().validateString)(properties.securityProfileName)),errors.collect(cdk().propertyValidator("tagRestrictedResources",cdk().listValidator(cdk().validateString))(properties.tagRestrictedResources)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnSecurityProfileProps"')}function convertCfnSecurityProfilePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSecurityProfilePropsValidator(properties).assertSuccess(),{AllowedAccessControlHierarchyGroupId:cdk().stringToCloudFormation(properties.allowedAccessControlHierarchyGroupId),AllowedAccessControlTags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.allowedAccessControlTags),AllowedFlowModules:cdk().listMapper(convertCfnSecurityProfileFlowModulePropertyToCloudFormation)(properties.allowedFlowModules),Applications:cdk().listMapper(convertCfnSecurityProfileApplicationPropertyToCloudFormation)(properties.applications),Description:cdk().stringToCloudFormation(properties.description),GranularAccessControlConfiguration:convertCfnSecurityProfileGranularAccessControlConfigurationPropertyToCloudFormation(properties.granularAccessControlConfiguration),HierarchyRestrictedResources:cdk().listMapper(cdk().stringToCloudFormation)(properties.hierarchyRestrictedResources),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Permissions:cdk().listMapper(cdk().stringToCloudFormation)(properties.permissions),SecurityProfileName:cdk().stringToCloudFormation(properties.securityProfileName),TagRestrictedResources:cdk().listMapper(cdk().stringToCloudFormation)(properties.tagRestrictedResources),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnSecurityProfilePropsFromCloudFormation(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("allowedAccessControlHierarchyGroupId","AllowedAccessControlHierarchyGroupId",properties.AllowedAccessControlHierarchyGroupId!=null?cfn_parse().FromCloudFormation.getString(properties.AllowedAccessControlHierarchyGroupId):void 0),ret.addPropertyResult("allowedAccessControlTags","AllowedAccessControlTags",properties.AllowedAccessControlTags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.AllowedAccessControlTags):void 0),ret.addPropertyResult("allowedFlowModules","AllowedFlowModules",properties.AllowedFlowModules!=null?cfn_parse().FromCloudFormation.getArray(CfnSecurityProfileFlowModulePropertyFromCloudFormation)(properties.AllowedFlowModules):void 0),ret.addPropertyResult("applications","Applications",properties.Applications!=null?cfn_parse().FromCloudFormation.getArray(CfnSecurityProfileApplicationPropertyFromCloudFormation)(properties.Applications):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("granularAccessControlConfiguration","GranularAccessControlConfiguration",properties.GranularAccessControlConfiguration!=null?CfnSecurityProfileGranularAccessControlConfigurationPropertyFromCloudFormation(properties.GranularAccessControlConfiguration):void 0),ret.addPropertyResult("hierarchyRestrictedResources","HierarchyRestrictedResources",properties.HierarchyRestrictedResources!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.HierarchyRestrictedResources):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("permissions","Permissions",properties.Permissions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Permissions):void 0),ret.addPropertyResult("securityProfileName","SecurityProfileName",properties.SecurityProfileName!=null?cfn_parse().FromCloudFormation.getString(properties.SecurityProfileName):void 0),ret.addPropertyResult("tagRestrictedResources","TagRestrictedResources",properties.TagRestrictedResources!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.TagRestrictedResources):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTaskTemplate extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnTaskTemplate",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::TaskTemplate";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTaskTemplatePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTaskTemplate(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 isCfnTaskTemplate(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTaskTemplate.CFN_RESOURCE_TYPE_NAME}static arnForTaskTemplate(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_ITaskTemplateRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForTaskTemplate),error}return resource.taskTemplateRef.taskTemplateArn}_clientToken;_constraints;_contactFlowArn;_defaults;_description;_fields;_instanceArn;_name;_selfAssignContactFlowArn;_status;tags;_tagsRaw;cfnPropertyNames={clientToken:"ClientToken",constraints:"Constraints",contactFlowArn:"ContactFlowArn",defaults:"Defaults",description:"Description",fields:"Fields",instanceArn:"InstanceArn",name:"Name",selfAssignContactFlowArn:"SelfAssignContactFlowArn",status:"Status",tags:"Tags"};constructor(scope,id,props){super(scope,id,{type:CfnTaskTemplate.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnTaskTemplateProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTaskTemplate),error}cdk().requireProperty(props,"instanceArn",this),this._clientToken=props.clientToken,this._constraints=props.constraints,this._contactFlowArn=props.contactFlowArn,this._defaults=props.defaults,this._description=props.description,this._fields=props.fields,this._instanceArn=props.instanceArn,this._name=props.name,this._selfAssignContactFlowArn=props.selfAssignContactFlowArn,this._status=props.status,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::TaskTemplate",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get taskTemplateRef(){return{taskTemplateArn:this.ref}}get clientToken(){return this._clientToken}set clientToken(value){cdk().traceProperty(this.node,"ClientToken"),this._clientToken=value}get constraints(){return this._constraints}set constraints(value){cdk().traceProperty(this.node,"Constraints"),this._constraints=value}get contactFlowArn(){return this._contactFlowArn}set contactFlowArn(value){cdk().traceProperty(this.node,"ContactFlowArn"),this._contactFlowArn=value}get defaults(){return this._defaults}set defaults(value){cdk().traceProperty(this.node,"Defaults"),this._defaults=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get fields(){return this._fields}set fields(value){cdk().traceProperty(this.node,"Fields"),this._fields=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get selfAssignContactFlowArn(){return this._selfAssignContactFlowArn}set selfAssignContactFlowArn(value){cdk().traceProperty(this.node,"SelfAssignContactFlowArn"),this._selfAssignContactFlowArn=value}get status(){return this._status}set status(value){cdk().traceProperty(this.node,"Status"),this._status=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{clientToken:this._clientToken,constraints:this._constraints,contactFlowArn:this._contactFlowArn,defaults:this._defaults,description:this._description,fields:this._fields,instanceArn:this._instanceArn,name:this._name,selfAssignContactFlowArn:this._selfAssignContactFlowArn,status:this._status,tags:this.tags.renderTags()}}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",CfnTaskTemplate.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTaskTemplatePropsToCloudFormation(props)}}exports.CfnTaskTemplate=CfnTaskTemplate;function CfnTaskTemplateFieldIdentifierPropertyValidator(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("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "FieldIdentifierProperty"')}function convertCfnTaskTemplateFieldIdentifierPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskTemplateFieldIdentifierPropertyValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnTaskTemplateFieldIdentifierPropertyFromCloudFormation(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("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskTemplateReadOnlyFieldInfoPropertyValidator(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("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",CfnTaskTemplateFieldIdentifierPropertyValidator)(properties.id)),errors.wrap('supplied properties not correct for "ReadOnlyFieldInfoProperty"')}function convertCfnTaskTemplateReadOnlyFieldInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskTemplateReadOnlyFieldInfoPropertyValidator(properties).assertSuccess(),{Id:convertCfnTaskTemplateFieldIdentifierPropertyToCloudFormation(properties.id)}):properties}function CfnTaskTemplateReadOnlyFieldInfoPropertyFromCloudFormation(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("id","Id",properties.Id!=null?CfnTaskTemplateFieldIdentifierPropertyFromCloudFormation(properties.Id):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskTemplateInvisibleFieldInfoPropertyValidator(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("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",CfnTaskTemplateFieldIdentifierPropertyValidator)(properties.id)),errors.wrap('supplied properties not correct for "InvisibleFieldInfoProperty"')}function convertCfnTaskTemplateInvisibleFieldInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskTemplateInvisibleFieldInfoPropertyValidator(properties).assertSuccess(),{Id:convertCfnTaskTemplateFieldIdentifierPropertyToCloudFormation(properties.id)}):properties}function CfnTaskTemplateInvisibleFieldInfoPropertyFromCloudFormation(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("id","Id",properties.Id!=null?CfnTaskTemplateFieldIdentifierPropertyFromCloudFormation(properties.Id):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskTemplateRequiredFieldInfoPropertyValidator(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("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",CfnTaskTemplateFieldIdentifierPropertyValidator)(properties.id)),errors.wrap('supplied properties not correct for "RequiredFieldInfoProperty"')}function convertCfnTaskTemplateRequiredFieldInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskTemplateRequiredFieldInfoPropertyValidator(properties).assertSuccess(),{Id:convertCfnTaskTemplateFieldIdentifierPropertyToCloudFormation(properties.id)}):properties}function CfnTaskTemplateRequiredFieldInfoPropertyFromCloudFormation(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("id","Id",properties.Id!=null?CfnTaskTemplateFieldIdentifierPropertyFromCloudFormation(properties.Id):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskTemplateConstraintsPropertyValidator(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("invisibleFields",cdk().listValidator(CfnTaskTemplateInvisibleFieldInfoPropertyValidator))(properties.invisibleFields)),errors.collect(cdk().propertyValidator("readOnlyFields",cdk().listValidator(CfnTaskTemplateReadOnlyFieldInfoPropertyValidator))(properties.readOnlyFields)),errors.collect(cdk().propertyValidator("requiredFields",cdk().listValidator(CfnTaskTemplateRequiredFieldInfoPropertyValidator))(properties.requiredFields)),errors.wrap('supplied properties not correct for "ConstraintsProperty"')}function convertCfnTaskTemplateConstraintsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskTemplateConstraintsPropertyValidator(properties).assertSuccess(),{InvisibleFields:cdk().listMapper(convertCfnTaskTemplateInvisibleFieldInfoPropertyToCloudFormation)(properties.invisibleFields),ReadOnlyFields:cdk().listMapper(convertCfnTaskTemplateReadOnlyFieldInfoPropertyToCloudFormation)(properties.readOnlyFields),RequiredFields:cdk().listMapper(convertCfnTaskTemplateRequiredFieldInfoPropertyToCloudFormation)(properties.requiredFields)}):properties}function CfnTaskTemplateConstraintsPropertyFromCloudFormation(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("invisibleFields","InvisibleFields",properties.InvisibleFields!=null?cfn_parse().FromCloudFormation.getArray(CfnTaskTemplateInvisibleFieldInfoPropertyFromCloudFormation)(properties.InvisibleFields):void 0),ret.addPropertyResult("readOnlyFields","ReadOnlyFields",properties.ReadOnlyFields!=null?cfn_parse().FromCloudFormation.getArray(CfnTaskTemplateReadOnlyFieldInfoPropertyFromCloudFormation)(properties.ReadOnlyFields):void 0),ret.addPropertyResult("requiredFields","RequiredFields",properties.RequiredFields!=null?cfn_parse().FromCloudFormation.getArray(CfnTaskTemplateRequiredFieldInfoPropertyFromCloudFormation)(properties.RequiredFields):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskTemplateDefaultFieldValuePropertyValidator(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("defaultValue",cdk().requiredValidator)(properties.defaultValue)),errors.collect(cdk().propertyValidator("defaultValue",cdk().validateString)(properties.defaultValue)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",CfnTaskTemplateFieldIdentifierPropertyValidator)(properties.id)),errors.wrap('supplied properties not correct for "DefaultFieldValueProperty"')}function convertCfnTaskTemplateDefaultFieldValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskTemplateDefaultFieldValuePropertyValidator(properties).assertSuccess(),{DefaultValue:cdk().stringToCloudFormation(properties.defaultValue),Id:convertCfnTaskTemplateFieldIdentifierPropertyToCloudFormation(properties.id)}):properties}function CfnTaskTemplateDefaultFieldValuePropertyFromCloudFormation(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("defaultValue","DefaultValue",properties.DefaultValue!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultValue):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?CfnTaskTemplateFieldIdentifierPropertyFromCloudFormation(properties.Id):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskTemplateFieldPropertyValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("id",cdk().requiredValidator)(properties.id)),errors.collect(cdk().propertyValidator("id",CfnTaskTemplateFieldIdentifierPropertyValidator)(properties.id)),errors.collect(cdk().propertyValidator("singleSelectOptions",cdk().listValidator(cdk().validateString))(properties.singleSelectOptions)),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 "FieldProperty"')}function convertCfnTaskTemplateFieldPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskTemplateFieldPropertyValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),Id:convertCfnTaskTemplateFieldIdentifierPropertyToCloudFormation(properties.id),SingleSelectOptions:cdk().listMapper(cdk().stringToCloudFormation)(properties.singleSelectOptions),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnTaskTemplateFieldPropertyFromCloudFormation(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("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("id","Id",properties.Id!=null?CfnTaskTemplateFieldIdentifierPropertyFromCloudFormation(properties.Id):void 0),ret.addPropertyResult("singleSelectOptions","SingleSelectOptions",properties.SingleSelectOptions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SingleSelectOptions):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTaskTemplatePropsValidator(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("clientToken",cdk().validateString)(properties.clientToken)),errors.collect(cdk().propertyValidator("constraints",cdk().validateObject)(properties.constraints)),errors.collect(cdk().propertyValidator("contactFlowArn",cdk().validateString)(properties.contactFlowArn)),errors.collect(cdk().propertyValidator("defaults",cdk().listValidator(CfnTaskTemplateDefaultFieldValuePropertyValidator))(properties.defaults)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("fields",cdk().listValidator(CfnTaskTemplateFieldPropertyValidator))(properties.fields)),errors.collect(cdk().propertyValidator("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("selfAssignContactFlowArn",cdk().validateString)(properties.selfAssignContactFlowArn)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnTaskTemplateProps"')}function convertCfnTaskTemplatePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTaskTemplatePropsValidator(properties).assertSuccess(),{ClientToken:cdk().stringToCloudFormation(properties.clientToken),Constraints:cdk().objectToCloudFormation(properties.constraints),ContactFlowArn:cdk().stringToCloudFormation(properties.contactFlowArn),Defaults:cdk().listMapper(convertCfnTaskTemplateDefaultFieldValuePropertyToCloudFormation)(properties.defaults),Description:cdk().stringToCloudFormation(properties.description),Fields:cdk().listMapper(convertCfnTaskTemplateFieldPropertyToCloudFormation)(properties.fields),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Name:cdk().stringToCloudFormation(properties.name),SelfAssignContactFlowArn:cdk().stringToCloudFormation(properties.selfAssignContactFlowArn),Status:cdk().stringToCloudFormation(properties.status),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnTaskTemplatePropsFromCloudFormation(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("clientToken","ClientToken",properties.ClientToken!=null?cfn_parse().FromCloudFormation.getString(properties.ClientToken):void 0),ret.addPropertyResult("constraints","Constraints",properties.Constraints!=null?cfn_parse().FromCloudFormation.getAny(properties.Constraints):void 0),ret.addPropertyResult("contactFlowArn","ContactFlowArn",properties.ContactFlowArn!=null?cfn_parse().FromCloudFormation.getString(properties.ContactFlowArn):void 0),ret.addPropertyResult("defaults","Defaults",properties.Defaults!=null?cfn_parse().FromCloudFormation.getArray(CfnTaskTemplateDefaultFieldValuePropertyFromCloudFormation)(properties.Defaults):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("fields","Fields",properties.Fields!=null?cfn_parse().FromCloudFormation.getArray(CfnTaskTemplateFieldPropertyFromCloudFormation)(properties.Fields):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("selfAssignContactFlowArn","SelfAssignContactFlowArn",properties.SelfAssignContactFlowArn!=null?cfn_parse().FromCloudFormation.getString(properties.SelfAssignContactFlowArn):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTrafficDistributionGroup extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnTrafficDistributionGroup",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::TrafficDistributionGroup";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTrafficDistributionGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnTrafficDistributionGroup(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 isCfnTrafficDistributionGroup(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTrafficDistributionGroup.CFN_RESOURCE_TYPE_NAME}static arnForTrafficDistributionGroup(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_ITrafficDistributionGroupRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForTrafficDistributionGroup),error}return resource.trafficDistributionGroupRef.trafficDistributionGroupArn}cdkTagManager;_description;_instanceArn;_name;_tags;cfnPropertyNames={tags:"Tags",description:"Description",instanceArn:"InstanceArn",name:"Name"};constructor(scope,id,props){super(scope,id,{type:CfnTrafficDistributionGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnTrafficDistributionGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTrafficDistributionGroup),error}cdk().requireProperty(props,"instanceArn",this),cdk().requireProperty(props,"name",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::TrafficDistributionGroup",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._instanceArn=props.instanceArn,this._name=props.name,this._tags=props.tags}get trafficDistributionGroupRef(){return{trafficDistributionGroupArn:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrIsDefault(){return this.getAtt("IsDefault")}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrTrafficDistributionGroupArn(){return cdk().Token.asString(this.getAtt("TrafficDistributionGroupArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,instanceArn:this._instanceArn,name:this._name}}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",CfnTrafficDistributionGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTrafficDistributionGroupPropsToCloudFormation(props)}}exports.CfnTrafficDistributionGroup=CfnTrafficDistributionGroup;function CfnTrafficDistributionGroupPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnTrafficDistributionGroupProps"')}function convertCfnTrafficDistributionGroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTrafficDistributionGroupPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnTrafficDistributionGroupPropsFromCloudFormation(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("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnUser extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnUser",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::User";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnUserPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnUser(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 isCfnUser(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnUser.CFN_RESOURCE_TYPE_NAME}static arnForUser(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IUserRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForUser),error}return resource.userRef.userArn}_afterContactWorkConfigs;_autoAcceptConfigs;_directoryUserId;_hierarchyGroupArn;_identityInfo;_instanceArn;_password;_persistentConnectionConfigs;_phoneConfig;_phoneNumberConfigs;_routingProfileArn;_securityProfileArns;tags;_tagsRaw;_username;_userProficiencies;_voiceEnhancementConfigs;cfnPropertyNames={afterContactWorkConfigs:"AfterContactWorkConfigs",autoAcceptConfigs:"AutoAcceptConfigs",directoryUserId:"DirectoryUserId",hierarchyGroupArn:"HierarchyGroupArn",identityInfo:"IdentityInfo",instanceArn:"InstanceArn",password:"Password",persistentConnectionConfigs:"PersistentConnectionConfigs",phoneConfig:"PhoneConfig",phoneNumberConfigs:"PhoneNumberConfigs",routingProfileArn:"RoutingProfileArn",securityProfileArns:"SecurityProfileArns",tags:"Tags",username:"Username",userProficiencies:"UserProficiencies",voiceEnhancementConfigs:"VoiceEnhancementConfigs"};constructor(scope,id,props){super(scope,id,{type:CfnUser.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnUserProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnUser),error}cdk().requireProperty(props,"instanceArn",this),cdk().requireProperty(props,"routingProfileArn",this),cdk().requireProperty(props,"securityProfileArns",this),cdk().requireProperty(props,"username",this),this._afterContactWorkConfigs=props.afterContactWorkConfigs,this._autoAcceptConfigs=props.autoAcceptConfigs,this._directoryUserId=props.directoryUserId,this._hierarchyGroupArn=props.hierarchyGroupArn,this._identityInfo=props.identityInfo,this._instanceArn=props.instanceArn,this._password=props.password,this._persistentConnectionConfigs=props.persistentConnectionConfigs,this._phoneConfig=props.phoneConfig,this._phoneNumberConfigs=props.phoneNumberConfigs,this._routingProfileArn=props.routingProfileArn,this._securityProfileArns=props.securityProfileArns,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::User",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._username=props.username,this._userProficiencies=props.userProficiencies,this._voiceEnhancementConfigs=props.voiceEnhancementConfigs}get userRef(){return{userArn:this.ref}}get afterContactWorkConfigs(){return this._afterContactWorkConfigs}set afterContactWorkConfigs(value){cdk().traceProperty(this.node,"AfterContactWorkConfigs"),this._afterContactWorkConfigs=value}get autoAcceptConfigs(){return this._autoAcceptConfigs}set autoAcceptConfigs(value){cdk().traceProperty(this.node,"AutoAcceptConfigs"),this._autoAcceptConfigs=value}get directoryUserId(){return this._directoryUserId}set directoryUserId(value){cdk().traceProperty(this.node,"DirectoryUserId"),this._directoryUserId=value}get hierarchyGroupArn(){return this._hierarchyGroupArn}set hierarchyGroupArn(value){cdk().traceProperty(this.node,"HierarchyGroupArn"),this._hierarchyGroupArn=value}get identityInfo(){return this._identityInfo}set identityInfo(value){cdk().traceProperty(this.node,"IdentityInfo"),this._identityInfo=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get password(){return this._password}set password(value){cdk().traceProperty(this.node,"Password"),this._password=value}get persistentConnectionConfigs(){return this._persistentConnectionConfigs}set persistentConnectionConfigs(value){cdk().traceProperty(this.node,"PersistentConnectionConfigs"),this._persistentConnectionConfigs=value}get phoneConfig(){return this._phoneConfig}set phoneConfig(value){cdk().traceProperty(this.node,"PhoneConfig"),this._phoneConfig=value}get phoneNumberConfigs(){return this._phoneNumberConfigs}set phoneNumberConfigs(value){cdk().traceProperty(this.node,"PhoneNumberConfigs"),this._phoneNumberConfigs=value}get routingProfileArn(){return this._routingProfileArn}set routingProfileArn(value){cdk().traceProperty(this.node,"RoutingProfileArn"),this._routingProfileArn=value}get securityProfileArns(){return this._securityProfileArns}set securityProfileArns(value){cdk().traceProperty(this.node,"SecurityProfileArns"),this._securityProfileArns=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get username(){return this._username}set username(value){cdk().traceProperty(this.node,"Username"),this._username=value}get userProficiencies(){return this._userProficiencies}set userProficiencies(value){cdk().traceProperty(this.node,"UserProficiencies"),this._userProficiencies=value}get voiceEnhancementConfigs(){return this._voiceEnhancementConfigs}set voiceEnhancementConfigs(value){cdk().traceProperty(this.node,"VoiceEnhancementConfigs"),this._voiceEnhancementConfigs=value}get attrUserArn(){return cdk().Token.asString(this.getAtt("UserArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{afterContactWorkConfigs:this._afterContactWorkConfigs,autoAcceptConfigs:this._autoAcceptConfigs,directoryUserId:this._directoryUserId,hierarchyGroupArn:this._hierarchyGroupArn,identityInfo:this._identityInfo,instanceArn:this._instanceArn,password:this._password,persistentConnectionConfigs:this._persistentConnectionConfigs,phoneConfig:this._phoneConfig,phoneNumberConfigs:this._phoneNumberConfigs,routingProfileArn:this._routingProfileArn,securityProfileArns:this._securityProfileArns,tags:this.tags.renderTags(),username:this._username,userProficiencies:this._userProficiencies,voiceEnhancementConfigs:this._voiceEnhancementConfigs}}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",CfnUser.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnUserPropsToCloudFormation(props)}}exports.CfnUser=CfnUser;function CfnUserUserPhoneConfigPropertyValidator(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("afterContactWorkTimeLimit",cdk().validateNumber)(properties.afterContactWorkTimeLimit)),errors.collect(cdk().propertyValidator("autoAccept",cdk().validateBoolean)(properties.autoAccept)),errors.collect(cdk().propertyValidator("deskPhoneNumber",cdk().validateString)(properties.deskPhoneNumber)),errors.collect(cdk().propertyValidator("persistentConnection",cdk().validateBoolean)(properties.persistentConnection)),errors.collect(cdk().propertyValidator("phoneType",cdk().validateString)(properties.phoneType)),errors.wrap('supplied properties not correct for "UserPhoneConfigProperty"')}function convertCfnUserUserPhoneConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserUserPhoneConfigPropertyValidator(properties).assertSuccess(),{AfterContactWorkTimeLimit:cdk().numberToCloudFormation(properties.afterContactWorkTimeLimit),AutoAccept:cdk().booleanToCloudFormation(properties.autoAccept),DeskPhoneNumber:cdk().stringToCloudFormation(properties.deskPhoneNumber),PersistentConnection:cdk().booleanToCloudFormation(properties.persistentConnection),PhoneType:cdk().stringToCloudFormation(properties.phoneType)}):properties}function CfnUserUserPhoneConfigPropertyFromCloudFormation(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("afterContactWorkTimeLimit","AfterContactWorkTimeLimit",properties.AfterContactWorkTimeLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.AfterContactWorkTimeLimit):void 0),ret.addPropertyResult("autoAccept","AutoAccept",properties.AutoAccept!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AutoAccept):void 0),ret.addPropertyResult("deskPhoneNumber","DeskPhoneNumber",properties.DeskPhoneNumber!=null?cfn_parse().FromCloudFormation.getString(properties.DeskPhoneNumber):void 0),ret.addPropertyResult("persistentConnection","PersistentConnection",properties.PersistentConnection!=null?cfn_parse().FromCloudFormation.getBoolean(properties.PersistentConnection):void 0),ret.addPropertyResult("phoneType","PhoneType",properties.PhoneType!=null?cfn_parse().FromCloudFormation.getString(properties.PhoneType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnUserUserIdentityInfoPropertyValidator(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("email",cdk().validateString)(properties.email)),errors.collect(cdk().propertyValidator("firstName",cdk().validateString)(properties.firstName)),errors.collect(cdk().propertyValidator("lastName",cdk().validateString)(properties.lastName)),errors.collect(cdk().propertyValidator("mobile",cdk().validateString)(properties.mobile)),errors.collect(cdk().propertyValidator("secondaryEmail",cdk().validateString)(properties.secondaryEmail)),errors.wrap('supplied properties not correct for "UserIdentityInfoProperty"')}function convertCfnUserUserIdentityInfoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserUserIdentityInfoPropertyValidator(properties).assertSuccess(),{Email:cdk().stringToCloudFormation(properties.email),FirstName:cdk().stringToCloudFormation(properties.firstName),LastName:cdk().stringToCloudFormation(properties.lastName),Mobile:cdk().stringToCloudFormation(properties.mobile),SecondaryEmail:cdk().stringToCloudFormation(properties.secondaryEmail)}):properties}function CfnUserUserIdentityInfoPropertyFromCloudFormation(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("email","Email",properties.Email!=null?cfn_parse().FromCloudFormation.getString(properties.Email):void 0),ret.addPropertyResult("firstName","FirstName",properties.FirstName!=null?cfn_parse().FromCloudFormation.getString(properties.FirstName):void 0),ret.addPropertyResult("lastName","LastName",properties.LastName!=null?cfn_parse().FromCloudFormation.getString(properties.LastName):void 0),ret.addPropertyResult("mobile","Mobile",properties.Mobile!=null?cfn_parse().FromCloudFormation.getString(properties.Mobile):void 0),ret.addPropertyResult("secondaryEmail","SecondaryEmail",properties.SecondaryEmail!=null?cfn_parse().FromCloudFormation.getString(properties.SecondaryEmail):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnUserUserProficiencyPropertyValidator(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("attributeName",cdk().requiredValidator)(properties.attributeName)),errors.collect(cdk().propertyValidator("attributeName",cdk().validateString)(properties.attributeName)),errors.collect(cdk().propertyValidator("attributeValue",cdk().requiredValidator)(properties.attributeValue)),errors.collect(cdk().propertyValidator("attributeValue",cdk().validateString)(properties.attributeValue)),errors.collect(cdk().propertyValidator("level",cdk().requiredValidator)(properties.level)),errors.collect(cdk().propertyValidator("level",cdk().validateNumber)(properties.level)),errors.wrap('supplied properties not correct for "UserProficiencyProperty"')}function convertCfnUserUserProficiencyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserUserProficiencyPropertyValidator(properties).assertSuccess(),{AttributeName:cdk().stringToCloudFormation(properties.attributeName),AttributeValue:cdk().stringToCloudFormation(properties.attributeValue),Level:cdk().numberToCloudFormation(properties.level)}):properties}function CfnUserUserProficiencyPropertyFromCloudFormation(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("attributeName","AttributeName",properties.AttributeName!=null?cfn_parse().FromCloudFormation.getString(properties.AttributeName):void 0),ret.addPropertyResult("attributeValue","AttributeValue",properties.AttributeValue!=null?cfn_parse().FromCloudFormation.getString(properties.AttributeValue):void 0),ret.addPropertyResult("level","Level",properties.Level!=null?cfn_parse().FromCloudFormation.getNumber(properties.Level):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnUserAutoAcceptConfigPropertyValidator(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("agentFirstCallbackAutoAccept",cdk().validateBoolean)(properties.agentFirstCallbackAutoAccept)),errors.collect(cdk().propertyValidator("autoAccept",cdk().requiredValidator)(properties.autoAccept)),errors.collect(cdk().propertyValidator("autoAccept",cdk().validateBoolean)(properties.autoAccept)),errors.collect(cdk().propertyValidator("channel",cdk().requiredValidator)(properties.channel)),errors.collect(cdk().propertyValidator("channel",cdk().validateString)(properties.channel)),errors.wrap('supplied properties not correct for "AutoAcceptConfigProperty"')}function convertCfnUserAutoAcceptConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserAutoAcceptConfigPropertyValidator(properties).assertSuccess(),{AgentFirstCallbackAutoAccept:cdk().booleanToCloudFormation(properties.agentFirstCallbackAutoAccept),AutoAccept:cdk().booleanToCloudFormation(properties.autoAccept),Channel:cdk().stringToCloudFormation(properties.channel)}):properties}function CfnUserAutoAcceptConfigPropertyFromCloudFormation(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("agentFirstCallbackAutoAccept","AgentFirstCallbackAutoAccept",properties.AgentFirstCallbackAutoAccept!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AgentFirstCallbackAutoAccept):void 0),ret.addPropertyResult("autoAccept","AutoAccept",properties.AutoAccept!=null?cfn_parse().FromCloudFormation.getBoolean(properties.AutoAccept):void 0),ret.addPropertyResult("channel","Channel",properties.Channel!=null?cfn_parse().FromCloudFormation.getString(properties.Channel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnUserAfterContactWorkConfigPropertyValidator(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("afterContactWorkTimeLimit",cdk().validateNumber)(properties.afterContactWorkTimeLimit)),errors.wrap('supplied properties not correct for "AfterContactWorkConfigProperty"')}function convertCfnUserAfterContactWorkConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserAfterContactWorkConfigPropertyValidator(properties).assertSuccess(),{AfterContactWorkTimeLimit:cdk().numberToCloudFormation(properties.afterContactWorkTimeLimit)}):properties}function CfnUserAfterContactWorkConfigPropertyFromCloudFormation(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("afterContactWorkTimeLimit","AfterContactWorkTimeLimit",properties.AfterContactWorkTimeLimit!=null?cfn_parse().FromCloudFormation.getNumber(properties.AfterContactWorkTimeLimit):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnUserAfterContactWorkConfigPerChannelPropertyValidator(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("afterContactWorkConfig",cdk().requiredValidator)(properties.afterContactWorkConfig)),errors.collect(cdk().propertyValidator("afterContactWorkConfig",CfnUserAfterContactWorkConfigPropertyValidator)(properties.afterContactWorkConfig)),errors.collect(cdk().propertyValidator("agentFirstCallbackAfterContactWorkConfig",CfnUserAfterContactWorkConfigPropertyValidator)(properties.agentFirstCallbackAfterContactWorkConfig)),errors.collect(cdk().propertyValidator("channel",cdk().requiredValidator)(properties.channel)),errors.collect(cdk().propertyValidator("channel",cdk().validateString)(properties.channel)),errors.wrap('supplied properties not correct for "AfterContactWorkConfigPerChannelProperty"')}function convertCfnUserAfterContactWorkConfigPerChannelPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserAfterContactWorkConfigPerChannelPropertyValidator(properties).assertSuccess(),{AfterContactWorkConfig:convertCfnUserAfterContactWorkConfigPropertyToCloudFormation(properties.afterContactWorkConfig),AgentFirstCallbackAfterContactWorkConfig:convertCfnUserAfterContactWorkConfigPropertyToCloudFormation(properties.agentFirstCallbackAfterContactWorkConfig),Channel:cdk().stringToCloudFormation(properties.channel)}):properties}function CfnUserAfterContactWorkConfigPerChannelPropertyFromCloudFormation(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("afterContactWorkConfig","AfterContactWorkConfig",properties.AfterContactWorkConfig!=null?CfnUserAfterContactWorkConfigPropertyFromCloudFormation(properties.AfterContactWorkConfig):void 0),ret.addPropertyResult("agentFirstCallbackAfterContactWorkConfig","AgentFirstCallbackAfterContactWorkConfig",properties.AgentFirstCallbackAfterContactWorkConfig!=null?CfnUserAfterContactWorkConfigPropertyFromCloudFormation(properties.AgentFirstCallbackAfterContactWorkConfig):void 0),ret.addPropertyResult("channel","Channel",properties.Channel!=null?cfn_parse().FromCloudFormation.getString(properties.Channel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnUserPhoneNumberConfigPropertyValidator(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("channel",cdk().requiredValidator)(properties.channel)),errors.collect(cdk().propertyValidator("channel",cdk().validateString)(properties.channel)),errors.collect(cdk().propertyValidator("phoneNumber",cdk().validateString)(properties.phoneNumber)),errors.collect(cdk().propertyValidator("phoneType",cdk().requiredValidator)(properties.phoneType)),errors.collect(cdk().propertyValidator("phoneType",cdk().validateString)(properties.phoneType)),errors.wrap('supplied properties not correct for "PhoneNumberConfigProperty"')}function convertCfnUserPhoneNumberConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserPhoneNumberConfigPropertyValidator(properties).assertSuccess(),{Channel:cdk().stringToCloudFormation(properties.channel),PhoneNumber:cdk().stringToCloudFormation(properties.phoneNumber),PhoneType:cdk().stringToCloudFormation(properties.phoneType)}):properties}function CfnUserPhoneNumberConfigPropertyFromCloudFormation(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("channel","Channel",properties.Channel!=null?cfn_parse().FromCloudFormation.getString(properties.Channel):void 0),ret.addPropertyResult("phoneNumber","PhoneNumber",properties.PhoneNumber!=null?cfn_parse().FromCloudFormation.getString(properties.PhoneNumber):void 0),ret.addPropertyResult("phoneType","PhoneType",properties.PhoneType!=null?cfn_parse().FromCloudFormation.getString(properties.PhoneType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnUserPersistentConnectionConfigPropertyValidator(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("channel",cdk().requiredValidator)(properties.channel)),errors.collect(cdk().propertyValidator("channel",cdk().validateString)(properties.channel)),errors.collect(cdk().propertyValidator("persistentConnection",cdk().requiredValidator)(properties.persistentConnection)),errors.collect(cdk().propertyValidator("persistentConnection",cdk().validateBoolean)(properties.persistentConnection)),errors.wrap('supplied properties not correct for "PersistentConnectionConfigProperty"')}function convertCfnUserPersistentConnectionConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserPersistentConnectionConfigPropertyValidator(properties).assertSuccess(),{Channel:cdk().stringToCloudFormation(properties.channel),PersistentConnection:cdk().booleanToCloudFormation(properties.persistentConnection)}):properties}function CfnUserPersistentConnectionConfigPropertyFromCloudFormation(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("channel","Channel",properties.Channel!=null?cfn_parse().FromCloudFormation.getString(properties.Channel):void 0),ret.addPropertyResult("persistentConnection","PersistentConnection",properties.PersistentConnection!=null?cfn_parse().FromCloudFormation.getBoolean(properties.PersistentConnection):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnUserVoiceEnhancementConfigPropertyValidator(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("channel",cdk().requiredValidator)(properties.channel)),errors.collect(cdk().propertyValidator("channel",cdk().validateString)(properties.channel)),errors.collect(cdk().propertyValidator("voiceEnhancementMode",cdk().requiredValidator)(properties.voiceEnhancementMode)),errors.collect(cdk().propertyValidator("voiceEnhancementMode",cdk().validateString)(properties.voiceEnhancementMode)),errors.wrap('supplied properties not correct for "VoiceEnhancementConfigProperty"')}function convertCfnUserVoiceEnhancementConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserVoiceEnhancementConfigPropertyValidator(properties).assertSuccess(),{Channel:cdk().stringToCloudFormation(properties.channel),VoiceEnhancementMode:cdk().stringToCloudFormation(properties.voiceEnhancementMode)}):properties}function CfnUserVoiceEnhancementConfigPropertyFromCloudFormation(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("channel","Channel",properties.Channel!=null?cfn_parse().FromCloudFormation.getString(properties.Channel):void 0),ret.addPropertyResult("voiceEnhancementMode","VoiceEnhancementMode",properties.VoiceEnhancementMode!=null?cfn_parse().FromCloudFormation.getString(properties.VoiceEnhancementMode):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnUserPropsValidator(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("afterContactWorkConfigs",cdk().listValidator(CfnUserAfterContactWorkConfigPerChannelPropertyValidator))(properties.afterContactWorkConfigs)),errors.collect(cdk().propertyValidator("autoAcceptConfigs",cdk().listValidator(CfnUserAutoAcceptConfigPropertyValidator))(properties.autoAcceptConfigs)),errors.collect(cdk().propertyValidator("directoryUserId",cdk().validateString)(properties.directoryUserId)),errors.collect(cdk().propertyValidator("hierarchyGroupArn",cdk().validateString)(properties.hierarchyGroupArn)),errors.collect(cdk().propertyValidator("identityInfo",CfnUserUserIdentityInfoPropertyValidator)(properties.identityInfo)),errors.collect(cdk().propertyValidator("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("password",cdk().validateString)(properties.password)),errors.collect(cdk().propertyValidator("persistentConnectionConfigs",cdk().listValidator(CfnUserPersistentConnectionConfigPropertyValidator))(properties.persistentConnectionConfigs)),errors.collect(cdk().propertyValidator("phoneConfig",CfnUserUserPhoneConfigPropertyValidator)(properties.phoneConfig)),errors.collect(cdk().propertyValidator("phoneNumberConfigs",cdk().listValidator(CfnUserPhoneNumberConfigPropertyValidator))(properties.phoneNumberConfigs)),errors.collect(cdk().propertyValidator("routingProfileArn",cdk().requiredValidator)(properties.routingProfileArn)),errors.collect(cdk().propertyValidator("routingProfileArn",cdk().validateString)(properties.routingProfileArn)),errors.collect(cdk().propertyValidator("securityProfileArns",cdk().requiredValidator)(properties.securityProfileArns)),errors.collect(cdk().propertyValidator("securityProfileArns",cdk().listValidator(cdk().validateString))(properties.securityProfileArns)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("userProficiencies",cdk().listValidator(CfnUserUserProficiencyPropertyValidator))(properties.userProficiencies)),errors.collect(cdk().propertyValidator("username",cdk().requiredValidator)(properties.username)),errors.collect(cdk().propertyValidator("username",cdk().validateString)(properties.username)),errors.collect(cdk().propertyValidator("voiceEnhancementConfigs",cdk().listValidator(CfnUserVoiceEnhancementConfigPropertyValidator))(properties.voiceEnhancementConfigs)),errors.wrap('supplied properties not correct for "CfnUserProps"')}function convertCfnUserPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserPropsValidator(properties).assertSuccess(),{AfterContactWorkConfigs:cdk().listMapper(convertCfnUserAfterContactWorkConfigPerChannelPropertyToCloudFormation)(properties.afterContactWorkConfigs),AutoAcceptConfigs:cdk().listMapper(convertCfnUserAutoAcceptConfigPropertyToCloudFormation)(properties.autoAcceptConfigs),DirectoryUserId:cdk().stringToCloudFormation(properties.directoryUserId),HierarchyGroupArn:cdk().stringToCloudFormation(properties.hierarchyGroupArn),IdentityInfo:convertCfnUserUserIdentityInfoPropertyToCloudFormation(properties.identityInfo),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Password:cdk().stringToCloudFormation(properties.password),PersistentConnectionConfigs:cdk().listMapper(convertCfnUserPersistentConnectionConfigPropertyToCloudFormation)(properties.persistentConnectionConfigs),PhoneConfig:convertCfnUserUserPhoneConfigPropertyToCloudFormation(properties.phoneConfig),PhoneNumberConfigs:cdk().listMapper(convertCfnUserPhoneNumberConfigPropertyToCloudFormation)(properties.phoneNumberConfigs),RoutingProfileArn:cdk().stringToCloudFormation(properties.routingProfileArn),SecurityProfileArns:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityProfileArns),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),UserProficiencies:cdk().listMapper(convertCfnUserUserProficiencyPropertyToCloudFormation)(properties.userProficiencies),Username:cdk().stringToCloudFormation(properties.username),VoiceEnhancementConfigs:cdk().listMapper(convertCfnUserVoiceEnhancementConfigPropertyToCloudFormation)(properties.voiceEnhancementConfigs)}):properties}function CfnUserPropsFromCloudFormation(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("afterContactWorkConfigs","AfterContactWorkConfigs",properties.AfterContactWorkConfigs!=null?cfn_parse().FromCloudFormation.getArray(CfnUserAfterContactWorkConfigPerChannelPropertyFromCloudFormation)(properties.AfterContactWorkConfigs):void 0),ret.addPropertyResult("autoAcceptConfigs","AutoAcceptConfigs",properties.AutoAcceptConfigs!=null?cfn_parse().FromCloudFormation.getArray(CfnUserAutoAcceptConfigPropertyFromCloudFormation)(properties.AutoAcceptConfigs):void 0),ret.addPropertyResult("directoryUserId","DirectoryUserId",properties.DirectoryUserId!=null?cfn_parse().FromCloudFormation.getString(properties.DirectoryUserId):void 0),ret.addPropertyResult("hierarchyGroupArn","HierarchyGroupArn",properties.HierarchyGroupArn!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyGroupArn):void 0),ret.addPropertyResult("identityInfo","IdentityInfo",properties.IdentityInfo!=null?CfnUserUserIdentityInfoPropertyFromCloudFormation(properties.IdentityInfo):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("password","Password",properties.Password!=null?cfn_parse().FromCloudFormation.getString(properties.Password):void 0),ret.addPropertyResult("persistentConnectionConfigs","PersistentConnectionConfigs",properties.PersistentConnectionConfigs!=null?cfn_parse().FromCloudFormation.getArray(CfnUserPersistentConnectionConfigPropertyFromCloudFormation)(properties.PersistentConnectionConfigs):void 0),ret.addPropertyResult("phoneConfig","PhoneConfig",properties.PhoneConfig!=null?CfnUserUserPhoneConfigPropertyFromCloudFormation(properties.PhoneConfig):void 0),ret.addPropertyResult("phoneNumberConfigs","PhoneNumberConfigs",properties.PhoneNumberConfigs!=null?cfn_parse().FromCloudFormation.getArray(CfnUserPhoneNumberConfigPropertyFromCloudFormation)(properties.PhoneNumberConfigs):void 0),ret.addPropertyResult("routingProfileArn","RoutingProfileArn",properties.RoutingProfileArn!=null?cfn_parse().FromCloudFormation.getString(properties.RoutingProfileArn):void 0),ret.addPropertyResult("securityProfileArns","SecurityProfileArns",properties.SecurityProfileArns!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityProfileArns):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("username","Username",properties.Username!=null?cfn_parse().FromCloudFormation.getString(properties.Username):void 0),ret.addPropertyResult("userProficiencies","UserProficiencies",properties.UserProficiencies!=null?cfn_parse().FromCloudFormation.getArray(CfnUserUserProficiencyPropertyFromCloudFormation)(properties.UserProficiencies):void 0),ret.addPropertyResult("voiceEnhancementConfigs","VoiceEnhancementConfigs",properties.VoiceEnhancementConfigs!=null?cfn_parse().FromCloudFormation.getArray(CfnUserVoiceEnhancementConfigPropertyFromCloudFormation)(properties.VoiceEnhancementConfigs):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnUserHierarchyGroup extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnUserHierarchyGroup",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::UserHierarchyGroup";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnUserHierarchyGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnUserHierarchyGroup(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 isCfnUserHierarchyGroup(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnUserHierarchyGroup.CFN_RESOURCE_TYPE_NAME}static arnForUserHierarchyGroup(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IUserHierarchyGroupRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForUserHierarchyGroup),error}return resource.userHierarchyGroupRef.userHierarchyGroupArn}cdkTagManager;_instanceArn;_name;_parentGroupArn;_tags;cfnPropertyNames={tags:"Tags",instanceArn:"InstanceArn",name:"Name",parentGroupArn:"ParentGroupArn"};constructor(scope,id,props){super(scope,id,{type:CfnUserHierarchyGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnUserHierarchyGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnUserHierarchyGroup),error}cdk().requireProperty(props,"instanceArn",this),cdk().requireProperty(props,"name",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::UserHierarchyGroup",void 0,{tagPropertyName:"tags"}),this._instanceArn=cdk().getRefProperty(props.instanceArn?.instanceRef,"instanceArn")??cdk().ensureStringOrUndefined(props.instanceArn,"instanceArn","connect.IInstanceRef | string"),this._name=props.name,this._parentGroupArn=props.parentGroupArn,this._tags=props.tags}get userHierarchyGroupRef(){return{userHierarchyGroupArn:this.ref}}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get parentGroupArn(){return this._parentGroupArn}set parentGroupArn(value){cdk().traceProperty(this.node,"ParentGroupArn"),this._parentGroupArn=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrUserHierarchyGroupArn(){return cdk().Token.asString(this.getAtt("UserHierarchyGroupArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),instanceArn:this._instanceArn,name:this._name,parentGroupArn:this._parentGroupArn}}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",CfnUserHierarchyGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnUserHierarchyGroupPropsToCloudFormation(props)}}exports.CfnUserHierarchyGroup=CfnUserHierarchyGroup;function CfnUserHierarchyGroupPropsValidator(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("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("parentGroupArn",cdk().validateString)(properties.parentGroupArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnUserHierarchyGroupProps"')}function convertCfnUserHierarchyGroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserHierarchyGroupPropsValidator(properties).assertSuccess(),{InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Name:cdk().stringToCloudFormation(properties.name),ParentGroupArn:cdk().stringToCloudFormation(properties.parentGroupArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnUserHierarchyGroupPropsFromCloudFormation(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("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("parentGroupArn","ParentGroupArn",properties.ParentGroupArn!=null?cfn_parse().FromCloudFormation.getString(properties.ParentGroupArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnView extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnView",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::View";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnViewPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnView(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 isCfnView(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnView.CFN_RESOURCE_TYPE_NAME}static arnForView(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IViewRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForView),error}return resource.viewRef.viewArn}_actions;cdkTagManager;_description;_instanceArn;_name;_tags;_template;cfnPropertyNames={actions:"Actions",tags:"Tags",description:"Description",instanceArn:"InstanceArn",name:"Name",template:"Template"};constructor(scope,id,props){super(scope,id,{type:CfnView.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnViewProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnView),error}cdk().requireProperty(props,"actions",this),cdk().requireProperty(props,"instanceArn",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"template",this),this._actions=props.actions,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::View",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._instanceArn=cdk().getRefProperty(props.instanceArn?.instanceRef,"instanceArn")??cdk().ensureStringOrUndefined(props.instanceArn,"instanceArn","connect.IInstanceRef | string"),this._name=props.name,this._tags=props.tags,this._template=props.template}get viewRef(){return{viewArn:this.ref}}get actions(){return this._actions}set actions(value){cdk().traceProperty(this.node,"Actions"),this._actions=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get template(){return this._template}set template(value){cdk().traceProperty(this.node,"Template"),this._template=value}get attrViewArn(){return cdk().Token.asString(this.getAtt("ViewArn",cdk().ResolutionTypeHint.STRING))}get attrViewContentSha256(){return cdk().Token.asString(this.getAtt("ViewContentSha256",cdk().ResolutionTypeHint.STRING))}get attrViewId(){return cdk().Token.asString(this.getAtt("ViewId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{actions:this._actions,tags:this.cdkTagManager.renderTags(this._tags),description:this._description,instanceArn:this._instanceArn,name:this._name,template:this._template}}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",CfnView.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnViewPropsToCloudFormation(props)}}exports.CfnView=CfnView;function CfnViewPropsValidator(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("actions",cdk().requiredValidator)(properties.actions)),errors.collect(cdk().propertyValidator("actions",cdk().listValidator(cdk().validateString))(properties.actions)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("template",cdk().requiredValidator)(properties.template)),errors.collect(cdk().propertyValidator("template",cdk().validateObject)(properties.template)),errors.wrap('supplied properties not correct for "CfnViewProps"')}function convertCfnViewPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnViewPropsValidator(properties).assertSuccess(),{Actions:cdk().listMapper(cdk().stringToCloudFormation)(properties.actions),Description:cdk().stringToCloudFormation(properties.description),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Template:cdk().objectToCloudFormation(properties.template)}):properties}function CfnViewPropsFromCloudFormation(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("actions","Actions",properties.Actions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Actions):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("template","Template",properties.Template!=null?cfn_parse().FromCloudFormation.getAny(properties.Template):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnViewVersion extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnViewVersion",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::ViewVersion";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnViewVersionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnViewVersion(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 isCfnViewVersion(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnViewVersion.CFN_RESOURCE_TYPE_NAME}static arnForViewVersion(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IViewVersionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForViewVersion),error}return resource.viewVersionRef.viewVersionArn}_versionDescription;_viewArn;_viewContentSha256;cfnPropertyNames={versionDescription:"VersionDescription",viewArn:"ViewArn",viewContentSha256:"ViewContentSha256"};constructor(scope,id,props){super(scope,id,{type:CfnViewVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnViewVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnViewVersion),error}cdk().requireProperty(props,"viewArn",this),this._versionDescription=props.versionDescription,this._viewArn=cdk().getRefProperty(props.viewArn?.viewRef,"viewArn")??cdk().ensureStringOrUndefined(props.viewArn,"viewArn","connect.IViewRef | string"),this._viewContentSha256=props.viewContentSha256}get viewVersionRef(){return{viewVersionArn:this.ref}}get versionDescription(){return this._versionDescription}set versionDescription(value){cdk().traceProperty(this.node,"VersionDescription"),this._versionDescription=value}get viewArn(){return this._viewArn}set viewArn(value){cdk().traceProperty(this.node,"ViewArn"),this._viewArn=value}get viewContentSha256(){return this._viewContentSha256}set viewContentSha256(value){cdk().traceProperty(this.node,"ViewContentSha256"),this._viewContentSha256=value}get attrVersion(){return cdk().Token.asNumber(this.getAtt("Version",cdk().ResolutionTypeHint.NUMBER))}get attrViewVersionArn(){return cdk().Token.asString(this.getAtt("ViewVersionArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{versionDescription:this._versionDescription,viewArn:this._viewArn,viewContentSha256:this._viewContentSha256}}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",CfnViewVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnViewVersionPropsToCloudFormation(props)}}exports.CfnViewVersion=CfnViewVersion;function CfnViewVersionPropsValidator(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("versionDescription",cdk().validateString)(properties.versionDescription)),errors.collect(cdk().propertyValidator("viewArn",cdk().requiredValidator)(properties.viewArn)),errors.collect(cdk().propertyValidator("viewArn",cdk().validateString)(properties.viewArn)),errors.collect(cdk().propertyValidator("viewContentSha256",cdk().validateString)(properties.viewContentSha256)),errors.wrap('supplied properties not correct for "CfnViewVersionProps"')}function convertCfnViewVersionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnViewVersionPropsValidator(properties).assertSuccess(),{VersionDescription:cdk().stringToCloudFormation(properties.versionDescription),ViewArn:cdk().stringToCloudFormation(properties.viewArn),ViewContentSha256:cdk().stringToCloudFormation(properties.viewContentSha256)}):properties}function CfnViewVersionPropsFromCloudFormation(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("versionDescription","VersionDescription",properties.VersionDescription!=null?cfn_parse().FromCloudFormation.getString(properties.VersionDescription):void 0),ret.addPropertyResult("viewArn","ViewArn",properties.ViewArn!=null?cfn_parse().FromCloudFormation.getString(properties.ViewArn):void 0),ret.addPropertyResult("viewContentSha256","ViewContentSha256",properties.ViewContentSha256!=null?cfn_parse().FromCloudFormation.getString(properties.ViewContentSha256):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnAgentStatus extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnAgentStatus",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::AgentStatus";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAgentStatusPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnAgentStatus(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 isCfnAgentStatus(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAgentStatus.CFN_RESOURCE_TYPE_NAME}static arnForAgentStatus(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IAgentStatusRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAgentStatus),error}return resource.agentStatusRef.agentStatusArn}cdkTagManager;_description;_displayOrder;_instanceArn;_name;_resetOrderNumber;_state;_tags;_type;cfnPropertyNames={tags:"Tags",description:"Description",displayOrder:"DisplayOrder",instanceArn:"InstanceArn",name:"Name",resetOrderNumber:"ResetOrderNumber",state:"State",type:"Type"};constructor(scope,id,props){super(scope,id,{type:CfnAgentStatus.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnAgentStatusProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAgentStatus),error}cdk().requireProperty(props,"instanceArn",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"state",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::AgentStatus",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._displayOrder=props.displayOrder,this._instanceArn=props.instanceArn,this._name=props.name,this._resetOrderNumber=props.resetOrderNumber,this._state=props.state,this._tags=props.tags,this._type=props.type}get agentStatusRef(){return{agentStatusArn:this.ref}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get displayOrder(){return this._displayOrder}set displayOrder(value){cdk().traceProperty(this.node,"DisplayOrder"),this._displayOrder=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get resetOrderNumber(){return this._resetOrderNumber}set resetOrderNumber(value){cdk().traceProperty(this.node,"ResetOrderNumber"),this._resetOrderNumber=value}get state(){return this._state}set state(value){cdk().traceProperty(this.node,"State"),this._state=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 attrAgentStatusArn(){return cdk().Token.asString(this.getAtt("AgentStatusArn",cdk().ResolutionTypeHint.STRING))}get attrLastModifiedRegion(){return cdk().Token.asString(this.getAtt("LastModifiedRegion",cdk().ResolutionTypeHint.STRING))}get attrLastModifiedTime(){return this.getAtt("LastModifiedTime",cdk().ResolutionTypeHint.NUMBER)}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,displayOrder:this._displayOrder,instanceArn:this._instanceArn,name:this._name,resetOrderNumber:this._resetOrderNumber,state:this._state,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",CfnAgentStatus.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAgentStatusPropsToCloudFormation(props)}}exports.CfnAgentStatus=CfnAgentStatus;function CfnAgentStatusPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("displayOrder",cdk().validateNumber)(properties.displayOrder)),errors.collect(cdk().propertyValidator("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("resetOrderNumber",cdk().validateBoolean)(properties.resetOrderNumber)),errors.collect(cdk().propertyValidator("state",cdk().requiredValidator)(properties.state)),errors.collect(cdk().propertyValidator("state",cdk().validateString)(properties.state)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("type",cdk().validateString)(properties.type)),errors.wrap('supplied properties not correct for "CfnAgentStatusProps"')}function convertCfnAgentStatusPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAgentStatusPropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),DisplayOrder:cdk().numberToCloudFormation(properties.displayOrder),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Name:cdk().stringToCloudFormation(properties.name),ResetOrderNumber:cdk().booleanToCloudFormation(properties.resetOrderNumber),State:cdk().stringToCloudFormation(properties.state),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnAgentStatusPropsFromCloudFormation(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("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("displayOrder","DisplayOrder",properties.DisplayOrder!=null?cfn_parse().FromCloudFormation.getNumber(properties.DisplayOrder):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("resetOrderNumber","ResetOrderNumber",properties.ResetOrderNumber!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ResetOrderNumber):void 0),ret.addPropertyResult("state","State",properties.State!=null?cfn_parse().FromCloudFormation.getString(properties.State):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 CfnContactFlowModuleAlias extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnContactFlowModuleAlias",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::ContactFlowModuleAlias";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnContactFlowModuleAliasPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnContactFlowModuleAlias(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 isCfnContactFlowModuleAlias(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnContactFlowModuleAlias.CFN_RESOURCE_TYPE_NAME}static arnForContactFlowModuleAlias(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IContactFlowModuleAliasRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForContactFlowModuleAlias),error}return resource.contactFlowModuleAliasRef.contactFlowModuleAliasArn}_contactFlowModuleId;_contactFlowModuleVersion;_description;_name;cfnPropertyNames={contactFlowModuleId:"ContactFlowModuleId",contactFlowModuleVersion:"ContactFlowModuleVersion",description:"Description",name:"Name"};constructor(scope,id,props){super(scope,id,{type:CfnContactFlowModuleAlias.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnContactFlowModuleAliasProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnContactFlowModuleAlias),error}cdk().requireProperty(props,"contactFlowModuleId",this),cdk().requireProperty(props,"contactFlowModuleVersion",this),cdk().requireProperty(props,"name",this),this._contactFlowModuleId=props.contactFlowModuleId,this._contactFlowModuleVersion=props.contactFlowModuleVersion,this._description=props.description,this._name=props.name}get contactFlowModuleAliasRef(){return{contactFlowModuleAliasArn:this.ref}}get contactFlowModuleId(){return this._contactFlowModuleId}set contactFlowModuleId(value){cdk().traceProperty(this.node,"ContactFlowModuleId"),this._contactFlowModuleId=value}get contactFlowModuleVersion(){return this._contactFlowModuleVersion}set contactFlowModuleVersion(value){cdk().traceProperty(this.node,"ContactFlowModuleVersion"),this._contactFlowModuleVersion=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get attrAliasId(){return cdk().Token.asString(this.getAtt("AliasId",cdk().ResolutionTypeHint.STRING))}get attrContactFlowModuleAliasArn(){return cdk().Token.asString(this.getAtt("ContactFlowModuleAliasARN",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{contactFlowModuleId:this._contactFlowModuleId,contactFlowModuleVersion:this._contactFlowModuleVersion,description:this._description,name:this._name}}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",CfnContactFlowModuleAlias.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnContactFlowModuleAliasPropsToCloudFormation(props)}}exports.CfnContactFlowModuleAlias=CfnContactFlowModuleAlias;function CfnContactFlowModuleAliasPropsValidator(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("contactFlowModuleId",cdk().requiredValidator)(properties.contactFlowModuleId)),errors.collect(cdk().propertyValidator("contactFlowModuleId",cdk().validateString)(properties.contactFlowModuleId)),errors.collect(cdk().propertyValidator("contactFlowModuleVersion",cdk().requiredValidator)(properties.contactFlowModuleVersion)),errors.collect(cdk().propertyValidator("contactFlowModuleVersion",cdk().validateNumber)(properties.contactFlowModuleVersion)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "CfnContactFlowModuleAliasProps"')}function convertCfnContactFlowModuleAliasPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContactFlowModuleAliasPropsValidator(properties).assertSuccess(),{ContactFlowModuleId:cdk().stringToCloudFormation(properties.contactFlowModuleId),ContactFlowModuleVersion:cdk().numberToCloudFormation(properties.contactFlowModuleVersion),Description:cdk().stringToCloudFormation(properties.description),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnContactFlowModuleAliasPropsFromCloudFormation(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("contactFlowModuleId","ContactFlowModuleId",properties.ContactFlowModuleId!=null?cfn_parse().FromCloudFormation.getString(properties.ContactFlowModuleId):void 0),ret.addPropertyResult("contactFlowModuleVersion","ContactFlowModuleVersion",properties.ContactFlowModuleVersion!=null?cfn_parse().FromCloudFormation.getNumber(properties.ContactFlowModuleVersion):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnContactFlowModuleVersion extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnContactFlowModuleVersion",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::ContactFlowModuleVersion";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnContactFlowModuleVersionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnContactFlowModuleVersion(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 isCfnContactFlowModuleVersion(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnContactFlowModuleVersion.CFN_RESOURCE_TYPE_NAME}static arnForContactFlowModuleVersion(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IContactFlowModuleVersionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForContactFlowModuleVersion),error}return resource.contactFlowModuleVersionRef.contactFlowModuleVersionArn}_contactFlowModuleId;_description;cfnPropertyNames={contactFlowModuleId:"ContactFlowModuleId",description:"Description"};constructor(scope,id,props){super(scope,id,{type:CfnContactFlowModuleVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnContactFlowModuleVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnContactFlowModuleVersion),error}cdk().requireProperty(props,"contactFlowModuleId",this),this._contactFlowModuleId=props.contactFlowModuleId,this._description=props.description}get contactFlowModuleVersionRef(){return{contactFlowModuleVersionArn:this.ref}}get contactFlowModuleId(){return this._contactFlowModuleId}set contactFlowModuleId(value){cdk().traceProperty(this.node,"ContactFlowModuleId"),this._contactFlowModuleId=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get attrContactFlowModuleVersionArn(){return cdk().Token.asString(this.getAtt("ContactFlowModuleVersionARN",cdk().ResolutionTypeHint.STRING))}get attrFlowModuleContentSha256(){return cdk().Token.asString(this.getAtt("FlowModuleContentSha256",cdk().ResolutionTypeHint.STRING))}get attrVersion(){return cdk().Token.asNumber(this.getAtt("Version",cdk().ResolutionTypeHint.NUMBER))}get cfnProperties(){return{contactFlowModuleId:this._contactFlowModuleId,description:this._description}}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",CfnContactFlowModuleVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnContactFlowModuleVersionPropsToCloudFormation(props)}}exports.CfnContactFlowModuleVersion=CfnContactFlowModuleVersion;function CfnContactFlowModuleVersionPropsValidator(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("contactFlowModuleId",cdk().requiredValidator)(properties.contactFlowModuleId)),errors.collect(cdk().propertyValidator("contactFlowModuleId",cdk().validateString)(properties.contactFlowModuleId)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.wrap('supplied properties not correct for "CfnContactFlowModuleVersionProps"')}function convertCfnContactFlowModuleVersionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContactFlowModuleVersionPropsValidator(properties).assertSuccess(),{ContactFlowModuleId:cdk().stringToCloudFormation(properties.contactFlowModuleId),Description:cdk().stringToCloudFormation(properties.description)}):properties}function CfnContactFlowModuleVersionPropsFromCloudFormation(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("contactFlowModuleId","ContactFlowModuleId",properties.ContactFlowModuleId!=null?cfn_parse().FromCloudFormation.getString(properties.ContactFlowModuleId):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnContactFlowVersion extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnContactFlowVersion",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::ContactFlowVersion";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnContactFlowVersionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnContactFlowVersion(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 isCfnContactFlowVersion(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnContactFlowVersion.CFN_RESOURCE_TYPE_NAME}static arnForContactFlowVersion(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IContactFlowVersionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForContactFlowVersion),error}return resource.contactFlowVersionRef.contactFlowVersionArn}_contactFlowId;_description;cfnPropertyNames={contactFlowId:"ContactFlowId",description:"Description"};constructor(scope,id,props){super(scope,id,{type:CfnContactFlowVersion.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnContactFlowVersionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnContactFlowVersion),error}cdk().requireProperty(props,"contactFlowId",this),this._contactFlowId=props.contactFlowId,this._description=props.description}get contactFlowVersionRef(){return{contactFlowVersionArn:this.ref}}get contactFlowId(){return this._contactFlowId}set contactFlowId(value){cdk().traceProperty(this.node,"ContactFlowId"),this._contactFlowId=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get attrContactFlowVersionArn(){return cdk().Token.asString(this.getAtt("ContactFlowVersionARN",cdk().ResolutionTypeHint.STRING))}get attrFlowContentSha256(){return cdk().Token.asString(this.getAtt("FlowContentSha256",cdk().ResolutionTypeHint.STRING))}get attrVersion(){return cdk().Token.asNumber(this.getAtt("Version",cdk().ResolutionTypeHint.NUMBER))}get cfnProperties(){return{contactFlowId:this._contactFlowId,description:this._description}}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",CfnContactFlowVersion.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnContactFlowVersionPropsToCloudFormation(props)}}exports.CfnContactFlowVersion=CfnContactFlowVersion;function CfnContactFlowVersionPropsValidator(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("contactFlowId",cdk().requiredValidator)(properties.contactFlowId)),errors.collect(cdk().propertyValidator("contactFlowId",cdk().validateString)(properties.contactFlowId)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.wrap('supplied properties not correct for "CfnContactFlowVersionProps"')}function convertCfnContactFlowVersionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnContactFlowVersionPropsValidator(properties).assertSuccess(),{ContactFlowId:cdk().stringToCloudFormation(properties.contactFlowId),Description:cdk().stringToCloudFormation(properties.description)}):properties}function CfnContactFlowVersionPropsFromCloudFormation(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("contactFlowId","ContactFlowId",properties.ContactFlowId!=null?cfn_parse().FromCloudFormation.getString(properties.ContactFlowId):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDataTable extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnDataTable",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::DataTable";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDataTablePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDataTable(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 isCfnDataTable(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDataTable.CFN_RESOURCE_TYPE_NAME}static arnForDataTable(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IDataTableRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDataTable),error}return resource.dataTableRef.dataTableArn}cdkTagManager;_description;_instanceArn;_name;_status;_tags;_timeZone;_valueLockLevel;cfnPropertyNames={tags:"Tags",description:"Description",instanceArn:"InstanceArn",name:"Name",status:"Status",timeZone:"TimeZone",valueLockLevel:"ValueLockLevel"};constructor(scope,id,props={}){super(scope,id,{type:CfnDataTable.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnDataTableProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDataTable),error}this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::DataTable",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._instanceArn=props.instanceArn,this._name=props.name,this._status=props.status,this._tags=props.tags,this._timeZone=props.timeZone,this._valueLockLevel=props.valueLockLevel}get dataTableRef(){return{instanceArn:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),dataTableArn:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get status(){return this._status}set status(value){cdk().traceProperty(this.node,"Status"),this._status=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get timeZone(){return this._timeZone}set timeZone(value){cdk().traceProperty(this.node,"TimeZone"),this._timeZone=value}get valueLockLevel(){return this._valueLockLevel}set valueLockLevel(value){cdk().traceProperty(this.node,"ValueLockLevel"),this._valueLockLevel=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedTime(){return this.getAtt("CreatedTime",cdk().ResolutionTypeHint.NUMBER)}get attrLastModifiedRegion(){return cdk().Token.asString(this.getAtt("LastModifiedRegion",cdk().ResolutionTypeHint.STRING))}get attrLastModifiedTime(){return this.getAtt("LastModifiedTime",cdk().ResolutionTypeHint.NUMBER)}get attrLockVersion(){return this.getAtt("LockVersion")}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),description:this._description,instanceArn:this._instanceArn,name:this._name,status:this._status,timeZone:this._timeZone,valueLockLevel:this._valueLockLevel}}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",CfnDataTable.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDataTablePropsToCloudFormation(props)}}exports.CfnDataTable=CfnDataTable;function CfnDataTableLockVersionPropertyValidator(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("dataTable",cdk().validateString)(properties.dataTable)),errors.wrap('supplied properties not correct for "LockVersionProperty"')}function convertCfnDataTableLockVersionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataTableLockVersionPropertyValidator(properties).assertSuccess(),{DataTable:cdk().stringToCloudFormation(properties.dataTable)}):properties}function CfnDataTableLockVersionPropertyFromCloudFormation(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("dataTable","DataTable",properties.DataTable!=null?cfn_parse().FromCloudFormation.getString(properties.DataTable):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataTablePropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("status",cdk().validateString)(properties.status)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("timeZone",cdk().validateString)(properties.timeZone)),errors.collect(cdk().propertyValidator("valueLockLevel",cdk().validateString)(properties.valueLockLevel)),errors.wrap('supplied properties not correct for "CfnDataTableProps"')}function convertCfnDataTablePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataTablePropsValidator(properties).assertSuccess(),{Description:cdk().stringToCloudFormation(properties.description),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Name:cdk().stringToCloudFormation(properties.name),Status:cdk().stringToCloudFormation(properties.status),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TimeZone:cdk().stringToCloudFormation(properties.timeZone),ValueLockLevel:cdk().stringToCloudFormation(properties.valueLockLevel)}):properties}function CfnDataTablePropsFromCloudFormation(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("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("status","Status",properties.Status!=null?cfn_parse().FromCloudFormation.getString(properties.Status):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("timeZone","TimeZone",properties.TimeZone!=null?cfn_parse().FromCloudFormation.getString(properties.TimeZone):void 0),ret.addPropertyResult("valueLockLevel","ValueLockLevel",properties.ValueLockLevel!=null?cfn_parse().FromCloudFormation.getString(properties.ValueLockLevel):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDataTableAttribute extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnDataTableAttribute",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::DataTableAttribute";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDataTableAttributePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDataTableAttribute(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 isCfnDataTableAttribute(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDataTableAttribute.CFN_RESOURCE_TYPE_NAME}_dataTableArn;_description;_instanceArn;_name;_primary;_validation;_valueType;cfnPropertyNames={dataTableArn:"DataTableArn",description:"Description",instanceArn:"InstanceArn",name:"Name",primary:"Primary",validation:"Validation",valueType:"ValueType"};constructor(scope,id,props={}){super(scope,id,{type:CfnDataTableAttribute.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnDataTableAttributeProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDataTableAttribute),error}this._dataTableArn=props.dataTableArn,this._description=props.description,this._instanceArn=props.instanceArn,this._name=props.name,this._primary=props.primary,this._validation=props.validation,this._valueType=props.valueType}get dataTableAttributeRef(){return{instanceArn:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),dataTableArn:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),attributeId:cdk().Fn.select(2,cdk().Fn.split("|",this.ref))}}get dataTableArn(){return this._dataTableArn}set dataTableArn(value){cdk().traceProperty(this.node,"DataTableArn"),this._dataTableArn=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get primary(){return this._primary}set primary(value){cdk().traceProperty(this.node,"Primary"),this._primary=value}get validation(){return this._validation}set validation(value){cdk().traceProperty(this.node,"Validation"),this._validation=value}get valueType(){return this._valueType}set valueType(value){cdk().traceProperty(this.node,"ValueType"),this._valueType=value}get attrAttributeId(){return cdk().Token.asString(this.getAtt("AttributeId",cdk().ResolutionTypeHint.STRING))}get attrLastModifiedRegion(){return cdk().Token.asString(this.getAtt("LastModifiedRegion",cdk().ResolutionTypeHint.STRING))}get attrLastModifiedTime(){return this.getAtt("LastModifiedTime",cdk().ResolutionTypeHint.NUMBER)}get attrLockVersion(){return this.getAtt("LockVersion")}get cfnProperties(){return{dataTableArn:this._dataTableArn,description:this._description,instanceArn:this._instanceArn,name:this._name,primary:this._primary,validation:this._validation,valueType:this._valueType}}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",CfnDataTableAttribute.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDataTableAttributePropsToCloudFormation(props)}}exports.CfnDataTableAttribute=CfnDataTableAttribute;function CfnDataTableAttributeEnumPropertyValidator(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("strict",cdk().validateBoolean)(properties.strict)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(cdk().validateString))(properties.values)),errors.wrap('supplied properties not correct for "EnumProperty"')}function convertCfnDataTableAttributeEnumPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataTableAttributeEnumPropertyValidator(properties).assertSuccess(),{Strict:cdk().booleanToCloudFormation(properties.strict),Values:cdk().listMapper(cdk().stringToCloudFormation)(properties.values)}):properties}function CfnDataTableAttributeEnumPropertyFromCloudFormation(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("strict","Strict",properties.Strict!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Strict):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataTableAttributeValidationPropertyValidator(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("enum",CfnDataTableAttributeEnumPropertyValidator)(properties.enum)),errors.collect(cdk().propertyValidator("exclusiveMaximum",cdk().validateNumber)(properties.exclusiveMaximum)),errors.collect(cdk().propertyValidator("exclusiveMinimum",cdk().validateNumber)(properties.exclusiveMinimum)),errors.collect(cdk().propertyValidator("maxLength",cdk().validateNumber)(properties.maxLength)),errors.collect(cdk().propertyValidator("maxValues",cdk().validateNumber)(properties.maxValues)),errors.collect(cdk().propertyValidator("maximum",cdk().validateNumber)(properties.maximum)),errors.collect(cdk().propertyValidator("minLength",cdk().validateNumber)(properties.minLength)),errors.collect(cdk().propertyValidator("minValues",cdk().validateNumber)(properties.minValues)),errors.collect(cdk().propertyValidator("minimum",cdk().validateNumber)(properties.minimum)),errors.collect(cdk().propertyValidator("multipleOf",cdk().validateNumber)(properties.multipleOf)),errors.wrap('supplied properties not correct for "ValidationProperty"')}function convertCfnDataTableAttributeValidationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataTableAttributeValidationPropertyValidator(properties).assertSuccess(),{Enum:convertCfnDataTableAttributeEnumPropertyToCloudFormation(properties.enum),ExclusiveMaximum:cdk().numberToCloudFormation(properties.exclusiveMaximum),ExclusiveMinimum:cdk().numberToCloudFormation(properties.exclusiveMinimum),MaxLength:cdk().numberToCloudFormation(properties.maxLength),MaxValues:cdk().numberToCloudFormation(properties.maxValues),Maximum:cdk().numberToCloudFormation(properties.maximum),MinLength:cdk().numberToCloudFormation(properties.minLength),MinValues:cdk().numberToCloudFormation(properties.minValues),Minimum:cdk().numberToCloudFormation(properties.minimum),MultipleOf:cdk().numberToCloudFormation(properties.multipleOf)}):properties}function CfnDataTableAttributeValidationPropertyFromCloudFormation(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("enum","Enum",properties.Enum!=null?CfnDataTableAttributeEnumPropertyFromCloudFormation(properties.Enum):void 0),ret.addPropertyResult("exclusiveMaximum","ExclusiveMaximum",properties.ExclusiveMaximum!=null?cfn_parse().FromCloudFormation.getNumber(properties.ExclusiveMaximum):void 0),ret.addPropertyResult("exclusiveMinimum","ExclusiveMinimum",properties.ExclusiveMinimum!=null?cfn_parse().FromCloudFormation.getNumber(properties.ExclusiveMinimum):void 0),ret.addPropertyResult("maximum","Maximum",properties.Maximum!=null?cfn_parse().FromCloudFormation.getNumber(properties.Maximum):void 0),ret.addPropertyResult("maxLength","MaxLength",properties.MaxLength!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxLength):void 0),ret.addPropertyResult("maxValues","MaxValues",properties.MaxValues!=null?cfn_parse().FromCloudFormation.getNumber(properties.MaxValues):void 0),ret.addPropertyResult("minimum","Minimum",properties.Minimum!=null?cfn_parse().FromCloudFormation.getNumber(properties.Minimum):void 0),ret.addPropertyResult("minLength","MinLength",properties.MinLength!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinLength):void 0),ret.addPropertyResult("minValues","MinValues",properties.MinValues!=null?cfn_parse().FromCloudFormation.getNumber(properties.MinValues):void 0),ret.addPropertyResult("multipleOf","MultipleOf",properties.MultipleOf!=null?cfn_parse().FromCloudFormation.getNumber(properties.MultipleOf):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataTableAttributeLockVersionPropertyValidator(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("attribute",cdk().validateString)(properties.attribute)),errors.collect(cdk().propertyValidator("dataTable",cdk().validateString)(properties.dataTable)),errors.wrap('supplied properties not correct for "LockVersionProperty"')}function convertCfnDataTableAttributeLockVersionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataTableAttributeLockVersionPropertyValidator(properties).assertSuccess(),{Attribute:cdk().stringToCloudFormation(properties.attribute),DataTable:cdk().stringToCloudFormation(properties.dataTable)}):properties}function CfnDataTableAttributeLockVersionPropertyFromCloudFormation(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("attribute","Attribute",properties.Attribute!=null?cfn_parse().FromCloudFormation.getString(properties.Attribute):void 0),ret.addPropertyResult("dataTable","DataTable",properties.DataTable!=null?cfn_parse().FromCloudFormation.getString(properties.DataTable):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataTableAttributePropsValidator(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("dataTableArn",cdk().validateString)(properties.dataTableArn)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("primary",cdk().validateBoolean)(properties.primary)),errors.collect(cdk().propertyValidator("validation",CfnDataTableAttributeValidationPropertyValidator)(properties.validation)),errors.collect(cdk().propertyValidator("valueType",cdk().validateString)(properties.valueType)),errors.wrap('supplied properties not correct for "CfnDataTableAttributeProps"')}function convertCfnDataTableAttributePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataTableAttributePropsValidator(properties).assertSuccess(),{DataTableArn:cdk().stringToCloudFormation(properties.dataTableArn),Description:cdk().stringToCloudFormation(properties.description),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Name:cdk().stringToCloudFormation(properties.name),Primary:cdk().booleanToCloudFormation(properties.primary),Validation:convertCfnDataTableAttributeValidationPropertyToCloudFormation(properties.validation),ValueType:cdk().stringToCloudFormation(properties.valueType)}):properties}function CfnDataTableAttributePropsFromCloudFormation(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("dataTableArn","DataTableArn",properties.DataTableArn!=null?cfn_parse().FromCloudFormation.getString(properties.DataTableArn):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("primary","Primary",properties.Primary!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Primary):void 0),ret.addPropertyResult("validation","Validation",properties.Validation!=null?CfnDataTableAttributeValidationPropertyFromCloudFormation(properties.Validation):void 0),ret.addPropertyResult("valueType","ValueType",properties.ValueType!=null?cfn_parse().FromCloudFormation.getString(properties.ValueType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnDataTableRecord extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnDataTableRecord",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::DataTableRecord";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDataTableRecordPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnDataTableRecord(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 isCfnDataTableRecord(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDataTableRecord.CFN_RESOURCE_TYPE_NAME}_dataTableArn;_dataTableRecord;_instanceArn;cfnPropertyNames={dataTableArn:"DataTableArn",dataTableRecord:"DataTableRecord",instanceArn:"InstanceArn"};constructor(scope,id,props={}){super(scope,id,{type:CfnDataTableRecord.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnDataTableRecordProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDataTableRecord),error}this._dataTableArn=props.dataTableArn,this._dataTableRecord=props.dataTableRecord,this._instanceArn=props.instanceArn}get dataTableRecordRef(){return{instanceArn:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),dataTableArn:cdk().Fn.select(1,cdk().Fn.split("|",this.ref)),recordId:cdk().Fn.select(2,cdk().Fn.split("|",this.ref))}}get dataTableArn(){return this._dataTableArn}set dataTableArn(value){cdk().traceProperty(this.node,"DataTableArn"),this._dataTableArn=value}get dataTableRecord(){return this._dataTableRecord}set dataTableRecord(value){cdk().traceProperty(this.node,"DataTableRecord"),this._dataTableRecord=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get attrRecordId(){return cdk().Token.asString(this.getAtt("RecordId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{dataTableArn:this._dataTableArn,dataTableRecord:this._dataTableRecord,instanceArn:this._instanceArn}}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",CfnDataTableRecord.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDataTableRecordPropsToCloudFormation(props)}}exports.CfnDataTableRecord=CfnDataTableRecord;function CfnDataTableRecordValuePropertyValidator(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("attributeId",cdk().validateString)(properties.attributeId)),errors.collect(cdk().propertyValidator("attributeValue",cdk().validateString)(properties.attributeValue)),errors.wrap('supplied properties not correct for "ValueProperty"')}function convertCfnDataTableRecordValuePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataTableRecordValuePropertyValidator(properties).assertSuccess(),{AttributeId:cdk().stringToCloudFormation(properties.attributeId),AttributeValue:cdk().stringToCloudFormation(properties.attributeValue)}):properties}function CfnDataTableRecordValuePropertyFromCloudFormation(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("attributeId","AttributeId",properties.AttributeId!=null?cfn_parse().FromCloudFormation.getString(properties.AttributeId):void 0),ret.addPropertyResult("attributeValue","AttributeValue",properties.AttributeValue!=null?cfn_parse().FromCloudFormation.getString(properties.AttributeValue):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataTableRecordDataTableRecordPropertyValidator(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("primaryValues",cdk().listValidator(CfnDataTableRecordValuePropertyValidator))(properties.primaryValues)),errors.collect(cdk().propertyValidator("values",cdk().requiredValidator)(properties.values)),errors.collect(cdk().propertyValidator("values",cdk().listValidator(CfnDataTableRecordValuePropertyValidator))(properties.values)),errors.wrap('supplied properties not correct for "DataTableRecordProperty"')}function convertCfnDataTableRecordDataTableRecordPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataTableRecordDataTableRecordPropertyValidator(properties).assertSuccess(),{PrimaryValues:cdk().listMapper(convertCfnDataTableRecordValuePropertyToCloudFormation)(properties.primaryValues),Values:cdk().listMapper(convertCfnDataTableRecordValuePropertyToCloudFormation)(properties.values)}):properties}function CfnDataTableRecordDataTableRecordPropertyFromCloudFormation(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("primaryValues","PrimaryValues",properties.PrimaryValues!=null?cfn_parse().FromCloudFormation.getArray(CfnDataTableRecordValuePropertyFromCloudFormation)(properties.PrimaryValues):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?cfn_parse().FromCloudFormation.getArray(CfnDataTableRecordValuePropertyFromCloudFormation)(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnDataTableRecordPropsValidator(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("dataTableArn",cdk().validateString)(properties.dataTableArn)),errors.collect(cdk().propertyValidator("dataTableRecord",CfnDataTableRecordDataTableRecordPropertyValidator)(properties.dataTableRecord)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.wrap('supplied properties not correct for "CfnDataTableRecordProps"')}function convertCfnDataTableRecordPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDataTableRecordPropsValidator(properties).assertSuccess(),{DataTableArn:cdk().stringToCloudFormation(properties.dataTableArn),DataTableRecord:convertCfnDataTableRecordDataTableRecordPropertyToCloudFormation(properties.dataTableRecord),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn)}):properties}function CfnDataTableRecordPropsFromCloudFormation(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("dataTableArn","DataTableArn",properties.DataTableArn!=null?cfn_parse().FromCloudFormation.getString(properties.DataTableArn):void 0),ret.addPropertyResult("dataTableRecord","DataTableRecord",properties.DataTableRecord!=null?CfnDataTableRecordDataTableRecordPropertyFromCloudFormation(properties.DataTableRecord):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnEmailAddress extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnEmailAddress",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::EmailAddress";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnEmailAddressPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnEmailAddress(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 isCfnEmailAddress(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnEmailAddress.CFN_RESOURCE_TYPE_NAME}static arnForEmailAddress(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IEmailAddressRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForEmailAddress),error}return resource.emailAddressRef.emailAddressArn}_aliasConfigurations;cdkTagManager;_description;_displayName;_emailAddress;_instanceArn;_tags;cfnPropertyNames={aliasConfigurations:"AliasConfigurations",tags:"Tags",description:"Description",displayName:"DisplayName",emailAddress:"EmailAddress",instanceArn:"InstanceArn"};constructor(scope,id,props){super(scope,id,{type:CfnEmailAddress.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnEmailAddressProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnEmailAddress),error}cdk().requireProperty(props,"emailAddress",this),cdk().requireProperty(props,"instanceArn",this),this._aliasConfigurations=props.aliasConfigurations,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::EmailAddress",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._displayName=props.displayName,this._emailAddress=props.emailAddress,this._instanceArn=props.instanceArn,this._tags=props.tags}get emailAddressRef(){return{emailAddressArn:this.ref}}get aliasConfigurations(){return this._aliasConfigurations}set aliasConfigurations(value){cdk().traceProperty(this.node,"AliasConfigurations"),this._aliasConfigurations=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get displayName(){return this._displayName}set displayName(value){cdk().traceProperty(this.node,"DisplayName"),this._displayName=value}get emailAddress(){return this._emailAddress}set emailAddress(value){cdk().traceProperty(this.node,"EmailAddress"),this._emailAddress=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrEmailAddressArn(){return cdk().Token.asString(this.getAtt("EmailAddressArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{aliasConfigurations:this._aliasConfigurations,tags:this.cdkTagManager.renderTags(this._tags),description:this._description,displayName:this._displayName,emailAddress:this._emailAddress,instanceArn:this._instanceArn}}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",CfnEmailAddress.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnEmailAddressPropsToCloudFormation(props)}}exports.CfnEmailAddress=CfnEmailAddress;function CfnEmailAddressAliasConfigurationPropertyValidator(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("emailAddressArn",cdk().requiredValidator)(properties.emailAddressArn)),errors.collect(cdk().propertyValidator("emailAddressArn",cdk().validateString)(properties.emailAddressArn)),errors.wrap('supplied properties not correct for "AliasConfigurationProperty"')}function convertCfnEmailAddressAliasConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEmailAddressAliasConfigurationPropertyValidator(properties).assertSuccess(),{EmailAddressArn:cdk().stringToCloudFormation(properties.emailAddressArn)}):properties}function CfnEmailAddressAliasConfigurationPropertyFromCloudFormation(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("emailAddressArn","EmailAddressArn",properties.EmailAddressArn!=null?cfn_parse().FromCloudFormation.getString(properties.EmailAddressArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnEmailAddressPropsValidator(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("aliasConfigurations",cdk().listValidator(CfnEmailAddressAliasConfigurationPropertyValidator))(properties.aliasConfigurations)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("displayName",cdk().validateString)(properties.displayName)),errors.collect(cdk().propertyValidator("emailAddress",cdk().requiredValidator)(properties.emailAddress)),errors.collect(cdk().propertyValidator("emailAddress",cdk().validateString)(properties.emailAddress)),errors.collect(cdk().propertyValidator("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnEmailAddressProps"')}function convertCfnEmailAddressPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnEmailAddressPropsValidator(properties).assertSuccess(),{AliasConfigurations:cdk().listMapper(convertCfnEmailAddressAliasConfigurationPropertyToCloudFormation)(properties.aliasConfigurations),Description:cdk().stringToCloudFormation(properties.description),DisplayName:cdk().stringToCloudFormation(properties.displayName),EmailAddress:cdk().stringToCloudFormation(properties.emailAddress),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnEmailAddressPropsFromCloudFormation(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("aliasConfigurations","AliasConfigurations",properties.AliasConfigurations!=null?cfn_parse().FromCloudFormation.getArray(CfnEmailAddressAliasConfigurationPropertyFromCloudFormation)(properties.AliasConfigurations):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("displayName","DisplayName",properties.DisplayName!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayName):void 0),ret.addPropertyResult("emailAddress","EmailAddress",properties.EmailAddress!=null?cfn_parse().FromCloudFormation.getString(properties.EmailAddress):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnNotification extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnNotification",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::Notification";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnNotificationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnNotification(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 isCfnNotification(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnNotification.CFN_RESOURCE_TYPE_NAME}static arnForNotification(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_INotificationRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForNotification),error}return resource.notificationRef.notificationArn}cdkTagManager;_content;_expiresAt;_instanceArn;_priority;_recipients;_tags;cfnPropertyNames={tags:"Tags",content:"Content",expiresAt:"ExpiresAt",instanceArn:"InstanceArn",priority:"Priority",recipients:"Recipients"};constructor(scope,id,props){super(scope,id,{type:CfnNotification.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnNotificationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnNotification),error}cdk().requireProperty(props,"content",this),cdk().requireProperty(props,"instanceArn",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::Notification",void 0,{tagPropertyName:"tags"}),this._content=props.content,this._expiresAt=props.expiresAt,this._instanceArn=props.instanceArn,this._priority=props.priority,this._recipients=props.recipients,this._tags=props.tags}get notificationRef(){return{notificationArn:this.ref}}get content(){return this._content}set content(value){cdk().traceProperty(this.node,"Content"),this._content=value}get expiresAt(){return this._expiresAt}set expiresAt(value){cdk().traceProperty(this.node,"ExpiresAt"),this._expiresAt=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get priority(){return this._priority}set priority(value){cdk().traceProperty(this.node,"Priority"),this._priority=value}get recipients(){return this._recipients}set recipients(value){cdk().traceProperty(this.node,"Recipients"),this._recipients=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),content:this._content,expiresAt:this._expiresAt,instanceArn:this._instanceArn,priority:this._priority,recipients:this._recipients}}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",CfnNotification.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnNotificationPropsToCloudFormation(props)}}exports.CfnNotification=CfnNotification;function CfnNotificationNotificationContentPropertyValidator(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("deDe",cdk().validateString)(properties.deDe)),errors.collect(cdk().propertyValidator("enUs",cdk().validateString)(properties.enUs)),errors.collect(cdk().propertyValidator("esEs",cdk().validateString)(properties.esEs)),errors.collect(cdk().propertyValidator("frFr",cdk().validateString)(properties.frFr)),errors.collect(cdk().propertyValidator("idId",cdk().validateString)(properties.idId)),errors.collect(cdk().propertyValidator("itIt",cdk().validateString)(properties.itIt)),errors.collect(cdk().propertyValidator("jaJp",cdk().validateString)(properties.jaJp)),errors.collect(cdk().propertyValidator("koKr",cdk().validateString)(properties.koKr)),errors.collect(cdk().propertyValidator("ptBr",cdk().validateString)(properties.ptBr)),errors.collect(cdk().propertyValidator("zhCn",cdk().validateString)(properties.zhCn)),errors.collect(cdk().propertyValidator("zhTw",cdk().validateString)(properties.zhTw)),errors.wrap('supplied properties not correct for "NotificationContentProperty"')}function convertCfnNotificationNotificationContentPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnNotificationNotificationContentPropertyValidator(properties).assertSuccess(),{DeDE:cdk().stringToCloudFormation(properties.deDe),EnUS:cdk().stringToCloudFormation(properties.enUs),EsES:cdk().stringToCloudFormation(properties.esEs),FrFR:cdk().stringToCloudFormation(properties.frFr),IdID:cdk().stringToCloudFormation(properties.idId),ItIT:cdk().stringToCloudFormation(properties.itIt),JaJP:cdk().stringToCloudFormation(properties.jaJp),KoKR:cdk().stringToCloudFormation(properties.koKr),PtBR:cdk().stringToCloudFormation(properties.ptBr),ZhCN:cdk().stringToCloudFormation(properties.zhCn),ZhTW:cdk().stringToCloudFormation(properties.zhTw)}):properties}function CfnNotificationNotificationContentPropertyFromCloudFormation(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("deDe","DeDE",properties.DeDE!=null?cfn_parse().FromCloudFormation.getString(properties.DeDE):void 0),ret.addPropertyResult("enUs","EnUS",properties.EnUS!=null?cfn_parse().FromCloudFormation.getString(properties.EnUS):void 0),ret.addPropertyResult("esEs","EsES",properties.EsES!=null?cfn_parse().FromCloudFormation.getString(properties.EsES):void 0),ret.addPropertyResult("frFr","FrFR",properties.FrFR!=null?cfn_parse().FromCloudFormation.getString(properties.FrFR):void 0),ret.addPropertyResult("idId","IdID",properties.IdID!=null?cfn_parse().FromCloudFormation.getString(properties.IdID):void 0),ret.addPropertyResult("itIt","ItIT",properties.ItIT!=null?cfn_parse().FromCloudFormation.getString(properties.ItIT):void 0),ret.addPropertyResult("jaJp","JaJP",properties.JaJP!=null?cfn_parse().FromCloudFormation.getString(properties.JaJP):void 0),ret.addPropertyResult("koKr","KoKR",properties.KoKR!=null?cfn_parse().FromCloudFormation.getString(properties.KoKR):void 0),ret.addPropertyResult("ptBr","PtBR",properties.PtBR!=null?cfn_parse().FromCloudFormation.getString(properties.PtBR):void 0),ret.addPropertyResult("zhCn","ZhCN",properties.ZhCN!=null?cfn_parse().FromCloudFormation.getString(properties.ZhCN):void 0),ret.addPropertyResult("zhTw","ZhTW",properties.ZhTW!=null?cfn_parse().FromCloudFormation.getString(properties.ZhTW):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnNotificationPropsValidator(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("content",cdk().requiredValidator)(properties.content)),errors.collect(cdk().propertyValidator("content",CfnNotificationNotificationContentPropertyValidator)(properties.content)),errors.collect(cdk().propertyValidator("expiresAt",cdk().validateString)(properties.expiresAt)),errors.collect(cdk().propertyValidator("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("priority",cdk().validateString)(properties.priority)),errors.collect(cdk().propertyValidator("recipients",cdk().listValidator(cdk().validateString))(properties.recipients)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnNotificationProps"')}function convertCfnNotificationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnNotificationPropsValidator(properties).assertSuccess(),{Content:convertCfnNotificationNotificationContentPropertyToCloudFormation(properties.content),ExpiresAt:cdk().stringToCloudFormation(properties.expiresAt),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Priority:cdk().stringToCloudFormation(properties.priority),Recipients:cdk().listMapper(cdk().stringToCloudFormation)(properties.recipients),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnNotificationPropsFromCloudFormation(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("content","Content",properties.Content!=null?CfnNotificationNotificationContentPropertyFromCloudFormation(properties.Content):void 0),ret.addPropertyResult("expiresAt","ExpiresAt",properties.ExpiresAt!=null?cfn_parse().FromCloudFormation.getString(properties.ExpiresAt):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("priority","Priority",properties.Priority!=null?cfn_parse().FromCloudFormation.getString(properties.Priority):void 0),ret.addPropertyResult("recipients","Recipients",properties.Recipients!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Recipients):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPredefinedAttribute extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnPredefinedAttribute",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::PredefinedAttribute";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPredefinedAttributePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnPredefinedAttribute(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 isCfnPredefinedAttribute(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPredefinedAttribute.CFN_RESOURCE_TYPE_NAME}_attributeConfiguration;_instanceArn;_name;_purposes;_values;cfnPropertyNames={attributeConfiguration:"AttributeConfiguration",instanceArn:"InstanceArn",name:"Name",purposes:"Purposes",values:"Values"};constructor(scope,id,props){super(scope,id,{type:CfnPredefinedAttribute.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnPredefinedAttributeProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPredefinedAttribute),error}cdk().requireProperty(props,"instanceArn",this),cdk().requireProperty(props,"name",this),this._attributeConfiguration=props.attributeConfiguration,this._instanceArn=props.instanceArn,this._name=props.name,this._purposes=props.purposes,this._values=props.values}get predefinedAttributeRef(){return{instanceArn:cdk().Fn.select(0,cdk().Fn.split("|",this.ref)),predefinedAttributeName:cdk().Fn.select(1,cdk().Fn.split("|",this.ref))}}get attributeConfiguration(){return this._attributeConfiguration}set attributeConfiguration(value){cdk().traceProperty(this.node,"AttributeConfiguration"),this._attributeConfiguration=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get purposes(){return this._purposes}set purposes(value){cdk().traceProperty(this.node,"Purposes"),this._purposes=value}get values(){return this._values}set values(value){cdk().traceProperty(this.node,"Values"),this._values=value}get attrLastModifiedRegion(){return cdk().Token.asString(this.getAtt("LastModifiedRegion",cdk().ResolutionTypeHint.STRING))}get attrLastModifiedTime(){return this.getAtt("LastModifiedTime",cdk().ResolutionTypeHint.NUMBER)}get cfnProperties(){return{attributeConfiguration:this._attributeConfiguration,instanceArn:this._instanceArn,name:this._name,purposes:this._purposes,values:this._values}}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",CfnPredefinedAttribute.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPredefinedAttributePropsToCloudFormation(props)}}exports.CfnPredefinedAttribute=CfnPredefinedAttribute;function CfnPredefinedAttributeValuesPropertyValidator(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("stringList",cdk().listValidator(cdk().validateString))(properties.stringList)),errors.wrap('supplied properties not correct for "ValuesProperty"')}function convertCfnPredefinedAttributeValuesPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPredefinedAttributeValuesPropertyValidator(properties).assertSuccess(),{StringList:cdk().listMapper(cdk().stringToCloudFormation)(properties.stringList)}):properties}function CfnPredefinedAttributeValuesPropertyFromCloudFormation(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("stringList","StringList",properties.StringList!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.StringList):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPredefinedAttributeAttributeConfigurationPropertyValidator(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("enableValueValidationOnAssociation",cdk().validateBoolean)(properties.enableValueValidationOnAssociation)),errors.collect(cdk().propertyValidator("isReadOnly",cdk().validateBoolean)(properties.isReadOnly)),errors.wrap('supplied properties not correct for "AttributeConfigurationProperty"')}function convertCfnPredefinedAttributeAttributeConfigurationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPredefinedAttributeAttributeConfigurationPropertyValidator(properties).assertSuccess(),{EnableValueValidationOnAssociation:cdk().booleanToCloudFormation(properties.enableValueValidationOnAssociation),IsReadOnly:cdk().booleanToCloudFormation(properties.isReadOnly)}):properties}function CfnPredefinedAttributeAttributeConfigurationPropertyFromCloudFormation(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("enableValueValidationOnAssociation","EnableValueValidationOnAssociation",properties.EnableValueValidationOnAssociation!=null?cfn_parse().FromCloudFormation.getBoolean(properties.EnableValueValidationOnAssociation):void 0),ret.addPropertyResult("isReadOnly","IsReadOnly",properties.IsReadOnly!=null?cfn_parse().FromCloudFormation.getBoolean(properties.IsReadOnly):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPredefinedAttributePropsValidator(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("attributeConfiguration",CfnPredefinedAttributeAttributeConfigurationPropertyValidator)(properties.attributeConfiguration)),errors.collect(cdk().propertyValidator("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("purposes",cdk().listValidator(cdk().validateString))(properties.purposes)),errors.collect(cdk().propertyValidator("values",CfnPredefinedAttributeValuesPropertyValidator)(properties.values)),errors.wrap('supplied properties not correct for "CfnPredefinedAttributeProps"')}function convertCfnPredefinedAttributePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPredefinedAttributePropsValidator(properties).assertSuccess(),{AttributeConfiguration:convertCfnPredefinedAttributeAttributeConfigurationPropertyToCloudFormation(properties.attributeConfiguration),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Name:cdk().stringToCloudFormation(properties.name),Purposes:cdk().listMapper(cdk().stringToCloudFormation)(properties.purposes),Values:convertCfnPredefinedAttributeValuesPropertyToCloudFormation(properties.values)}):properties}function CfnPredefinedAttributePropsFromCloudFormation(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("attributeConfiguration","AttributeConfiguration",properties.AttributeConfiguration!=null?CfnPredefinedAttributeAttributeConfigurationPropertyFromCloudFormation(properties.AttributeConfiguration):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("purposes","Purposes",properties.Purposes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Purposes):void 0),ret.addPropertyResult("values","Values",properties.Values!=null?CfnPredefinedAttributeValuesPropertyFromCloudFormation(properties.Values):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnUserHierarchyStructure extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnUserHierarchyStructure",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::UserHierarchyStructure";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnUserHierarchyStructurePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnUserHierarchyStructure(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 isCfnUserHierarchyStructure(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnUserHierarchyStructure.CFN_RESOURCE_TYPE_NAME}static arnForUserHierarchyStructure(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IUserHierarchyStructureRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForUserHierarchyStructure),error}return resource.userHierarchyStructureRef.userHierarchyStructureArn}_instanceArn;_userHierarchyStructure;cfnPropertyNames={instanceArn:"InstanceArn",userHierarchyStructure:"UserHierarchyStructure"};constructor(scope,id,props){super(scope,id,{type:CfnUserHierarchyStructure.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnUserHierarchyStructureProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnUserHierarchyStructure),error}cdk().requireProperty(props,"instanceArn",this),this._instanceArn=props.instanceArn,this._userHierarchyStructure=props.userHierarchyStructure}get userHierarchyStructureRef(){return{userHierarchyStructureArn:this.ref}}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get userHierarchyStructure(){return this._userHierarchyStructure}set userHierarchyStructure(value){cdk().traceProperty(this.node,"UserHierarchyStructure"),this._userHierarchyStructure=value}get attrUserHierarchyStructureArn(){return cdk().Token.asString(this.getAtt("UserHierarchyStructureArn",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{instanceArn:this._instanceArn,userHierarchyStructure:this._userHierarchyStructure}}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",CfnUserHierarchyStructure.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnUserHierarchyStructurePropsToCloudFormation(props)}}exports.CfnUserHierarchyStructure=CfnUserHierarchyStructure;function CfnUserHierarchyStructureLevelOnePropertyValidator(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("hierarchyLevelArn",cdk().validateString)(properties.hierarchyLevelArn)),errors.collect(cdk().propertyValidator("hierarchyLevelId",cdk().validateString)(properties.hierarchyLevelId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "LevelOneProperty"')}function convertCfnUserHierarchyStructureLevelOnePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserHierarchyStructureLevelOnePropertyValidator(properties).assertSuccess(),{HierarchyLevelArn:cdk().stringToCloudFormation(properties.hierarchyLevelArn),HierarchyLevelId:cdk().stringToCloudFormation(properties.hierarchyLevelId),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnUserHierarchyStructureLevelOnePropertyFromCloudFormation(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("hierarchyLevelArn","HierarchyLevelArn",properties.HierarchyLevelArn!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyLevelArn):void 0),ret.addPropertyResult("hierarchyLevelId","HierarchyLevelId",properties.HierarchyLevelId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyLevelId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnUserHierarchyStructureLevelTwoPropertyValidator(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("hierarchyLevelArn",cdk().validateString)(properties.hierarchyLevelArn)),errors.collect(cdk().propertyValidator("hierarchyLevelId",cdk().validateString)(properties.hierarchyLevelId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "LevelTwoProperty"')}function convertCfnUserHierarchyStructureLevelTwoPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserHierarchyStructureLevelTwoPropertyValidator(properties).assertSuccess(),{HierarchyLevelArn:cdk().stringToCloudFormation(properties.hierarchyLevelArn),HierarchyLevelId:cdk().stringToCloudFormation(properties.hierarchyLevelId),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnUserHierarchyStructureLevelTwoPropertyFromCloudFormation(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("hierarchyLevelArn","HierarchyLevelArn",properties.HierarchyLevelArn!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyLevelArn):void 0),ret.addPropertyResult("hierarchyLevelId","HierarchyLevelId",properties.HierarchyLevelId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyLevelId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnUserHierarchyStructureLevelThreePropertyValidator(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("hierarchyLevelArn",cdk().validateString)(properties.hierarchyLevelArn)),errors.collect(cdk().propertyValidator("hierarchyLevelId",cdk().validateString)(properties.hierarchyLevelId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "LevelThreeProperty"')}function convertCfnUserHierarchyStructureLevelThreePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserHierarchyStructureLevelThreePropertyValidator(properties).assertSuccess(),{HierarchyLevelArn:cdk().stringToCloudFormation(properties.hierarchyLevelArn),HierarchyLevelId:cdk().stringToCloudFormation(properties.hierarchyLevelId),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnUserHierarchyStructureLevelThreePropertyFromCloudFormation(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("hierarchyLevelArn","HierarchyLevelArn",properties.HierarchyLevelArn!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyLevelArn):void 0),ret.addPropertyResult("hierarchyLevelId","HierarchyLevelId",properties.HierarchyLevelId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyLevelId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnUserHierarchyStructureLevelFourPropertyValidator(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("hierarchyLevelArn",cdk().validateString)(properties.hierarchyLevelArn)),errors.collect(cdk().propertyValidator("hierarchyLevelId",cdk().validateString)(properties.hierarchyLevelId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "LevelFourProperty"')}function convertCfnUserHierarchyStructureLevelFourPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserHierarchyStructureLevelFourPropertyValidator(properties).assertSuccess(),{HierarchyLevelArn:cdk().stringToCloudFormation(properties.hierarchyLevelArn),HierarchyLevelId:cdk().stringToCloudFormation(properties.hierarchyLevelId),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnUserHierarchyStructureLevelFourPropertyFromCloudFormation(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("hierarchyLevelArn","HierarchyLevelArn",properties.HierarchyLevelArn!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyLevelArn):void 0),ret.addPropertyResult("hierarchyLevelId","HierarchyLevelId",properties.HierarchyLevelId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyLevelId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnUserHierarchyStructureLevelFivePropertyValidator(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("hierarchyLevelArn",cdk().validateString)(properties.hierarchyLevelArn)),errors.collect(cdk().propertyValidator("hierarchyLevelId",cdk().validateString)(properties.hierarchyLevelId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.wrap('supplied properties not correct for "LevelFiveProperty"')}function convertCfnUserHierarchyStructureLevelFivePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserHierarchyStructureLevelFivePropertyValidator(properties).assertSuccess(),{HierarchyLevelArn:cdk().stringToCloudFormation(properties.hierarchyLevelArn),HierarchyLevelId:cdk().stringToCloudFormation(properties.hierarchyLevelId),Name:cdk().stringToCloudFormation(properties.name)}):properties}function CfnUserHierarchyStructureLevelFivePropertyFromCloudFormation(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("hierarchyLevelArn","HierarchyLevelArn",properties.HierarchyLevelArn!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyLevelArn):void 0),ret.addPropertyResult("hierarchyLevelId","HierarchyLevelId",properties.HierarchyLevelId!=null?cfn_parse().FromCloudFormation.getString(properties.HierarchyLevelId):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnUserHierarchyStructureUserHierarchyStructurePropertyValidator(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("levelFive",CfnUserHierarchyStructureLevelFivePropertyValidator)(properties.levelFive)),errors.collect(cdk().propertyValidator("levelFour",CfnUserHierarchyStructureLevelFourPropertyValidator)(properties.levelFour)),errors.collect(cdk().propertyValidator("levelOne",CfnUserHierarchyStructureLevelOnePropertyValidator)(properties.levelOne)),errors.collect(cdk().propertyValidator("levelThree",CfnUserHierarchyStructureLevelThreePropertyValidator)(properties.levelThree)),errors.collect(cdk().propertyValidator("levelTwo",CfnUserHierarchyStructureLevelTwoPropertyValidator)(properties.levelTwo)),errors.wrap('supplied properties not correct for "UserHierarchyStructureProperty"')}function convertCfnUserHierarchyStructureUserHierarchyStructurePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserHierarchyStructureUserHierarchyStructurePropertyValidator(properties).assertSuccess(),{LevelFive:convertCfnUserHierarchyStructureLevelFivePropertyToCloudFormation(properties.levelFive),LevelFour:convertCfnUserHierarchyStructureLevelFourPropertyToCloudFormation(properties.levelFour),LevelOne:convertCfnUserHierarchyStructureLevelOnePropertyToCloudFormation(properties.levelOne),LevelThree:convertCfnUserHierarchyStructureLevelThreePropertyToCloudFormation(properties.levelThree),LevelTwo:convertCfnUserHierarchyStructureLevelTwoPropertyToCloudFormation(properties.levelTwo)}):properties}function CfnUserHierarchyStructureUserHierarchyStructurePropertyFromCloudFormation(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("levelFive","LevelFive",properties.LevelFive!=null?CfnUserHierarchyStructureLevelFivePropertyFromCloudFormation(properties.LevelFive):void 0),ret.addPropertyResult("levelFour","LevelFour",properties.LevelFour!=null?CfnUserHierarchyStructureLevelFourPropertyFromCloudFormation(properties.LevelFour):void 0),ret.addPropertyResult("levelOne","LevelOne",properties.LevelOne!=null?CfnUserHierarchyStructureLevelOnePropertyFromCloudFormation(properties.LevelOne):void 0),ret.addPropertyResult("levelThree","LevelThree",properties.LevelThree!=null?CfnUserHierarchyStructureLevelThreePropertyFromCloudFormation(properties.LevelThree):void 0),ret.addPropertyResult("levelTwo","LevelTwo",properties.LevelTwo!=null?CfnUserHierarchyStructureLevelTwoPropertyFromCloudFormation(properties.LevelTwo):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnUserHierarchyStructurePropsValidator(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("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("userHierarchyStructure",CfnUserHierarchyStructureUserHierarchyStructurePropertyValidator)(properties.userHierarchyStructure)),errors.wrap('supplied properties not correct for "CfnUserHierarchyStructureProps"')}function convertCfnUserHierarchyStructurePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnUserHierarchyStructurePropsValidator(properties).assertSuccess(),{InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),UserHierarchyStructure:convertCfnUserHierarchyStructureUserHierarchyStructurePropertyToCloudFormation(properties.userHierarchyStructure)}):properties}function CfnUserHierarchyStructurePropsFromCloudFormation(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("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("userHierarchyStructure","UserHierarchyStructure",properties.UserHierarchyStructure!=null?CfnUserHierarchyStructureUserHierarchyStructurePropertyFromCloudFormation(properties.UserHierarchyStructure):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnWorkspace extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_connect.CfnWorkspace",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Connect::Workspace";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnWorkspacePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnWorkspace(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 isCfnWorkspace(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnWorkspace.CFN_RESOURCE_TYPE_NAME}static arnForWorkspace(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_connect_IWorkspaceRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForWorkspace),error}return resource.workspaceRef.workspaceArn}_associations;cdkTagManager;_description;_instanceArn;_media;_name;_pages;_tags;_theme;_title;_visibility;cfnPropertyNames={associations:"Associations",tags:"Tags",description:"Description",instanceArn:"InstanceArn",media:"Media",name:"Name",pages:"Pages",theme:"Theme",title:"Title",visibility:"Visibility"};constructor(scope,id,props){super(scope,id,{type:CfnWorkspace.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_connect_CfnWorkspaceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnWorkspace),error}cdk().requireProperty(props,"instanceArn",this),cdk().requireProperty(props,"name",this),this._associations=props.associations,this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Connect::Workspace",void 0,{tagPropertyName:"tags"}),this._description=props.description,this._instanceArn=props.instanceArn,this._media=props.media,this._name=props.name,this._pages=props.pages,this._tags=props.tags,this._theme=props.theme,this._title=props.title,this._visibility=props.visibility}get workspaceRef(){return{workspaceArn:this.ref}}get associations(){return this._associations}set associations(value){cdk().traceProperty(this.node,"Associations"),this._associations=value}get description(){return this._description}set description(value){cdk().traceProperty(this.node,"Description"),this._description=value}get instanceArn(){return this._instanceArn}set instanceArn(value){cdk().traceProperty(this.node,"InstanceArn"),this._instanceArn=value}get media(){return this._media}set media(value){cdk().traceProperty(this.node,"Media"),this._media=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get pages(){return this._pages}set pages(value){cdk().traceProperty(this.node,"Pages"),this._pages=value}get tags(){return this._tags}set tags(value){cdk().traceProperty(this.node,"Tags"),this._tags=value}get theme(){return this._theme}set theme(value){cdk().traceProperty(this.node,"Theme"),this._theme=value}get title(){return this._title}set title(value){cdk().traceProperty(this.node,"Title"),this._title=value}get visibility(){return this._visibility}set visibility(value){cdk().traceProperty(this.node,"Visibility"),this._visibility=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{associations:this._associations,tags:this.cdkTagManager.renderTags(this._tags),description:this._description,instanceArn:this._instanceArn,media:this._media,name:this._name,pages:this._pages,theme:this._theme,title:this._title,visibility:this._visibility}}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",CfnWorkspace.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnWorkspacePropsToCloudFormation(props)}}exports.CfnWorkspace=CfnWorkspace;function CfnWorkspacePaletteHeaderPropertyValidator(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("background",cdk().validateString)(properties.background)),errors.collect(cdk().propertyValidator("invertActionsColors",cdk().validateBoolean)(properties.invertActionsColors)),errors.collect(cdk().propertyValidator("text",cdk().validateString)(properties.text)),errors.collect(cdk().propertyValidator("textHover",cdk().validateString)(properties.textHover)),errors.wrap('supplied properties not correct for "PaletteHeaderProperty"')}function convertCfnWorkspacePaletteHeaderPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkspacePaletteHeaderPropertyValidator(properties).assertSuccess(),{Background:cdk().stringToCloudFormation(properties.background),InvertActionsColors:cdk().booleanToCloudFormation(properties.invertActionsColors),Text:cdk().stringToCloudFormation(properties.text),TextHover:cdk().stringToCloudFormation(properties.textHover)}):properties}function CfnWorkspacePaletteHeaderPropertyFromCloudFormation(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("background","Background",properties.Background!=null?cfn_parse().FromCloudFormation.getString(properties.Background):void 0),ret.addPropertyResult("invertActionsColors","InvertActionsColors",properties.InvertActionsColors!=null?cfn_parse().FromCloudFormation.getBoolean(properties.InvertActionsColors):void 0),ret.addPropertyResult("text","Text",properties.Text!=null?cfn_parse().FromCloudFormation.getString(properties.Text):void 0),ret.addPropertyResult("textHover","TextHover",properties.TextHover!=null?cfn_parse().FromCloudFormation.getString(properties.TextHover):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkspacePaletteNavigationPropertyValidator(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("background",cdk().validateString)(properties.background)),errors.collect(cdk().propertyValidator("invertActionsColors",cdk().validateBoolean)(properties.invertActionsColors)),errors.collect(cdk().propertyValidator("text",cdk().validateString)(properties.text)),errors.collect(cdk().propertyValidator("textActive",cdk().validateString)(properties.textActive)),errors.collect(cdk().propertyValidator("textBackgroundActive",cdk().validateString)(properties.textBackgroundActive)),errors.collect(cdk().propertyValidator("textBackgroundHover",cdk().validateString)(properties.textBackgroundHover)),errors.collect(cdk().propertyValidator("textHover",cdk().validateString)(properties.textHover)),errors.wrap('supplied properties not correct for "PaletteNavigationProperty"')}function convertCfnWorkspacePaletteNavigationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkspacePaletteNavigationPropertyValidator(properties).assertSuccess(),{Background:cdk().stringToCloudFormation(properties.background),InvertActionsColors:cdk().booleanToCloudFormation(properties.invertActionsColors),Text:cdk().stringToCloudFormation(properties.text),TextActive:cdk().stringToCloudFormation(properties.textActive),TextBackgroundActive:cdk().stringToCloudFormation(properties.textBackgroundActive),TextBackgroundHover:cdk().stringToCloudFormation(properties.textBackgroundHover),TextHover:cdk().stringToCloudFormation(properties.textHover)}):properties}function CfnWorkspacePaletteNavigationPropertyFromCloudFormation(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("background","Background",properties.Background!=null?cfn_parse().FromCloudFormation.getString(properties.Background):void 0),ret.addPropertyResult("invertActionsColors","InvertActionsColors",properties.InvertActionsColors!=null?cfn_parse().FromCloudFormation.getBoolean(properties.InvertActionsColors):void 0),ret.addPropertyResult("text","Text",properties.Text!=null?cfn_parse().FromCloudFormation.getString(properties.Text):void 0),ret.addPropertyResult("textActive","TextActive",properties.TextActive!=null?cfn_parse().FromCloudFormation.getString(properties.TextActive):void 0),ret.addPropertyResult("textBackgroundActive","TextBackgroundActive",properties.TextBackgroundActive!=null?cfn_parse().FromCloudFormation.getString(properties.TextBackgroundActive):void 0),ret.addPropertyResult("textBackgroundHover","TextBackgroundHover",properties.TextBackgroundHover!=null?cfn_parse().FromCloudFormation.getString(properties.TextBackgroundHover):void 0),ret.addPropertyResult("textHover","TextHover",properties.TextHover!=null?cfn_parse().FromCloudFormation.getString(properties.TextHover):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkspacePaletteCanvasPropertyValidator(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("activeBackground",cdk().validateString)(properties.activeBackground)),errors.collect(cdk().propertyValidator("containerBackground",cdk().validateString)(properties.containerBackground)),errors.collect(cdk().propertyValidator("pageBackground",cdk().validateString)(properties.pageBackground)),errors.wrap('supplied properties not correct for "PaletteCanvasProperty"')}function convertCfnWorkspacePaletteCanvasPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkspacePaletteCanvasPropertyValidator(properties).assertSuccess(),{ActiveBackground:cdk().stringToCloudFormation(properties.activeBackground),ContainerBackground:cdk().stringToCloudFormation(properties.containerBackground),PageBackground:cdk().stringToCloudFormation(properties.pageBackground)}):properties}function CfnWorkspacePaletteCanvasPropertyFromCloudFormation(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("activeBackground","ActiveBackground",properties.ActiveBackground!=null?cfn_parse().FromCloudFormation.getString(properties.ActiveBackground):void 0),ret.addPropertyResult("containerBackground","ContainerBackground",properties.ContainerBackground!=null?cfn_parse().FromCloudFormation.getString(properties.ContainerBackground):void 0),ret.addPropertyResult("pageBackground","PageBackground",properties.PageBackground!=null?cfn_parse().FromCloudFormation.getString(properties.PageBackground):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkspacePalettePrimaryPropertyValidator(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("active",cdk().validateString)(properties.active)),errors.collect(cdk().propertyValidator("contrastText",cdk().validateString)(properties.contrastText)),errors.collect(cdk().propertyValidator("default",cdk().validateString)(properties.default)),errors.wrap('supplied properties not correct for "PalettePrimaryProperty"')}function convertCfnWorkspacePalettePrimaryPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkspacePalettePrimaryPropertyValidator(properties).assertSuccess(),{Active:cdk().stringToCloudFormation(properties.active),ContrastText:cdk().stringToCloudFormation(properties.contrastText),Default:cdk().stringToCloudFormation(properties.default)}):properties}function CfnWorkspacePalettePrimaryPropertyFromCloudFormation(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("active","Active",properties.Active!=null?cfn_parse().FromCloudFormation.getString(properties.Active):void 0),ret.addPropertyResult("contrastText","ContrastText",properties.ContrastText!=null?cfn_parse().FromCloudFormation.getString(properties.ContrastText):void 0),ret.addPropertyResult("default","Default",properties.Default!=null?cfn_parse().FromCloudFormation.getString(properties.Default):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkspaceWorkspaceThemePalettePropertyValidator(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("canvas",CfnWorkspacePaletteCanvasPropertyValidator)(properties.canvas)),errors.collect(cdk().propertyValidator("header",CfnWorkspacePaletteHeaderPropertyValidator)(properties.header)),errors.collect(cdk().propertyValidator("navigation",CfnWorkspacePaletteNavigationPropertyValidator)(properties.navigation)),errors.collect(cdk().propertyValidator("primary",CfnWorkspacePalettePrimaryPropertyValidator)(properties.primary)),errors.wrap('supplied properties not correct for "WorkspaceThemePaletteProperty"')}function convertCfnWorkspaceWorkspaceThemePalettePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkspaceWorkspaceThemePalettePropertyValidator(properties).assertSuccess(),{Canvas:convertCfnWorkspacePaletteCanvasPropertyToCloudFormation(properties.canvas),Header:convertCfnWorkspacePaletteHeaderPropertyToCloudFormation(properties.header),Navigation:convertCfnWorkspacePaletteNavigationPropertyToCloudFormation(properties.navigation),Primary:convertCfnWorkspacePalettePrimaryPropertyToCloudFormation(properties.primary)}):properties}function CfnWorkspaceWorkspaceThemePalettePropertyFromCloudFormation(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("canvas","Canvas",properties.Canvas!=null?CfnWorkspacePaletteCanvasPropertyFromCloudFormation(properties.Canvas):void 0),ret.addPropertyResult("header","Header",properties.Header!=null?CfnWorkspacePaletteHeaderPropertyFromCloudFormation(properties.Header):void 0),ret.addPropertyResult("navigation","Navigation",properties.Navigation!=null?CfnWorkspacePaletteNavigationPropertyFromCloudFormation(properties.Navigation):void 0),ret.addPropertyResult("primary","Primary",properties.Primary!=null?CfnWorkspacePalettePrimaryPropertyFromCloudFormation(properties.Primary):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkspaceFontFamilyPropertyValidator(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("default",cdk().validateString)(properties.default)),errors.wrap('supplied properties not correct for "FontFamilyProperty"')}function convertCfnWorkspaceFontFamilyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkspaceFontFamilyPropertyValidator(properties).assertSuccess(),{Default:cdk().stringToCloudFormation(properties.default)}):properties}function CfnWorkspaceFontFamilyPropertyFromCloudFormation(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("default","Default",properties.Default!=null?cfn_parse().FromCloudFormation.getString(properties.Default):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkspaceWorkspaceThemeTypographyPropertyValidator(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("fontFamily",CfnWorkspaceFontFamilyPropertyValidator)(properties.fontFamily)),errors.wrap('supplied properties not correct for "WorkspaceThemeTypographyProperty"')}function convertCfnWorkspaceWorkspaceThemeTypographyPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkspaceWorkspaceThemeTypographyPropertyValidator(properties).assertSuccess(),{FontFamily:convertCfnWorkspaceFontFamilyPropertyToCloudFormation(properties.fontFamily)}):properties}function CfnWorkspaceWorkspaceThemeTypographyPropertyFromCloudFormation(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("fontFamily","FontFamily",properties.FontFamily!=null?CfnWorkspaceFontFamilyPropertyFromCloudFormation(properties.FontFamily):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkspaceWorkspaceThemeConfigPropertyValidator(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("palette",CfnWorkspaceWorkspaceThemePalettePropertyValidator)(properties.palette)),errors.collect(cdk().propertyValidator("typography",CfnWorkspaceWorkspaceThemeTypographyPropertyValidator)(properties.typography)),errors.wrap('supplied properties not correct for "WorkspaceThemeConfigProperty"')}function convertCfnWorkspaceWorkspaceThemeConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkspaceWorkspaceThemeConfigPropertyValidator(properties).assertSuccess(),{Palette:convertCfnWorkspaceWorkspaceThemePalettePropertyToCloudFormation(properties.palette),Typography:convertCfnWorkspaceWorkspaceThemeTypographyPropertyToCloudFormation(properties.typography)}):properties}function CfnWorkspaceWorkspaceThemeConfigPropertyFromCloudFormation(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("palette","Palette",properties.Palette!=null?CfnWorkspaceWorkspaceThemePalettePropertyFromCloudFormation(properties.Palette):void 0),ret.addPropertyResult("typography","Typography",properties.Typography!=null?CfnWorkspaceWorkspaceThemeTypographyPropertyFromCloudFormation(properties.Typography):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkspaceWorkspaceThemePropertyValidator(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("dark",CfnWorkspaceWorkspaceThemeConfigPropertyValidator)(properties.dark)),errors.collect(cdk().propertyValidator("light",CfnWorkspaceWorkspaceThemeConfigPropertyValidator)(properties.light)),errors.wrap('supplied properties not correct for "WorkspaceThemeProperty"')}function convertCfnWorkspaceWorkspaceThemePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkspaceWorkspaceThemePropertyValidator(properties).assertSuccess(),{Dark:convertCfnWorkspaceWorkspaceThemeConfigPropertyToCloudFormation(properties.dark),Light:convertCfnWorkspaceWorkspaceThemeConfigPropertyToCloudFormation(properties.light)}):properties}function CfnWorkspaceWorkspaceThemePropertyFromCloudFormation(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("dark","Dark",properties.Dark!=null?CfnWorkspaceWorkspaceThemeConfigPropertyFromCloudFormation(properties.Dark):void 0),ret.addPropertyResult("light","Light",properties.Light!=null?CfnWorkspaceWorkspaceThemeConfigPropertyFromCloudFormation(properties.Light):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkspaceMediaItemPropertyValidator(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("source",cdk().validateString)(properties.source)),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 "MediaItemProperty"')}function convertCfnWorkspaceMediaItemPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkspaceMediaItemPropertyValidator(properties).assertSuccess(),{Source:cdk().stringToCloudFormation(properties.source),Type:cdk().stringToCloudFormation(properties.type)}):properties}function CfnWorkspaceMediaItemPropertyFromCloudFormation(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("source","Source",properties.Source!=null?cfn_parse().FromCloudFormation.getString(properties.Source):void 0),ret.addPropertyResult("type","Type",properties.Type!=null?cfn_parse().FromCloudFormation.getString(properties.Type):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkspaceWorkspacePagePropertyValidator(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("inputData",cdk().validateString)(properties.inputData)),errors.collect(cdk().propertyValidator("page",cdk().requiredValidator)(properties.page)),errors.collect(cdk().propertyValidator("page",cdk().validateString)(properties.page)),errors.collect(cdk().propertyValidator("resourceArn",cdk().requiredValidator)(properties.resourceArn)),errors.collect(cdk().propertyValidator("resourceArn",cdk().validateString)(properties.resourceArn)),errors.collect(cdk().propertyValidator("slug",cdk().validateString)(properties.slug)),errors.wrap('supplied properties not correct for "WorkspacePageProperty"')}function convertCfnWorkspaceWorkspacePagePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkspaceWorkspacePagePropertyValidator(properties).assertSuccess(),{InputData:cdk().stringToCloudFormation(properties.inputData),Page:cdk().stringToCloudFormation(properties.page),ResourceArn:cdk().stringToCloudFormation(properties.resourceArn),Slug:cdk().stringToCloudFormation(properties.slug)}):properties}function CfnWorkspaceWorkspacePagePropertyFromCloudFormation(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("inputData","InputData",properties.InputData!=null?cfn_parse().FromCloudFormation.getString(properties.InputData):void 0),ret.addPropertyResult("page","Page",properties.Page!=null?cfn_parse().FromCloudFormation.getString(properties.Page):void 0),ret.addPropertyResult("resourceArn","ResourceArn",properties.ResourceArn!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceArn):void 0),ret.addPropertyResult("slug","Slug",properties.Slug!=null?cfn_parse().FromCloudFormation.getString(properties.Slug):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnWorkspacePropsValidator(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("associations",cdk().listValidator(cdk().validateString))(properties.associations)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("instanceArn",cdk().requiredValidator)(properties.instanceArn)),errors.collect(cdk().propertyValidator("instanceArn",cdk().validateString)(properties.instanceArn)),errors.collect(cdk().propertyValidator("media",cdk().listValidator(CfnWorkspaceMediaItemPropertyValidator))(properties.media)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("pages",cdk().listValidator(CfnWorkspaceWorkspacePagePropertyValidator))(properties.pages)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("theme",CfnWorkspaceWorkspaceThemePropertyValidator)(properties.theme)),errors.collect(cdk().propertyValidator("title",cdk().validateString)(properties.title)),errors.collect(cdk().propertyValidator("visibility",cdk().validateString)(properties.visibility)),errors.wrap('supplied properties not correct for "CfnWorkspaceProps"')}function convertCfnWorkspacePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnWorkspacePropsValidator(properties).assertSuccess(),{Associations:cdk().listMapper(cdk().stringToCloudFormation)(properties.associations),Description:cdk().stringToCloudFormation(properties.description),InstanceArn:cdk().stringToCloudFormation(properties.instanceArn),Media:cdk().listMapper(convertCfnWorkspaceMediaItemPropertyToCloudFormation)(properties.media),Name:cdk().stringToCloudFormation(properties.name),Pages:cdk().listMapper(convertCfnWorkspaceWorkspacePagePropertyToCloudFormation)(properties.pages),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),Theme:convertCfnWorkspaceWorkspaceThemePropertyToCloudFormation(properties.theme),Title:cdk().stringToCloudFormation(properties.title),Visibility:cdk().stringToCloudFormation(properties.visibility)}):properties}function CfnWorkspacePropsFromCloudFormation(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("associations","Associations",properties.Associations!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Associations):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("instanceArn","InstanceArn",properties.InstanceArn!=null?cfn_parse().FromCloudFormation.getString(properties.InstanceArn):void 0),ret.addPropertyResult("media","Media",properties.Media!=null?cfn_parse().FromCloudFormation.getArray(CfnWorkspaceMediaItemPropertyFromCloudFormation)(properties.Media):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("pages","Pages",properties.Pages!=null?cfn_parse().FromCloudFormation.getArray(CfnWorkspaceWorkspacePagePropertyFromCloudFormation)(properties.Pages):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("theme","Theme",properties.Theme!=null?CfnWorkspaceWorkspaceThemePropertyFromCloudFormation(properties.Theme):void 0),ret.addPropertyResult("title","Title",properties.Title!=null?cfn_parse().FromCloudFormation.getString(properties.Title):void 0),ret.addPropertyResult("visibility","Visibility",properties.Visibility!=null?cfn_parse().FromCloudFormation.getString(properties.Visibility):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}