UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1 lines 78.8 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnSenderId=exports.CfnResourcePolicy=exports.CfnProtectConfiguration=exports.CfnPool=exports.CfnPhoneNumber=exports.CfnOptOutList=exports.CfnConfigurationSet=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 CfnConfigurationSet extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_smsvoice.CfnConfigurationSet",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SMSVOICE::ConfigurationSet";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnConfigurationSetPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnConfigurationSet(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 isCfnConfigurationSet(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnConfigurationSet.CFN_RESOURCE_TYPE_NAME}static fromConfigurationSetArn(scope,id,arn){class Import extends cdk().Resource{configurationSetRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:sms-voice:${Region}:${Account}:configuration-set/${ConfigurationSetName}").parse(arn2);this.configurationSetRef={configurationSetName:variables.ConfigurationSetName,configurationSetArn:arn2}}}return new Import(scope,id,arn)}static fromConfigurationSetName(scope,id,configurationSetName){class Import extends cdk().Resource{configurationSetRef;constructor(scope2,id2,configurationSetName2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:sms-voice:${Region}:${Account}:configuration-set/${ConfigurationSetName}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,ConfigurationSetName:configurationSetName2});super(scope2,id2,{environmentFromArn:arn}),this.configurationSetRef={configurationSetName:configurationSetName2,configurationSetArn:arn}}}return new Import(scope,id,configurationSetName)}static arnForConfigurationSet(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_smsvoice_IConfigurationSetRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForConfigurationSet),error}return resource.configurationSetRef.configurationSetArn}attrArn;cdkTagManager;configurationSetName;defaultSenderId;eventDestinations;messageFeedbackEnabled;protectConfigurationId;tags;constructor(scope,id,props={}){super(scope,id,{type:CfnConfigurationSet.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_smsvoice_CfnConfigurationSetProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnConfigurationSet),error}this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::SMSVOICE::ConfigurationSet",void 0,{tagPropertyName:"tags"}),this.configurationSetName=props.configurationSetName,this.defaultSenderId=props.defaultSenderId,this.eventDestinations=props.eventDestinations,this.messageFeedbackEnabled=props.messageFeedbackEnabled,this.protectConfigurationId=props.protectConfigurationId,this.tags=props.tags}get configurationSetRef(){return{configurationSetName:this.ref,configurationSetArn:this.attrArn}}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this.tags),configurationSetName:this.configurationSetName,defaultSenderId:this.defaultSenderId,eventDestinations:this.eventDestinations,messageFeedbackEnabled:this.messageFeedbackEnabled,protectConfigurationId:this.protectConfigurationId}}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",CfnConfigurationSet.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnConfigurationSetPropsToCloudFormation(props)}}exports.CfnConfigurationSet=CfnConfigurationSet;function CfnConfigurationSetCloudWatchLogsDestinationPropertyValidator(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("iamRoleArn",cdk().requiredValidator)(properties.iamRoleArn)),errors.collect(cdk().propertyValidator("iamRoleArn",cdk().validateString)(properties.iamRoleArn)),errors.collect(cdk().propertyValidator("logGroupArn",cdk().requiredValidator)(properties.logGroupArn)),errors.collect(cdk().propertyValidator("logGroupArn",cdk().validateString)(properties.logGroupArn)),errors.wrap('supplied properties not correct for "CloudWatchLogsDestinationProperty"')}function convertCfnConfigurationSetCloudWatchLogsDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConfigurationSetCloudWatchLogsDestinationPropertyValidator(properties).assertSuccess(),{IamRoleArn:cdk().stringToCloudFormation(properties.iamRoleArn),LogGroupArn:cdk().stringToCloudFormation(properties.logGroupArn)}):properties}function CfnConfigurationSetCloudWatchLogsDestinationPropertyFromCloudFormation(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("iamRoleArn","IamRoleArn",properties.IamRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.IamRoleArn):void 0),ret.addPropertyResult("logGroupArn","LogGroupArn",properties.LogGroupArn!=null?cfn_parse().FromCloudFormation.getString(properties.LogGroupArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConfigurationSetKinesisFirehoseDestinationPropertyValidator(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("deliveryStreamArn",cdk().requiredValidator)(properties.deliveryStreamArn)),errors.collect(cdk().propertyValidator("deliveryStreamArn",cdk().validateString)(properties.deliveryStreamArn)),errors.collect(cdk().propertyValidator("iamRoleArn",cdk().requiredValidator)(properties.iamRoleArn)),errors.collect(cdk().propertyValidator("iamRoleArn",cdk().validateString)(properties.iamRoleArn)),errors.wrap('supplied properties not correct for "KinesisFirehoseDestinationProperty"')}function convertCfnConfigurationSetKinesisFirehoseDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConfigurationSetKinesisFirehoseDestinationPropertyValidator(properties).assertSuccess(),{DeliveryStreamArn:cdk().stringToCloudFormation(properties.deliveryStreamArn),IamRoleArn:cdk().stringToCloudFormation(properties.iamRoleArn)}):properties}function CfnConfigurationSetKinesisFirehoseDestinationPropertyFromCloudFormation(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("deliveryStreamArn","DeliveryStreamArn",properties.DeliveryStreamArn!=null?cfn_parse().FromCloudFormation.getString(properties.DeliveryStreamArn):void 0),ret.addPropertyResult("iamRoleArn","IamRoleArn",properties.IamRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.IamRoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConfigurationSetSnsDestinationPropertyValidator(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("topicArn",cdk().requiredValidator)(properties.topicArn)),errors.collect(cdk().propertyValidator("topicArn",cdk().validateString)(properties.topicArn)),errors.wrap('supplied properties not correct for "SnsDestinationProperty"')}function convertCfnConfigurationSetSnsDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConfigurationSetSnsDestinationPropertyValidator(properties).assertSuccess(),{TopicArn:cdk().stringToCloudFormation(properties.topicArn)}):properties}function CfnConfigurationSetSnsDestinationPropertyFromCloudFormation(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("topicArn","TopicArn",properties.TopicArn!=null?cfn_parse().FromCloudFormation.getString(properties.TopicArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConfigurationSetEventDestinationPropertyValidator(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("cloudWatchLogsDestination",CfnConfigurationSetCloudWatchLogsDestinationPropertyValidator)(properties.cloudWatchLogsDestination)),errors.collect(cdk().propertyValidator("enabled",cdk().requiredValidator)(properties.enabled)),errors.collect(cdk().propertyValidator("enabled",cdk().validateBoolean)(properties.enabled)),errors.collect(cdk().propertyValidator("eventDestinationName",cdk().requiredValidator)(properties.eventDestinationName)),errors.collect(cdk().propertyValidator("eventDestinationName",cdk().validateString)(properties.eventDestinationName)),errors.collect(cdk().propertyValidator("kinesisFirehoseDestination",CfnConfigurationSetKinesisFirehoseDestinationPropertyValidator)(properties.kinesisFirehoseDestination)),errors.collect(cdk().propertyValidator("matchingEventTypes",cdk().requiredValidator)(properties.matchingEventTypes)),errors.collect(cdk().propertyValidator("matchingEventTypes",cdk().listValidator(cdk().validateString))(properties.matchingEventTypes)),errors.collect(cdk().propertyValidator("snsDestination",CfnConfigurationSetSnsDestinationPropertyValidator)(properties.snsDestination)),errors.wrap('supplied properties not correct for "EventDestinationProperty"')}function convertCfnConfigurationSetEventDestinationPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConfigurationSetEventDestinationPropertyValidator(properties).assertSuccess(),{CloudWatchLogsDestination:convertCfnConfigurationSetCloudWatchLogsDestinationPropertyToCloudFormation(properties.cloudWatchLogsDestination),Enabled:cdk().booleanToCloudFormation(properties.enabled),EventDestinationName:cdk().stringToCloudFormation(properties.eventDestinationName),KinesisFirehoseDestination:convertCfnConfigurationSetKinesisFirehoseDestinationPropertyToCloudFormation(properties.kinesisFirehoseDestination),MatchingEventTypes:cdk().listMapper(cdk().stringToCloudFormation)(properties.matchingEventTypes),SnsDestination:convertCfnConfigurationSetSnsDestinationPropertyToCloudFormation(properties.snsDestination)}):properties}function CfnConfigurationSetEventDestinationPropertyFromCloudFormation(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("cloudWatchLogsDestination","CloudWatchLogsDestination",properties.CloudWatchLogsDestination!=null?CfnConfigurationSetCloudWatchLogsDestinationPropertyFromCloudFormation(properties.CloudWatchLogsDestination):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addPropertyResult("eventDestinationName","EventDestinationName",properties.EventDestinationName!=null?cfn_parse().FromCloudFormation.getString(properties.EventDestinationName):void 0),ret.addPropertyResult("kinesisFirehoseDestination","KinesisFirehoseDestination",properties.KinesisFirehoseDestination!=null?CfnConfigurationSetKinesisFirehoseDestinationPropertyFromCloudFormation(properties.KinesisFirehoseDestination):void 0),ret.addPropertyResult("matchingEventTypes","MatchingEventTypes",properties.MatchingEventTypes!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.MatchingEventTypes):void 0),ret.addPropertyResult("snsDestination","SnsDestination",properties.SnsDestination!=null?CfnConfigurationSetSnsDestinationPropertyFromCloudFormation(properties.SnsDestination):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnConfigurationSetPropsValidator(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("configurationSetName",cdk().validateString)(properties.configurationSetName)),errors.collect(cdk().propertyValidator("defaultSenderId",cdk().validateString)(properties.defaultSenderId)),errors.collect(cdk().propertyValidator("eventDestinations",cdk().listValidator(CfnConfigurationSetEventDestinationPropertyValidator))(properties.eventDestinations)),errors.collect(cdk().propertyValidator("messageFeedbackEnabled",cdk().validateBoolean)(properties.messageFeedbackEnabled)),errors.collect(cdk().propertyValidator("protectConfigurationId",cdk().validateString)(properties.protectConfigurationId)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnConfigurationSetProps"')}function convertCfnConfigurationSetPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnConfigurationSetPropsValidator(properties).assertSuccess(),{ConfigurationSetName:cdk().stringToCloudFormation(properties.configurationSetName),DefaultSenderId:cdk().stringToCloudFormation(properties.defaultSenderId),EventDestinations:cdk().listMapper(convertCfnConfigurationSetEventDestinationPropertyToCloudFormation)(properties.eventDestinations),MessageFeedbackEnabled:cdk().booleanToCloudFormation(properties.messageFeedbackEnabled),ProtectConfigurationId:cdk().stringToCloudFormation(properties.protectConfigurationId),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnConfigurationSetPropsFromCloudFormation(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("configurationSetName","ConfigurationSetName",properties.ConfigurationSetName!=null?cfn_parse().FromCloudFormation.getString(properties.ConfigurationSetName):void 0),ret.addPropertyResult("defaultSenderId","DefaultSenderId",properties.DefaultSenderId!=null?cfn_parse().FromCloudFormation.getString(properties.DefaultSenderId):void 0),ret.addPropertyResult("eventDestinations","EventDestinations",properties.EventDestinations!=null?cfn_parse().FromCloudFormation.getArray(CfnConfigurationSetEventDestinationPropertyFromCloudFormation)(properties.EventDestinations):void 0),ret.addPropertyResult("messageFeedbackEnabled","MessageFeedbackEnabled",properties.MessageFeedbackEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.MessageFeedbackEnabled):void 0),ret.addPropertyResult("protectConfigurationId","ProtectConfigurationId",properties.ProtectConfigurationId!=null?cfn_parse().FromCloudFormation.getString(properties.ProtectConfigurationId):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 CfnOptOutList extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_smsvoice.CfnOptOutList",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SMSVOICE::OptOutList";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnOptOutListPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnOptOutList(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 isCfnOptOutList(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnOptOutList.CFN_RESOURCE_TYPE_NAME}static fromOptOutListArn(scope,id,arn){class Import extends cdk().Resource{optOutListRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:sms-voice:${Region}:${Account}:opt-out-list/${OptOutListName}").parse(arn2);this.optOutListRef={optOutListName:variables.OptOutListName,optOutListArn:arn2}}}return new Import(scope,id,arn)}static fromOptOutListName(scope,id,optOutListName){class Import extends cdk().Resource{optOutListRef;constructor(scope2,id2,optOutListName2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:sms-voice:${Region}:${Account}:opt-out-list/${OptOutListName}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,OptOutListName:optOutListName2});super(scope2,id2,{environmentFromArn:arn}),this.optOutListRef={optOutListName:optOutListName2,optOutListArn:arn}}}return new Import(scope,id,optOutListName)}static arnForOptOutList(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_smsvoice_IOptOutListRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForOptOutList),error}return resource.optOutListRef.optOutListArn}attrArn;cdkTagManager;optOutListName;tags;constructor(scope,id,props={}){super(scope,id,{type:CfnOptOutList.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_smsvoice_CfnOptOutListProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnOptOutList),error}this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::SMSVOICE::OptOutList",void 0,{tagPropertyName:"tags"}),this.optOutListName=props.optOutListName,this.tags=props.tags}get optOutListRef(){return{optOutListName:this.ref,optOutListArn:this.attrArn}}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this.tags),optOutListName:this.optOutListName}}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",CfnOptOutList.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnOptOutListPropsToCloudFormation(props)}}exports.CfnOptOutList=CfnOptOutList;function CfnOptOutListPropsValidator(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("optOutListName",cdk().validateString)(properties.optOutListName)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnOptOutListProps"')}function convertCfnOptOutListPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnOptOutListPropsValidator(properties).assertSuccess(),{OptOutListName:cdk().stringToCloudFormation(properties.optOutListName),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnOptOutListPropsFromCloudFormation(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("optOutListName","OptOutListName",properties.OptOutListName!=null?cfn_parse().FromCloudFormation.getString(properties.OptOutListName):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 CfnPhoneNumber extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_smsvoice.CfnPhoneNumber",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SMSVOICE::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("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 fromPhoneNumberArn(scope,id,arn){class Import extends cdk().Resource{phoneNumberRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:sms-voice:${Region}:${Account}:phone-number/${PhoneNumberId}").parse(arn2);this.phoneNumberRef={phoneNumberId:variables.PhoneNumberId,phoneNumberArn:arn2}}}return new Import(scope,id,arn)}static fromPhoneNumberId(scope,id,phoneNumberId){class Import extends cdk().Resource{phoneNumberRef;constructor(scope2,id2,phoneNumberId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:sms-voice:${Region}:${Account}:phone-number/${PhoneNumberId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,PhoneNumberId:phoneNumberId2});super(scope2,id2,{environmentFromArn:arn}),this.phoneNumberRef={phoneNumberId:phoneNumberId2,phoneNumberArn:arn}}}return new Import(scope,id,phoneNumberId)}static arnForPhoneNumber(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_smsvoice_IPhoneNumberRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForPhoneNumber),error}return resource.phoneNumberRef.phoneNumberArn}attrArn;attrPhoneNumber;attrPhoneNumberId;cdkTagManager;deletionProtectionEnabled;isoCountryCode;mandatoryKeywords;numberCapabilities;numberType;optionalKeywords;optOutListName;selfManagedOptOutsEnabled;tags;twoWay;constructor(scope,id,props){super(scope,id,{type:CfnPhoneNumber.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_smsvoice_CfnPhoneNumberProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPhoneNumber),error}cdk().requireProperty(props,"isoCountryCode",this),cdk().requireProperty(props,"mandatoryKeywords",this),cdk().requireProperty(props,"numberCapabilities",this),cdk().requireProperty(props,"numberType",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrPhoneNumber=cdk().Token.asString(this.getAtt("PhoneNumber",cdk().ResolutionTypeHint.STRING)),this.attrPhoneNumberId=cdk().Token.asString(this.getAtt("PhoneNumberId",cdk().ResolutionTypeHint.STRING)),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::SMSVOICE::PhoneNumber",void 0,{tagPropertyName:"tags"}),this.deletionProtectionEnabled=props.deletionProtectionEnabled,this.isoCountryCode=props.isoCountryCode,this.mandatoryKeywords=props.mandatoryKeywords,this.numberCapabilities=props.numberCapabilities,this.numberType=props.numberType,this.optionalKeywords=props.optionalKeywords,this.optOutListName=props.optOutListName,this.selfManagedOptOutsEnabled=props.selfManagedOptOutsEnabled,this.tags=props.tags,this.twoWay=props.twoWay}get phoneNumberRef(){return{phoneNumberId:this.ref,phoneNumberArn:this.attrArn}}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this.tags),deletionProtectionEnabled:this.deletionProtectionEnabled,isoCountryCode:this.isoCountryCode,mandatoryKeywords:this.mandatoryKeywords,numberCapabilities:this.numberCapabilities,numberType:this.numberType,optionalKeywords:this.optionalKeywords,optOutListName:this.optOutListName,selfManagedOptOutsEnabled:this.selfManagedOptOutsEnabled,twoWay:this.twoWay}}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:props",this.cfnProperties)}renderProperties(props){return convertCfnPhoneNumberPropsToCloudFormation(props)}}exports.CfnPhoneNumber=CfnPhoneNumber;function CfnPhoneNumberMandatoryKeywordPropertyValidator(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("message",cdk().requiredValidator)(properties.message)),errors.collect(cdk().propertyValidator("message",cdk().validateString)(properties.message)),errors.wrap('supplied properties not correct for "MandatoryKeywordProperty"')}function convertCfnPhoneNumberMandatoryKeywordPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPhoneNumberMandatoryKeywordPropertyValidator(properties).assertSuccess(),{Message:cdk().stringToCloudFormation(properties.message)}):properties}function CfnPhoneNumberMandatoryKeywordPropertyFromCloudFormation(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("message","Message",properties.Message!=null?cfn_parse().FromCloudFormation.getString(properties.Message):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPhoneNumberMandatoryKeywordsPropertyValidator(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("help",cdk().requiredValidator)(properties.help)),errors.collect(cdk().propertyValidator("help",CfnPhoneNumberMandatoryKeywordPropertyValidator)(properties.help)),errors.collect(cdk().propertyValidator("stop",cdk().requiredValidator)(properties.stop)),errors.collect(cdk().propertyValidator("stop",CfnPhoneNumberMandatoryKeywordPropertyValidator)(properties.stop)),errors.wrap('supplied properties not correct for "MandatoryKeywordsProperty"')}function convertCfnPhoneNumberMandatoryKeywordsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPhoneNumberMandatoryKeywordsPropertyValidator(properties).assertSuccess(),{HELP:convertCfnPhoneNumberMandatoryKeywordPropertyToCloudFormation(properties.help),STOP:convertCfnPhoneNumberMandatoryKeywordPropertyToCloudFormation(properties.stop)}):properties}function CfnPhoneNumberMandatoryKeywordsPropertyFromCloudFormation(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("help","HELP",properties.HELP!=null?CfnPhoneNumberMandatoryKeywordPropertyFromCloudFormation(properties.HELP):void 0),ret.addPropertyResult("stop","STOP",properties.STOP!=null?CfnPhoneNumberMandatoryKeywordPropertyFromCloudFormation(properties.STOP):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPhoneNumberOptionalKeywordPropertyValidator(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("keyword",cdk().requiredValidator)(properties.keyword)),errors.collect(cdk().propertyValidator("keyword",cdk().validateString)(properties.keyword)),errors.collect(cdk().propertyValidator("message",cdk().requiredValidator)(properties.message)),errors.collect(cdk().propertyValidator("message",cdk().validateString)(properties.message)),errors.wrap('supplied properties not correct for "OptionalKeywordProperty"')}function convertCfnPhoneNumberOptionalKeywordPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPhoneNumberOptionalKeywordPropertyValidator(properties).assertSuccess(),{Action:cdk().stringToCloudFormation(properties.action),Keyword:cdk().stringToCloudFormation(properties.keyword),Message:cdk().stringToCloudFormation(properties.message)}):properties}function CfnPhoneNumberOptionalKeywordPropertyFromCloudFormation(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("keyword","Keyword",properties.Keyword!=null?cfn_parse().FromCloudFormation.getString(properties.Keyword):void 0),ret.addPropertyResult("message","Message",properties.Message!=null?cfn_parse().FromCloudFormation.getString(properties.Message):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPhoneNumberTwoWayPropertyValidator(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("channelArn",cdk().validateString)(properties.channelArn)),errors.collect(cdk().propertyValidator("channelRole",cdk().validateString)(properties.channelRole)),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 "TwoWayProperty"')}function convertCfnPhoneNumberTwoWayPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPhoneNumberTwoWayPropertyValidator(properties).assertSuccess(),{ChannelArn:cdk().stringToCloudFormation(properties.channelArn),ChannelRole:cdk().stringToCloudFormation(properties.channelRole),Enabled:cdk().booleanToCloudFormation(properties.enabled)}):properties}function CfnPhoneNumberTwoWayPropertyFromCloudFormation(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("channelArn","ChannelArn",properties.ChannelArn!=null?cfn_parse().FromCloudFormation.getString(properties.ChannelArn):void 0),ret.addPropertyResult("channelRole","ChannelRole",properties.ChannelRole!=null?cfn_parse().FromCloudFormation.getString(properties.ChannelRole):void 0),ret.addPropertyResult("enabled","Enabled",properties.Enabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.Enabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}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("deletionProtectionEnabled",cdk().validateBoolean)(properties.deletionProtectionEnabled)),errors.collect(cdk().propertyValidator("isoCountryCode",cdk().requiredValidator)(properties.isoCountryCode)),errors.collect(cdk().propertyValidator("isoCountryCode",cdk().validateString)(properties.isoCountryCode)),errors.collect(cdk().propertyValidator("mandatoryKeywords",cdk().requiredValidator)(properties.mandatoryKeywords)),errors.collect(cdk().propertyValidator("mandatoryKeywords",CfnPhoneNumberMandatoryKeywordsPropertyValidator)(properties.mandatoryKeywords)),errors.collect(cdk().propertyValidator("numberCapabilities",cdk().requiredValidator)(properties.numberCapabilities)),errors.collect(cdk().propertyValidator("numberCapabilities",cdk().listValidator(cdk().validateString))(properties.numberCapabilities)),errors.collect(cdk().propertyValidator("numberType",cdk().requiredValidator)(properties.numberType)),errors.collect(cdk().propertyValidator("numberType",cdk().validateString)(properties.numberType)),errors.collect(cdk().propertyValidator("optOutListName",cdk().validateString)(properties.optOutListName)),errors.collect(cdk().propertyValidator("optionalKeywords",cdk().listValidator(CfnPhoneNumberOptionalKeywordPropertyValidator))(properties.optionalKeywords)),errors.collect(cdk().propertyValidator("selfManagedOptOutsEnabled",cdk().validateBoolean)(properties.selfManagedOptOutsEnabled)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("twoWay",CfnPhoneNumberTwoWayPropertyValidator)(properties.twoWay)),errors.wrap('supplied properties not correct for "CfnPhoneNumberProps"')}function convertCfnPhoneNumberPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPhoneNumberPropsValidator(properties).assertSuccess(),{DeletionProtectionEnabled:cdk().booleanToCloudFormation(properties.deletionProtectionEnabled),IsoCountryCode:cdk().stringToCloudFormation(properties.isoCountryCode),MandatoryKeywords:convertCfnPhoneNumberMandatoryKeywordsPropertyToCloudFormation(properties.mandatoryKeywords),NumberCapabilities:cdk().listMapper(cdk().stringToCloudFormation)(properties.numberCapabilities),NumberType:cdk().stringToCloudFormation(properties.numberType),OptOutListName:cdk().stringToCloudFormation(properties.optOutListName),OptionalKeywords:cdk().listMapper(convertCfnPhoneNumberOptionalKeywordPropertyToCloudFormation)(properties.optionalKeywords),SelfManagedOptOutsEnabled:cdk().booleanToCloudFormation(properties.selfManagedOptOutsEnabled),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TwoWay:convertCfnPhoneNumberTwoWayPropertyToCloudFormation(properties.twoWay)}):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("deletionProtectionEnabled","DeletionProtectionEnabled",properties.DeletionProtectionEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.DeletionProtectionEnabled):void 0),ret.addPropertyResult("isoCountryCode","IsoCountryCode",properties.IsoCountryCode!=null?cfn_parse().FromCloudFormation.getString(properties.IsoCountryCode):void 0),ret.addPropertyResult("mandatoryKeywords","MandatoryKeywords",properties.MandatoryKeywords!=null?CfnPhoneNumberMandatoryKeywordsPropertyFromCloudFormation(properties.MandatoryKeywords):void 0),ret.addPropertyResult("numberCapabilities","NumberCapabilities",properties.NumberCapabilities!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.NumberCapabilities):void 0),ret.addPropertyResult("numberType","NumberType",properties.NumberType!=null?cfn_parse().FromCloudFormation.getString(properties.NumberType):void 0),ret.addPropertyResult("optionalKeywords","OptionalKeywords",properties.OptionalKeywords!=null?cfn_parse().FromCloudFormation.getArray(CfnPhoneNumberOptionalKeywordPropertyFromCloudFormation)(properties.OptionalKeywords):void 0),ret.addPropertyResult("optOutListName","OptOutListName",properties.OptOutListName!=null?cfn_parse().FromCloudFormation.getString(properties.OptOutListName):void 0),ret.addPropertyResult("selfManagedOptOutsEnabled","SelfManagedOptOutsEnabled",properties.SelfManagedOptOutsEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.SelfManagedOptOutsEnabled):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("twoWay","TwoWay",properties.TwoWay!=null?CfnPhoneNumberTwoWayPropertyFromCloudFormation(properties.TwoWay):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnPool extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_smsvoice.CfnPool",version:"2.233.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SMSVOICE::Pool";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnPoolPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnPool(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 isCfnPool(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnPool.CFN_RESOURCE_TYPE_NAME}static fromPoolArn(scope,id,arn){class Import extends cdk().Resource{poolRef;constructor(scope2,id2,arn2){super(scope2,id2,{environmentFromArn:arn2});const variables=new(cfn_parse()).TemplateString("arn:${Partition}:sms-voice:${Region}:${Account}:pool/${PoolId}").parse(arn2);this.poolRef={poolId:variables.PoolId,poolArn:arn2}}}return new Import(scope,id,arn)}static fromPoolId(scope,id,poolId){class Import extends cdk().Resource{poolRef;constructor(scope2,id2,poolId2){const arn=new(cfn_parse()).TemplateString("arn:${Partition}:sms-voice:${Region}:${Account}:pool/${PoolId}").interpolate({Partition:cdk().Stack.of(scope2).partition,Region:cdk().Stack.of(scope2).region,Account:cdk().Stack.of(scope2).account,PoolId:poolId2});super(scope2,id2,{environmentFromArn:arn}),this.poolRef={poolId:poolId2,poolArn:arn}}}return new Import(scope,id,poolId)}static arnForPool(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_smsvoice_IPoolRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForPool),error}return resource.poolRef.poolArn}attrArn;attrPoolId;cdkTagManager;deletionProtectionEnabled;mandatoryKeywords;optionalKeywords;optOutListName;originationIdentities;selfManagedOptOutsEnabled;sharedRoutesEnabled;tags;twoWay;constructor(scope,id,props){super(scope,id,{type:CfnPool.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_smsvoice_CfnPoolProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnPool),error}cdk().requireProperty(props,"mandatoryKeywords",this),cdk().requireProperty(props,"originationIdentities",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrPoolId=cdk().Token.asString(this.getAtt("PoolId",cdk().ResolutionTypeHint.STRING)),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::SMSVOICE::Pool",void 0,{tagPropertyName:"tags"}),this.deletionProtectionEnabled=props.deletionProtectionEnabled,this.mandatoryKeywords=props.mandatoryKeywords,this.optionalKeywords=props.optionalKeywords,this.optOutListName=props.optOutListName,this.originationIdentities=props.originationIdentities,this.selfManagedOptOutsEnabled=props.selfManagedOptOutsEnabled,this.sharedRoutesEnabled=props.sharedRoutesEnabled,this.tags=props.tags,this.twoWay=props.twoWay}get poolRef(){return{poolId:this.ref,poolArn:this.attrArn}}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this.tags),deletionProtectionEnabled:this.deletionProtectionEnabled,mandatoryKeywords:this.mandatoryKeywords,optionalKeywords:this.optionalKeywords,optOutListName:this.optOutListName,originationIdentities:this.originationIdentities,selfManagedOptOutsEnabled:this.selfManagedOptOutsEnabled,sharedRoutesEnabled:this.sharedRoutesEnabled,twoWay:this.twoWay}}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",CfnPool.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnPoolPropsToCloudFormation(props)}}exports.CfnPool=CfnPool;function CfnPoolMandatoryKeywordPropertyValidator(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("message",cdk().requiredValidator)(properties.message)),errors.collect(cdk().propertyValidator("message",cdk().validateString)(properties.message)),errors.wrap('supplied properties not correct for "MandatoryKeywordProperty"')}function convertCfnPoolMandatoryKeywordPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPoolMandatoryKeywordPropertyValidator(properties).assertSuccess(),{Message:cdk().stringToCloudFormation(properties.message)}):properties}function CfnPoolMandatoryKeywordPropertyFromCloudFormation(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("message","Message",properties.Message!=null?cfn_parse().FromCloudFormation.getString(properties.Message):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPoolMandatoryKeywordsPropertyValidator(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("help",cdk().requiredValidator)(properties.help)),errors.collect(cdk().propertyValidator("help",CfnPoolMandatoryKeywordPropertyValidator)(properties.help)),errors.collect(cdk().propertyValidator("stop",cdk().requiredValidator)(properties.stop)),errors.collect(cdk().propertyValidator("stop",CfnPoolMandatoryKeywordPropertyValidator)(properties.stop)),errors.wrap('supplied properties not correct for "MandatoryKeywordsProperty"')}function convertCfnPoolMandatoryKeywordsPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnPoolMandatoryKeywordsPropertyValidator(properties).assertSuccess(),{HELP:convertCfnPoolMandatoryKeywordPropertyToCloudFormation(properties.help),STOP:convertCfnPoolMandatoryKeywordPropertyToCloudFormation(properties.stop)}):properties}function CfnPoolMandatoryKeywordsPropertyFromCloudFormation(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("help","HELP",properties.HELP!=null?CfnPoolMandatoryKeywordPropertyFromCloudFormation(properties.HELP):void 0),ret.addPropertyResult("stop","STOP",properties.STOP!=null?CfnPoolMandatoryKeywordPropertyFromCloudFormation(properties.STOP):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnPoolOptionalKeywordPropertyValidator(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("keyword",cdk().requiredValidator)(properties.keyword)),errors.collect(cdk().propertyValidator("keyword",cdk().validateString)(properties.keyword)),errors.collect(cdk().propertyValidator("message",cdk().requiredValidator)(properties.message)),errors.collect(cdk().propertyValidator("message",cdk().v