2 lines
88 KiB
JavaScript
2 lines
88 KiB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnResolverRuleAssociation=exports.CfnResolverRule=exports.CfnResolverQueryLoggingConfigAssociation=exports.CfnResolverQueryLoggingConfig=exports.CfnResolverEndpoint=exports.CfnResolverDNSSECConfig=exports.CfnResolverConfig=exports.CfnOutpostResolver=exports.CfnFirewallRuleGroupAssociation=exports.CfnFirewallRuleGroup=exports.CfnFirewallDomainList=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 CfnFirewallDomainList extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53resolver.CfnFirewallDomainList",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Route53Resolver::FirewallDomainList";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFirewallDomainListPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnFirewallDomainList(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 isCfnFirewallDomainList(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnFirewallDomainList.CFN_RESOURCE_TYPE_NAME}static arnForFirewallDomainList(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_route53resolver_IFirewallDomainListRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForFirewallDomainList),error}return resource.firewallDomainListRef.firewallDomainListArn}_domainFileUrl;_domains;_name;tags;_tagsRaw;cfnPropertyNames={domainFileUrl:"DomainFileUrl",domains:"Domains",name:"Name",tags:"Tags"};constructor(scope,id,props={}){super(scope,id,{type:CfnFirewallDomainList.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53resolver_CfnFirewallDomainListProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFirewallDomainList),error}this._domainFileUrl=props.domainFileUrl,this._domains=props.domains,this._name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Route53Resolver::FirewallDomainList",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get firewallDomainListRef(){return{firewallDomainListId:this.ref,firewallDomainListArn:this.attrArn}}get domainFileUrl(){return this._domainFileUrl}set domainFileUrl(value){cdk().traceProperty(this.node,"DomainFileUrl"),this._domainFileUrl=value}get domains(){return this._domains}set domains(value){cdk().traceProperty(this.node,"Domains"),this._domains=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=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 attrCreationTime(){return cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING))}get attrCreatorRequestId(){return cdk().Token.asString(this.getAtt("CreatorRequestId",cdk().ResolutionTypeHint.STRING))}get attrDomainCount(){return cdk().Token.asNumber(this.getAtt("DomainCount",cdk().ResolutionTypeHint.NUMBER))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrManagedOwnerName(){return cdk().Token.asString(this.getAtt("ManagedOwnerName",cdk().ResolutionTypeHint.STRING))}get attrModificationTime(){return cdk().Token.asString(this.getAtt("ModificationTime",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrStatusMessage(){return cdk().Token.asString(this.getAtt("StatusMessage",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{domainFileUrl:this._domainFileUrl,domains:this._domains,name:this._name,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",CfnFirewallDomainList.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFirewallDomainListPropsToCloudFormation(props)}}exports.CfnFirewallDomainList=CfnFirewallDomainList;function CfnFirewallDomainListPropsValidator(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("domainFileUrl",cdk().validateString)(properties.domainFileUrl)),errors.collect(cdk().propertyValidator("domains",cdk().listValidator(cdk().validateString))(properties.domains)),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 "CfnFirewallDomainListProps"')}function convertCfnFirewallDomainListPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFirewallDomainListPropsValidator(properties).assertSuccess(),{DomainFileUrl:cdk().stringToCloudFormation(properties.domainFileUrl),Domains:cdk().listMapper(cdk().stringToCloudFormation)(properties.domains),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnFirewallDomainListPropsFromCloudFormation(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("domainFileUrl","DomainFileUrl",properties.DomainFileUrl!=null?cfn_parse().FromCloudFormation.getString(properties.DomainFileUrl):void 0),ret.addPropertyResult("domains","Domains",properties.Domains!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Domains):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 CfnFirewallRuleGroup extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53resolver.CfnFirewallRuleGroup",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Route53Resolver::FirewallRuleGroup";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFirewallRuleGroupPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnFirewallRuleGroup(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 isCfnFirewallRuleGroup(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnFirewallRuleGroup.CFN_RESOURCE_TYPE_NAME}static arnForFirewallRuleGroup(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_route53resolver_IFirewallRuleGroupRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForFirewallRuleGroup),error}return resource.firewallRuleGroupRef.firewallRuleGroupArn}_firewallRules;_name;tags;_tagsRaw;cfnPropertyNames={firewallRules:"FirewallRules",name:"Name",tags:"Tags"};constructor(scope,id,props={}){super(scope,id,{type:CfnFirewallRuleGroup.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53resolver_CfnFirewallRuleGroupProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFirewallRuleGroup),error}this._firewallRules=props.firewallRules,this._name=props.name,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Route53Resolver::FirewallRuleGroup",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags}get firewallRuleGroupRef(){return{firewallRuleGroupId:this.ref,firewallRuleGroupArn:this.attrArn}}get firewallRules(){return this._firewallRules}set firewallRules(value){cdk().traceProperty(this.node,"FirewallRules"),this._firewallRules=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=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 attrCreationTime(){return cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING))}get attrCreatorRequestId(){return cdk().Token.asString(this.getAtt("CreatorRequestId",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrModificationTime(){return cdk().Token.asString(this.getAtt("ModificationTime",cdk().ResolutionTypeHint.STRING))}get attrOwnerId(){return cdk().Token.asString(this.getAtt("OwnerId",cdk().ResolutionTypeHint.STRING))}get attrRuleCount(){return cdk().Token.asNumber(this.getAtt("RuleCount",cdk().ResolutionTypeHint.NUMBER))}get attrShareStatus(){return cdk().Token.asString(this.getAtt("ShareStatus",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrStatusMessage(){return cdk().Token.asString(this.getAtt("StatusMessage",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{firewallRules:this._firewallRules,name:this._name,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",CfnFirewallRuleGroup.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFirewallRuleGroupPropsToCloudFormation(props)}}exports.CfnFirewallRuleGroup=CfnFirewallRuleGroup;function CfnFirewallRuleGroupFirewallRulePropertyValidator(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("blockOverrideDnsType",cdk().validateString)(properties.blockOverrideDnsType)),errors.collect(cdk().propertyValidator("blockOverrideDomain",cdk().validateString)(properties.blockOverrideDomain)),errors.collect(cdk().propertyValidator("blockOverrideTtl",cdk().validateNumber)(properties.blockOverrideTtl)),errors.collect(cdk().propertyValidator("blockResponse",cdk().validateString)(properties.blockResponse)),errors.collect(cdk().propertyValidator("confidenceThreshold",cdk().validateString)(properties.confidenceThreshold)),errors.collect(cdk().propertyValidator("dnsThreatProtection",cdk().validateString)(properties.dnsThreatProtection)),errors.collect(cdk().propertyValidator("firewallDomainListId",cdk().validateString)(properties.firewallDomainListId)),errors.collect(cdk().propertyValidator("firewallDomainRedirectionAction",cdk().validateString)(properties.firewallDomainRedirectionAction)),errors.collect(cdk().propertyValidator("firewallThreatProtectionId",cdk().validateString)(properties.firewallThreatProtectionId)),errors.collect(cdk().propertyValidator("priority",cdk().requiredValidator)(properties.priority)),errors.collect(cdk().propertyValidator("priority",cdk().validateNumber)(properties.priority)),errors.collect(cdk().propertyValidator("qtype",cdk().validateString)(properties.qtype)),errors.wrap('supplied properties not correct for "FirewallRuleProperty"')}function convertCfnFirewallRuleGroupFirewallRulePropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFirewallRuleGroupFirewallRulePropertyValidator(properties).assertSuccess(),{Action:cdk().stringToCloudFormation(properties.action),BlockOverrideDnsType:cdk().stringToCloudFormation(properties.blockOverrideDnsType),BlockOverrideDomain:cdk().stringToCloudFormation(properties.blockOverrideDomain),BlockOverrideTtl:cdk().numberToCloudFormation(properties.blockOverrideTtl),BlockResponse:cdk().stringToCloudFormation(properties.blockResponse),ConfidenceThreshold:cdk().stringToCloudFormation(properties.confidenceThreshold),DnsThreatProtection:cdk().stringToCloudFormation(properties.dnsThreatProtection),FirewallDomainListId:cdk().stringToCloudFormation(properties.firewallDomainListId),FirewallDomainRedirectionAction:cdk().stringToCloudFormation(properties.firewallDomainRedirectionAction),FirewallThreatProtectionId:cdk().stringToCloudFormation(properties.firewallThreatProtectionId),Priority:cdk().numberToCloudFormation(properties.priority),Qtype:cdk().stringToCloudFormation(properties.qtype)}):properties}function CfnFirewallRuleGroupFirewallRulePropertyFromCloudFormation(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("blockOverrideDnsType","BlockOverrideDnsType",properties.BlockOverrideDnsType!=null?cfn_parse().FromCloudFormation.getString(properties.BlockOverrideDnsType):void 0),ret.addPropertyResult("blockOverrideDomain","BlockOverrideDomain",properties.BlockOverrideDomain!=null?cfn_parse().FromCloudFormation.getString(properties.BlockOverrideDomain):void 0),ret.addPropertyResult("blockOverrideTtl","BlockOverrideTtl",properties.BlockOverrideTtl!=null?cfn_parse().FromCloudFormation.getNumber(properties.BlockOverrideTtl):void 0),ret.addPropertyResult("blockResponse","BlockResponse",properties.BlockResponse!=null?cfn_parse().FromCloudFormation.getString(properties.BlockResponse):void 0),ret.addPropertyResult("confidenceThreshold","ConfidenceThreshold",properties.ConfidenceThreshold!=null?cfn_parse().FromCloudFormation.getString(properties.ConfidenceThreshold):void 0),ret.addPropertyResult("dnsThreatProtection","DnsThreatProtection",properties.DnsThreatProtection!=null?cfn_parse().FromCloudFormation.getString(properties.DnsThreatProtection):void 0),ret.addPropertyResult("firewallDomainListId","FirewallDomainListId",properties.FirewallDomainListId!=null?cfn_parse().FromCloudFormation.getString(properties.FirewallDomainListId):void 0),ret.addPropertyResult("firewallDomainRedirectionAction","FirewallDomainRedirectionAction",properties.FirewallDomainRedirectionAction!=null?cfn_parse().FromCloudFormation.getString(properties.FirewallDomainRedirectionAction):void 0),ret.addPropertyResult("firewallThreatProtectionId","FirewallThreatProtectionId",properties.FirewallThreatProtectionId!=null?cfn_parse().FromCloudFormation.getString(properties.FirewallThreatProtectionId):void 0),ret.addPropertyResult("priority","Priority",properties.Priority!=null?cfn_parse().FromCloudFormation.getNumber(properties.Priority):void 0),ret.addPropertyResult("qtype","Qtype",properties.Qtype!=null?cfn_parse().FromCloudFormation.getString(properties.Qtype):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnFirewallRuleGroupPropsValidator(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("firewallRules",cdk().listValidator(CfnFirewallRuleGroupFirewallRulePropertyValidator))(properties.firewallRules)),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 "CfnFirewallRuleGroupProps"')}function convertCfnFirewallRuleGroupPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFirewallRuleGroupPropsValidator(properties).assertSuccess(),{FirewallRules:cdk().listMapper(convertCfnFirewallRuleGroupFirewallRulePropertyToCloudFormation)(properties.firewallRules),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnFirewallRuleGroupPropsFromCloudFormation(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("firewallRules","FirewallRules",properties.FirewallRules!=null?cfn_parse().FromCloudFormation.getArray(CfnFirewallRuleGroupFirewallRulePropertyFromCloudFormation)(properties.FirewallRules):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 CfnFirewallRuleGroupAssociation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53resolver.CfnFirewallRuleGroupAssociation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Route53Resolver::FirewallRuleGroupAssociation";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFirewallRuleGroupAssociationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnFirewallRuleGroupAssociation(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 isCfnFirewallRuleGroupAssociation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnFirewallRuleGroupAssociation.CFN_RESOURCE_TYPE_NAME}static arnForFirewallRuleGroupAssociation(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_route53resolver_IFirewallRuleGroupAssociationRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForFirewallRuleGroupAssociation),error}return resource.firewallRuleGroupAssociationRef.firewallRuleGroupAssociationArn}_firewallRuleGroupId;_mutationProtection;_name;_priority;tags;_tagsRaw;_vpcId;cfnPropertyNames={firewallRuleGroupId:"FirewallRuleGroupId",mutationProtection:"MutationProtection",name:"Name",priority:"Priority",tags:"Tags",vpcId:"VpcId"};constructor(scope,id,props){super(scope,id,{type:CfnFirewallRuleGroupAssociation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53resolver_CfnFirewallRuleGroupAssociationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFirewallRuleGroupAssociation),error}cdk().requireProperty(props,"firewallRuleGroupId",this),cdk().requireProperty(props,"priority",this),cdk().requireProperty(props,"vpcId",this),this._firewallRuleGroupId=cdk().getRefProperty(props.firewallRuleGroupId?.firewallRuleGroupRef,"firewallRuleGroupId")??cdk().ensureStringOrUndefined(props.firewallRuleGroupId,"firewallRuleGroupId","route53resolver.IFirewallRuleGroupRef | string"),this._mutationProtection=props.mutationProtection,this._name=props.name,this._priority=props.priority,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Route53Resolver::FirewallRuleGroupAssociation",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._vpcId=cdk().getRefProperty(props.vpcId?.vpcRef,"vpcId")??cdk().ensureStringOrUndefined(props.vpcId,"vpcId","ec2.IVPCRef | string")}get firewallRuleGroupAssociationRef(){return{firewallRuleGroupAssociationId:this.ref,firewallRuleGroupAssociationArn:this.attrArn}}get firewallRuleGroupId(){return this._firewallRuleGroupId}set firewallRuleGroupId(value){cdk().traceProperty(this.node,"FirewallRuleGroupId"),this._firewallRuleGroupId=value}get mutationProtection(){return this._mutationProtection}set mutationProtection(value){cdk().traceProperty(this.node,"MutationProtection"),this._mutationProtection=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get priority(){return this._priority}set priority(value){cdk().traceProperty(this.node,"Priority"),this._priority=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get vpcId(){return this._vpcId}set vpcId(value){cdk().traceProperty(this.node,"VpcId"),this._vpcId=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreationTime(){return cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING))}get attrCreatorRequestId(){return cdk().Token.asString(this.getAtt("CreatorRequestId",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrManagedOwnerName(){return cdk().Token.asString(this.getAtt("ManagedOwnerName",cdk().ResolutionTypeHint.STRING))}get attrModificationTime(){return cdk().Token.asString(this.getAtt("ModificationTime",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrStatusMessage(){return cdk().Token.asString(this.getAtt("StatusMessage",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{firewallRuleGroupId:this._firewallRuleGroupId,mutationProtection:this._mutationProtection,name:this._name,priority:this._priority,tags:this.tags.renderTags(),vpcId:this._vpcId}}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",CfnFirewallRuleGroupAssociation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFirewallRuleGroupAssociationPropsToCloudFormation(props)}}exports.CfnFirewallRuleGroupAssociation=CfnFirewallRuleGroupAssociation;function CfnFirewallRuleGroupAssociationPropsValidator(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("firewallRuleGroupId",cdk().requiredValidator)(properties.firewallRuleGroupId)),errors.collect(cdk().propertyValidator("firewallRuleGroupId",cdk().validateString)(properties.firewallRuleGroupId)),errors.collect(cdk().propertyValidator("mutationProtection",cdk().validateString)(properties.mutationProtection)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("priority",cdk().requiredValidator)(properties.priority)),errors.collect(cdk().propertyValidator("priority",cdk().validateNumber)(properties.priority)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("vpcId",cdk().requiredValidator)(properties.vpcId)),errors.collect(cdk().propertyValidator("vpcId",cdk().validateString)(properties.vpcId)),errors.wrap('supplied properties not correct for "CfnFirewallRuleGroupAssociationProps"')}function convertCfnFirewallRuleGroupAssociationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFirewallRuleGroupAssociationPropsValidator(properties).assertSuccess(),{FirewallRuleGroupId:cdk().stringToCloudFormation(properties.firewallRuleGroupId),MutationProtection:cdk().stringToCloudFormation(properties.mutationProtection),Name:cdk().stringToCloudFormation(properties.name),Priority:cdk().numberToCloudFormation(properties.priority),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),VpcId:cdk().stringToCloudFormation(properties.vpcId)}):properties}function CfnFirewallRuleGroupAssociationPropsFromCloudFormation(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("firewallRuleGroupId","FirewallRuleGroupId",properties.FirewallRuleGroupId!=null?cfn_parse().FromCloudFormation.getString(properties.FirewallRuleGroupId):void 0),ret.addPropertyResult("mutationProtection","MutationProtection",properties.MutationProtection!=null?cfn_parse().FromCloudFormation.getString(properties.MutationProtection):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("priority","Priority",properties.Priority!=null?cfn_parse().FromCloudFormation.getNumber(properties.Priority):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("vpcId","VpcId",properties.VpcId!=null?cfn_parse().FromCloudFormation.getString(properties.VpcId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnOutpostResolver extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53resolver.CfnOutpostResolver",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Route53Resolver::OutpostResolver";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnOutpostResolverPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnOutpostResolver(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 isCfnOutpostResolver(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnOutpostResolver.CFN_RESOURCE_TYPE_NAME}static arnForOutpostResolver(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_route53resolver_IOutpostResolverRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForOutpostResolver),error}return resource.outpostResolverRef.outpostResolverArn}cdkTagManager;_instanceCount;_name;_outpostArn;_preferredInstanceType;_tags;cfnPropertyNames={tags:"Tags",instanceCount:"InstanceCount",name:"Name",outpostArn:"OutpostArn",preferredInstanceType:"PreferredInstanceType"};constructor(scope,id,props){super(scope,id,{type:CfnOutpostResolver.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53resolver_CfnOutpostResolverProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnOutpostResolver),error}cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"outpostArn",this),cdk().requireProperty(props,"preferredInstanceType",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Route53Resolver::OutpostResolver",void 0,{tagPropertyName:"tags"}),this._instanceCount=props.instanceCount,this._name=props.name,this._outpostArn=props.outpostArn,this._preferredInstanceType=props.preferredInstanceType,this._tags=props.tags}get outpostResolverRef(){return{outpostResolverId:this.ref,outpostResolverArn:this.attrArn}}get instanceCount(){return this._instanceCount}set instanceCount(value){cdk().traceProperty(this.node,"InstanceCount"),this._instanceCount=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get outpostArn(){return this._outpostArn}set outpostArn(value){cdk().traceProperty(this.node,"OutpostArn"),this._outpostArn=value}get preferredInstanceType(){return this._preferredInstanceType}set preferredInstanceType(value){cdk().traceProperty(this.node,"PreferredInstanceType"),this._preferredInstanceType=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 attrCreationTime(){return cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING))}get attrCreatorRequestId(){return cdk().Token.asString(this.getAtt("CreatorRequestId",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrModificationTime(){return cdk().Token.asString(this.getAtt("ModificationTime",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrStatusMessage(){return cdk().Token.asString(this.getAtt("StatusMessage",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),instanceCount:this._instanceCount,name:this._name,outpostArn:this._outpostArn,preferredInstanceType:this._preferredInstanceType}}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",CfnOutpostResolver.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnOutpostResolverPropsToCloudFormation(props)}}exports.CfnOutpostResolver=CfnOutpostResolver;function CfnOutpostResolverPropsValidator(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("instanceCount",cdk().validateNumber)(properties.instanceCount)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("outpostArn",cdk().requiredValidator)(properties.outpostArn)),errors.collect(cdk().propertyValidator("outpostArn",cdk().validateString)(properties.outpostArn)),errors.collect(cdk().propertyValidator("preferredInstanceType",cdk().requiredValidator)(properties.preferredInstanceType)),errors.collect(cdk().propertyValidator("preferredInstanceType",cdk().validateString)(properties.preferredInstanceType)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnOutpostResolverProps"')}function convertCfnOutpostResolverPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnOutpostResolverPropsValidator(properties).assertSuccess(),{InstanceCount:cdk().numberToCloudFormation(properties.instanceCount),Name:cdk().stringToCloudFormation(properties.name),OutpostArn:cdk().stringToCloudFormation(properties.outpostArn),PreferredInstanceType:cdk().stringToCloudFormation(properties.preferredInstanceType),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnOutpostResolverPropsFromCloudFormation(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("instanceCount","InstanceCount",properties.InstanceCount!=null?cfn_parse().FromCloudFormation.getNumber(properties.InstanceCount):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("outpostArn","OutpostArn",properties.OutpostArn!=null?cfn_parse().FromCloudFormation.getString(properties.OutpostArn):void 0),ret.addPropertyResult("preferredInstanceType","PreferredInstanceType",properties.PreferredInstanceType!=null?cfn_parse().FromCloudFormation.getString(properties.PreferredInstanceType):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 CfnResolverConfig extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53resolver.CfnResolverConfig",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Route53Resolver::ResolverConfig";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnResolverConfigPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnResolverConfig(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 isCfnResolverConfig(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnResolverConfig.CFN_RESOURCE_TYPE_NAME}static fromResourceId(scope,id,resourceId){class Import extends cdk().Resource{resolverConfigRef;constructor(scope2,id2,resourceId2){super(scope2,id2),this.resolverConfigRef={resourceId:resourceId2}}}return new Import(scope,id,resourceId)}static arnForResolverConfig(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_route53resolver_IResolverConfigRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForResolverConfig),error}return new(cfn_parse()).TemplateString("arn:${Partition}:route53resolver:${Region}:${Account}:resolver-config/${ResourceId}").interpolate({Partition:cdk().Stack.of(resource).partition,Region:resource.env.region,Account:resource.env.account,ResourceId:resource.resolverConfigRef.resourceId})}_autodefinedReverseFlag;_resourceId;cfnPropertyNames={autodefinedReverseFlag:"AutodefinedReverseFlag",resourceId:"ResourceId"};constructor(scope,id,props){super(scope,id,{type:CfnResolverConfig.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53resolver_CfnResolverConfigProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnResolverConfig),error}cdk().requireProperty(props,"autodefinedReverseFlag",this),cdk().requireProperty(props,"resourceId",this),this._autodefinedReverseFlag=props.autodefinedReverseFlag,this._resourceId=props.resourceId}get resolverConfigRef(){return{resourceId:this.ref}}get autodefinedReverseFlag(){return this._autodefinedReverseFlag}set autodefinedReverseFlag(value){cdk().traceProperty(this.node,"AutodefinedReverseFlag"),this._autodefinedReverseFlag=value}get resourceId(){return this._resourceId}set resourceId(value){cdk().traceProperty(this.node,"ResourceId"),this._resourceId=value}get attrAutodefinedReverse(){return cdk().Token.asString(this.getAtt("AutodefinedReverse",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrOwnerId(){return cdk().Token.asString(this.getAtt("OwnerId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{autodefinedReverseFlag:this._autodefinedReverseFlag,resourceId:this._resourceId}}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",CfnResolverConfig.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnResolverConfigPropsToCloudFormation(props)}}exports.CfnResolverConfig=CfnResolverConfig;function CfnResolverConfigPropsValidator(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("autodefinedReverseFlag",cdk().requiredValidator)(properties.autodefinedReverseFlag)),errors.collect(cdk().propertyValidator("autodefinedReverseFlag",cdk().validateString)(properties.autodefinedReverseFlag)),errors.collect(cdk().propertyValidator("resourceId",cdk().requiredValidator)(properties.resourceId)),errors.collect(cdk().propertyValidator("resourceId",cdk().validateString)(properties.resourceId)),errors.wrap('supplied properties not correct for "CfnResolverConfigProps"')}function convertCfnResolverConfigPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResolverConfigPropsValidator(properties).assertSuccess(),{AutodefinedReverseFlag:cdk().stringToCloudFormation(properties.autodefinedReverseFlag),ResourceId:cdk().stringToCloudFormation(properties.resourceId)}):properties}function CfnResolverConfigPropsFromCloudFormation(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("autodefinedReverseFlag","AutodefinedReverseFlag",properties.AutodefinedReverseFlag!=null?cfn_parse().FromCloudFormation.getString(properties.AutodefinedReverseFlag):void 0),ret.addPropertyResult("resourceId","ResourceId",properties.ResourceId!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnResolverDNSSECConfig extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53resolver.CfnResolverDNSSECConfig",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Route53Resolver::ResolverDNSSECConfig";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnResolverDNSSECConfigPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnResolverDNSSECConfig(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 isCfnResolverDNSSECConfig(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnResolverDNSSECConfig.CFN_RESOURCE_TYPE_NAME}_resourceId;cfnPropertyNames={resourceId:"ResourceId"};constructor(scope,id,props={}){super(scope,id,{type:CfnResolverDNSSECConfig.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53resolver_CfnResolverDNSSECConfigProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnResolverDNSSECConfig),error}this._resourceId=props.resourceId}get resolverDnssecConfigRef(){return{resolverDnssecConfigId:this.ref}}get resourceId(){return this._resourceId}set resourceId(value){cdk().traceProperty(this.node,"ResourceId"),this._resourceId=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrOwnerId(){return cdk().Token.asString(this.getAtt("OwnerId",cdk().ResolutionTypeHint.STRING))}get attrValidationStatus(){return cdk().Token.asString(this.getAtt("ValidationStatus",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{resourceId:this._resourceId}}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",CfnResolverDNSSECConfig.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnResolverDNSSECConfigPropsToCloudFormation(props)}}exports.CfnResolverDNSSECConfig=CfnResolverDNSSECConfig;function CfnResolverDNSSECConfigPropsValidator(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("resourceId",cdk().validateString)(properties.resourceId)),errors.wrap('supplied properties not correct for "CfnResolverDNSSECConfigProps"')}function convertCfnResolverDNSSECConfigPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResolverDNSSECConfigPropsValidator(properties).assertSuccess(),{ResourceId:cdk().stringToCloudFormation(properties.resourceId)}):properties}function CfnResolverDNSSECConfigPropsFromCloudFormation(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("resourceId","ResourceId",properties.ResourceId!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnResolverEndpoint extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53resolver.CfnResolverEndpoint",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Route53Resolver::ResolverEndpoint";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnResolverEndpointPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnResolverEndpoint(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 isCfnResolverEndpoint(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnResolverEndpoint.CFN_RESOURCE_TYPE_NAME}static arnForResolverEndpoint(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_route53resolver_IResolverEndpointRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForResolverEndpoint),error}return resource.resolverEndpointRef.resolverEndpointArn}_direction;_ipAddresses;_name;_outpostArn;_preferredInstanceType;_protocols;_resolverEndpointType;_rniEnhancedMetricsEnabled;_securityGroupIds;tags;_tagsRaw;_targetNameServerMetricsEnabled;cfnPropertyNames={direction:"Direction",ipAddresses:"IpAddresses",name:"Name",outpostArn:"OutpostArn",preferredInstanceType:"PreferredInstanceType",protocols:"Protocols",resolverEndpointType:"ResolverEndpointType",rniEnhancedMetricsEnabled:"RniEnhancedMetricsEnabled",securityGroupIds:"SecurityGroupIds",tags:"Tags",targetNameServerMetricsEnabled:"TargetNameServerMetricsEnabled"};constructor(scope,id,props){super(scope,id,{type:CfnResolverEndpoint.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53resolver_CfnResolverEndpointProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnResolverEndpoint),error}cdk().requireProperty(props,"direction",this),cdk().requireProperty(props,"ipAddresses",this),cdk().requireProperty(props,"securityGroupIds",this),this._direction=props.direction,this._ipAddresses=props.ipAddresses,this._name=props.name,this._outpostArn=props.outpostArn,this._preferredInstanceType=props.preferredInstanceType,this._protocols=props.protocols,this._resolverEndpointType=props.resolverEndpointType,this._rniEnhancedMetricsEnabled=props.rniEnhancedMetricsEnabled,this._securityGroupIds=props.securityGroupIds,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Route53Resolver::ResolverEndpoint",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._targetNameServerMetricsEnabled=props.targetNameServerMetricsEnabled}get resolverEndpointRef(){return{resolverEndpointId:this.ref,resolverEndpointArn:this.attrArn}}get direction(){return this._direction}set direction(value){cdk().traceProperty(this.node,"Direction"),this._direction=value}get ipAddresses(){return this._ipAddresses}set ipAddresses(value){cdk().traceProperty(this.node,"IpAddresses"),this._ipAddresses=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get outpostArn(){return this._outpostArn}set outpostArn(value){cdk().traceProperty(this.node,"OutpostArn"),this._outpostArn=value}get preferredInstanceType(){return this._preferredInstanceType}set preferredInstanceType(value){cdk().traceProperty(this.node,"PreferredInstanceType"),this._preferredInstanceType=value}get protocols(){return this._protocols}set protocols(value){cdk().traceProperty(this.node,"Protocols"),this._protocols=value}get resolverEndpointType(){return this._resolverEndpointType}set resolverEndpointType(value){cdk().traceProperty(this.node,"ResolverEndpointType"),this._resolverEndpointType=value}get rniEnhancedMetricsEnabled(){return this._rniEnhancedMetricsEnabled}set rniEnhancedMetricsEnabled(value){cdk().traceProperty(this.node,"RniEnhancedMetricsEnabled"),this._rniEnhancedMetricsEnabled=value}get securityGroupIds(){return this._securityGroupIds}set securityGroupIds(value){cdk().traceProperty(this.node,"SecurityGroupIds"),this._securityGroupIds=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get targetNameServerMetricsEnabled(){return this._targetNameServerMetricsEnabled}set targetNameServerMetricsEnabled(value){cdk().traceProperty(this.node,"TargetNameServerMetricsEnabled"),this._targetNameServerMetricsEnabled=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrDirection(){return cdk().Token.asString(this.getAtt("Direction",cdk().ResolutionTypeHint.STRING))}get attrHostVpcId(){return cdk().Token.asString(this.getAtt("HostVPCId",cdk().ResolutionTypeHint.STRING))}get attrIpAddressCount(){return cdk().Token.asString(this.getAtt("IpAddressCount",cdk().ResolutionTypeHint.STRING))}get attrName(){return cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING))}get attrOutpostArn(){return cdk().Token.asString(this.getAtt("OutpostArn",cdk().ResolutionTypeHint.STRING))}get attrPreferredInstanceType(){return cdk().Token.asString(this.getAtt("PreferredInstanceType",cdk().ResolutionTypeHint.STRING))}get attrResolverEndpointId(){return cdk().Token.asString(this.getAtt("ResolverEndpointId",cdk().ResolutionTypeHint.STRING))}get attrResolverEndpointType(){return cdk().Token.asString(this.getAtt("ResolverEndpointType",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{direction:this._direction,ipAddresses:this._ipAddresses,name:this._name,outpostArn:this._outpostArn,preferredInstanceType:this._preferredInstanceType,protocols:this._protocols,resolverEndpointType:this._resolverEndpointType,rniEnhancedMetricsEnabled:this._rniEnhancedMetricsEnabled,securityGroupIds:this._securityGroupIds,tags:this.tags.renderTags(),targetNameServerMetricsEnabled:this._targetNameServerMetricsEnabled}}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",CfnResolverEndpoint.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnResolverEndpointPropsToCloudFormation(props)}}exports.CfnResolverEndpoint=CfnResolverEndpoint;function CfnResolverEndpointIpAddressRequestPropertyValidator(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("ip",cdk().validateString)(properties.ip)),errors.collect(cdk().propertyValidator("ipv6",cdk().validateString)(properties.ipv6)),errors.collect(cdk().propertyValidator("subnetId",cdk().requiredValidator)(properties.subnetId)),errors.collect(cdk().propertyValidator("subnetId",cdk().validateString)(properties.subnetId)),errors.wrap('supplied properties not correct for "IpAddressRequestProperty"')}function convertCfnResolverEndpointIpAddressRequestPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResolverEndpointIpAddressRequestPropertyValidator(properties).assertSuccess(),{Ip:cdk().stringToCloudFormation(properties.ip),Ipv6:cdk().stringToCloudFormation(properties.ipv6),SubnetId:cdk().stringToCloudFormation(properties.subnetId)}):properties}function CfnResolverEndpointIpAddressRequestPropertyFromCloudFormation(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("ip","Ip",properties.Ip!=null?cfn_parse().FromCloudFormation.getString(properties.Ip):void 0),ret.addPropertyResult("ipv6","Ipv6",properties.Ipv6!=null?cfn_parse().FromCloudFormation.getString(properties.Ipv6):void 0),ret.addPropertyResult("subnetId","SubnetId",properties.SubnetId!=null?cfn_parse().FromCloudFormation.getString(properties.SubnetId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResolverEndpointPropsValidator(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("direction",cdk().requiredValidator)(properties.direction)),errors.collect(cdk().propertyValidator("direction",cdk().validateString)(properties.direction)),errors.collect(cdk().propertyValidator("ipAddresses",cdk().requiredValidator)(properties.ipAddresses)),errors.collect(cdk().propertyValidator("ipAddresses",cdk().listValidator(CfnResolverEndpointIpAddressRequestPropertyValidator))(properties.ipAddresses)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("outpostArn",cdk().validateString)(properties.outpostArn)),errors.collect(cdk().propertyValidator("preferredInstanceType",cdk().validateString)(properties.preferredInstanceType)),errors.collect(cdk().propertyValidator("protocols",cdk().listValidator(cdk().validateString))(properties.protocols)),errors.collect(cdk().propertyValidator("resolverEndpointType",cdk().validateString)(properties.resolverEndpointType)),errors.collect(cdk().propertyValidator("rniEnhancedMetricsEnabled",cdk().validateBoolean)(properties.rniEnhancedMetricsEnabled)),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().requiredValidator)(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("securityGroupIds",cdk().listValidator(cdk().validateString))(properties.securityGroupIds)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("targetNameServerMetricsEnabled",cdk().validateBoolean)(properties.targetNameServerMetricsEnabled)),errors.wrap('supplied properties not correct for "CfnResolverEndpointProps"')}function convertCfnResolverEndpointPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResolverEndpointPropsValidator(properties).assertSuccess(),{Direction:cdk().stringToCloudFormation(properties.direction),IpAddresses:cdk().listMapper(convertCfnResolverEndpointIpAddressRequestPropertyToCloudFormation)(properties.ipAddresses),Name:cdk().stringToCloudFormation(properties.name),OutpostArn:cdk().stringToCloudFormation(properties.outpostArn),PreferredInstanceType:cdk().stringToCloudFormation(properties.preferredInstanceType),Protocols:cdk().listMapper(cdk().stringToCloudFormation)(properties.protocols),ResolverEndpointType:cdk().stringToCloudFormation(properties.resolverEndpointType),RniEnhancedMetricsEnabled:cdk().booleanToCloudFormation(properties.rniEnhancedMetricsEnabled),SecurityGroupIds:cdk().listMapper(cdk().stringToCloudFormation)(properties.securityGroupIds),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TargetNameServerMetricsEnabled:cdk().booleanToCloudFormation(properties.targetNameServerMetricsEnabled)}):properties}function CfnResolverEndpointPropsFromCloudFormation(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("direction","Direction",properties.Direction!=null?cfn_parse().FromCloudFormation.getString(properties.Direction):void 0),ret.addPropertyResult("ipAddresses","IpAddresses",properties.IpAddresses!=null?cfn_parse().FromCloudFormation.getArray(CfnResolverEndpointIpAddressRequestPropertyFromCloudFormation)(properties.IpAddresses):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("outpostArn","OutpostArn",properties.OutpostArn!=null?cfn_parse().FromCloudFormation.getString(properties.OutpostArn):void 0),ret.addPropertyResult("preferredInstanceType","PreferredInstanceType",properties.PreferredInstanceType!=null?cfn_parse().FromCloudFormation.getString(properties.PreferredInstanceType):void 0),ret.addPropertyResult("protocols","Protocols",properties.Protocols!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Protocols):void 0),ret.addPropertyResult("resolverEndpointType","ResolverEndpointType",properties.ResolverEndpointType!=null?cfn_parse().FromCloudFormation.getString(properties.ResolverEndpointType):void 0),ret.addPropertyResult("rniEnhancedMetricsEnabled","RniEnhancedMetricsEnabled",properties.RniEnhancedMetricsEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.RniEnhancedMetricsEnabled):void 0),ret.addPropertyResult("securityGroupIds","SecurityGroupIds",properties.SecurityGroupIds!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.SecurityGroupIds):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("targetNameServerMetricsEnabled","TargetNameServerMetricsEnabled",properties.TargetNameServerMetricsEnabled!=null?cfn_parse().FromCloudFormation.getBoolean(properties.TargetNameServerMetricsEnabled):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnResolverQueryLoggingConfig extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53resolver.CfnResolverQueryLoggingConfig",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Route53Resolver::ResolverQueryLoggingConfig";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnResolverQueryLoggingConfigPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnResolverQueryLoggingConfig(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 isCfnResolverQueryLoggingConfig(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnResolverQueryLoggingConfig.CFN_RESOURCE_TYPE_NAME}static arnForResolverQueryLoggingConfig(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_route53resolver_IResolverQueryLoggingConfigRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForResolverQueryLoggingConfig),error}return resource.resolverQueryLoggingConfigRef.resolverQueryLoggingConfigArn}cdkTagManager;_destinationArn;_name;_tags;cfnPropertyNames={tags:"Tags",destinationArn:"DestinationArn",name:"Name"};constructor(scope,id,props={}){super(scope,id,{type:CfnResolverQueryLoggingConfig.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53resolver_CfnResolverQueryLoggingConfigProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnResolverQueryLoggingConfig),error}this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Route53Resolver::ResolverQueryLoggingConfig",void 0,{tagPropertyName:"tags"}),this._destinationArn=cdk().getRefProperty(props.destinationArn?.logGroupRef,"logGroupArn")??cdk().getRefProperty(props.destinationArn?.bucketRef,"bucketArn")??cdk().ensureStringOrUndefined(props.destinationArn,"destinationArn","logs.ILogGroupRef | s3.IBucketRef | string"),this._name=props.name,this._tags=props.tags}get resolverQueryLoggingConfigRef(){return{resolverQueryLoggingConfigId:this.ref,resolverQueryLoggingConfigArn:this.attrArn}}get destinationArn(){return this._destinationArn}set destinationArn(value){cdk().traceProperty(this.node,"DestinationArn"),this._destinationArn=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 attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrAssociationCount(){return cdk().Token.asNumber(this.getAtt("AssociationCount",cdk().ResolutionTypeHint.NUMBER))}get attrCreationTime(){return cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING))}get attrCreatorRequestId(){return cdk().Token.asString(this.getAtt("CreatorRequestId",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrOwnerId(){return cdk().Token.asString(this.getAtt("OwnerId",cdk().ResolutionTypeHint.STRING))}get attrShareStatus(){return cdk().Token.asString(this.getAtt("ShareStatus",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this._tags),destinationArn:this._destinationArn,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",CfnResolverQueryLoggingConfig.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnResolverQueryLoggingConfigPropsToCloudFormation(props)}}exports.CfnResolverQueryLoggingConfig=CfnResolverQueryLoggingConfig;function CfnResolverQueryLoggingConfigPropsValidator(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("destinationArn",cdk().validateString)(properties.destinationArn)),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 "CfnResolverQueryLoggingConfigProps"')}function convertCfnResolverQueryLoggingConfigPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResolverQueryLoggingConfigPropsValidator(properties).assertSuccess(),{DestinationArn:cdk().stringToCloudFormation(properties.destinationArn),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnResolverQueryLoggingConfigPropsFromCloudFormation(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("destinationArn","DestinationArn",properties.DestinationArn!=null?cfn_parse().FromCloudFormation.getString(properties.DestinationArn):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 CfnResolverQueryLoggingConfigAssociation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53resolver.CfnResolverQueryLoggingConfigAssociation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnResolverQueryLoggingConfigAssociationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnResolverQueryLoggingConfigAssociation(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 isCfnResolverQueryLoggingConfigAssociation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnResolverQueryLoggingConfigAssociation.CFN_RESOURCE_TYPE_NAME}_resolverQueryLogConfigId;_resourceId;cfnPropertyNames={resolverQueryLogConfigId:"ResolverQueryLogConfigId",resourceId:"ResourceId"};constructor(scope,id,props={}){super(scope,id,{type:CfnResolverQueryLoggingConfigAssociation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53resolver_CfnResolverQueryLoggingConfigAssociationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnResolverQueryLoggingConfigAssociation),error}this._resolverQueryLogConfigId=cdk().getRefProperty(props.resolverQueryLogConfigId?.resolverQueryLoggingConfigRef,"resolverQueryLoggingConfigId")??cdk().ensureStringOrUndefined(props.resolverQueryLogConfigId,"resolverQueryLogConfigId","route53resolver.IResolverQueryLoggingConfigRef | string"),this._resourceId=cdk().getRefProperty(props.resourceId?.vpcRef,"vpcId")??cdk().ensureStringOrUndefined(props.resourceId,"resourceId","ec2.IVPCRef | string")}get resolverQueryLoggingConfigAssociationRef(){return{resolverQueryLoggingConfigAssociationId:this.ref}}get resolverQueryLogConfigId(){return this._resolverQueryLogConfigId}set resolverQueryLogConfigId(value){cdk().traceProperty(this.node,"ResolverQueryLogConfigId"),this._resolverQueryLogConfigId=value}get resourceId(){return this._resourceId}set resourceId(value){cdk().traceProperty(this.node,"ResourceId"),this._resourceId=value}get attrCreationTime(){return cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING))}get attrError(){return cdk().Token.asString(this.getAtt("Error",cdk().ResolutionTypeHint.STRING))}get attrErrorMessage(){return cdk().Token.asString(this.getAtt("ErrorMessage",cdk().ResolutionTypeHint.STRING))}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{resolverQueryLogConfigId:this._resolverQueryLogConfigId,resourceId:this._resourceId}}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",CfnResolverQueryLoggingConfigAssociation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnResolverQueryLoggingConfigAssociationPropsToCloudFormation(props)}}exports.CfnResolverQueryLoggingConfigAssociation=CfnResolverQueryLoggingConfigAssociation;function CfnResolverQueryLoggingConfigAssociationPropsValidator(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("resolverQueryLogConfigId",cdk().validateString)(properties.resolverQueryLogConfigId)),errors.collect(cdk().propertyValidator("resourceId",cdk().validateString)(properties.resourceId)),errors.wrap('supplied properties not correct for "CfnResolverQueryLoggingConfigAssociationProps"')}function convertCfnResolverQueryLoggingConfigAssociationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResolverQueryLoggingConfigAssociationPropsValidator(properties).assertSuccess(),{ResolverQueryLogConfigId:cdk().stringToCloudFormation(properties.resolverQueryLogConfigId),ResourceId:cdk().stringToCloudFormation(properties.resourceId)}):properties}function CfnResolverQueryLoggingConfigAssociationPropsFromCloudFormation(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("resolverQueryLogConfigId","ResolverQueryLogConfigId",properties.ResolverQueryLogConfigId!=null?cfn_parse().FromCloudFormation.getString(properties.ResolverQueryLogConfigId):void 0),ret.addPropertyResult("resourceId","ResourceId",properties.ResourceId!=null?cfn_parse().FromCloudFormation.getString(properties.ResourceId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnResolverRule extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53resolver.CfnResolverRule",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Route53Resolver::ResolverRule";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnResolverRulePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnResolverRule(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 isCfnResolverRule(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnResolverRule.CFN_RESOURCE_TYPE_NAME}static arnForResolverRule(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_route53resolver_IResolverRuleRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForResolverRule),error}return resource.resolverRuleRef.resolverRuleArn}_delegationRecord;_domainName;_name;_resolverEndpointId;_ruleType;tags;_tagsRaw;_targetIps;cfnPropertyNames={delegationRecord:"DelegationRecord",domainName:"DomainName",name:"Name",resolverEndpointId:"ResolverEndpointId",ruleType:"RuleType",tags:"Tags",targetIps:"TargetIps"};constructor(scope,id,props){super(scope,id,{type:CfnResolverRule.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53resolver_CfnResolverRuleProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnResolverRule),error}cdk().requireProperty(props,"ruleType",this),this._delegationRecord=props.delegationRecord,this._domainName=props.domainName,this._name=props.name,this._resolverEndpointId=props.resolverEndpointId,this._ruleType=props.ruleType,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Route53Resolver::ResolverRule",props.tags,{tagPropertyName:"tags"}),this._tagsRaw=props.tags,this._targetIps=props.targetIps}get resolverRuleRef(){return{resolverRuleId:this.ref,resolverRuleArn:this.attrArn}}get delegationRecord(){return this._delegationRecord}set delegationRecord(value){cdk().traceProperty(this.node,"DelegationRecord"),this._delegationRecord=value}get domainName(){return this._domainName}set domainName(value){cdk().traceProperty(this.node,"DomainName"),this._domainName=value}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get resolverEndpointId(){return this._resolverEndpointId}set resolverEndpointId(value){cdk().traceProperty(this.node,"ResolverEndpointId"),this._resolverEndpointId=value}get ruleType(){return this._ruleType}set ruleType(value){cdk().traceProperty(this.node,"RuleType"),this._ruleType=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get targetIps(){return this._targetIps}set targetIps(value){cdk().traceProperty(this.node,"TargetIps"),this._targetIps=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrDomainName(){return cdk().Token.asString(this.getAtt("DomainName",cdk().ResolutionTypeHint.STRING))}get attrName(){return cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING))}get attrResolverEndpointId(){return cdk().Token.asString(this.getAtt("ResolverEndpointId",cdk().ResolutionTypeHint.STRING))}get attrResolverRuleId(){return cdk().Token.asString(this.getAtt("ResolverRuleId",cdk().ResolutionTypeHint.STRING))}get attrTargetIps(){return this.getAtt("TargetIps")}get cfnProperties(){return{delegationRecord:this._delegationRecord,domainName:this._domainName,name:this._name,resolverEndpointId:this._resolverEndpointId,ruleType:this._ruleType,tags:this.tags.renderTags(),targetIps:this._targetIps}}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",CfnResolverRule.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnResolverRulePropsToCloudFormation(props)}}exports.CfnResolverRule=CfnResolverRule;function CfnResolverRuleTargetAddressPropertyValidator(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("ip",cdk().validateString)(properties.ip)),errors.collect(cdk().propertyValidator("ipv6",cdk().validateString)(properties.ipv6)),errors.collect(cdk().propertyValidator("port",cdk().validateString)(properties.port)),errors.collect(cdk().propertyValidator("protocol",cdk().validateString)(properties.protocol)),errors.collect(cdk().propertyValidator("serverNameIndication",cdk().validateString)(properties.serverNameIndication)),errors.wrap('supplied properties not correct for "TargetAddressProperty"')}function convertCfnResolverRuleTargetAddressPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResolverRuleTargetAddressPropertyValidator(properties).assertSuccess(),{Ip:cdk().stringToCloudFormation(properties.ip),Ipv6:cdk().stringToCloudFormation(properties.ipv6),Port:cdk().stringToCloudFormation(properties.port),Protocol:cdk().stringToCloudFormation(properties.protocol),ServerNameIndication:cdk().stringToCloudFormation(properties.serverNameIndication)}):properties}function CfnResolverRuleTargetAddressPropertyFromCloudFormation(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("ip","Ip",properties.Ip!=null?cfn_parse().FromCloudFormation.getString(properties.Ip):void 0),ret.addPropertyResult("ipv6","Ipv6",properties.Ipv6!=null?cfn_parse().FromCloudFormation.getString(properties.Ipv6):void 0),ret.addPropertyResult("port","Port",properties.Port!=null?cfn_parse().FromCloudFormation.getString(properties.Port):void 0),ret.addPropertyResult("protocol","Protocol",properties.Protocol!=null?cfn_parse().FromCloudFormation.getString(properties.Protocol):void 0),ret.addPropertyResult("serverNameIndication","ServerNameIndication",properties.ServerNameIndication!=null?cfn_parse().FromCloudFormation.getString(properties.ServerNameIndication):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnResolverRulePropsValidator(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("delegationRecord",cdk().validateString)(properties.delegationRecord)),errors.collect(cdk().propertyValidator("domainName",cdk().validateString)(properties.domainName)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("resolverEndpointId",cdk().validateString)(properties.resolverEndpointId)),errors.collect(cdk().propertyValidator("ruleType",cdk().requiredValidator)(properties.ruleType)),errors.collect(cdk().propertyValidator("ruleType",cdk().validateString)(properties.ruleType)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("targetIps",cdk().listValidator(CfnResolverRuleTargetAddressPropertyValidator))(properties.targetIps)),errors.wrap('supplied properties not correct for "CfnResolverRuleProps"')}function convertCfnResolverRulePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResolverRulePropsValidator(properties).assertSuccess(),{DelegationRecord:cdk().stringToCloudFormation(properties.delegationRecord),DomainName:cdk().stringToCloudFormation(properties.domainName),Name:cdk().stringToCloudFormation(properties.name),ResolverEndpointId:cdk().stringToCloudFormation(properties.resolverEndpointId),RuleType:cdk().stringToCloudFormation(properties.ruleType),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TargetIps:cdk().listMapper(convertCfnResolverRuleTargetAddressPropertyToCloudFormation)(properties.targetIps)}):properties}function CfnResolverRulePropsFromCloudFormation(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("delegationRecord","DelegationRecord",properties.DelegationRecord!=null?cfn_parse().FromCloudFormation.getString(properties.DelegationRecord):void 0),ret.addPropertyResult("domainName","DomainName",properties.DomainName!=null?cfn_parse().FromCloudFormation.getString(properties.DomainName):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("resolverEndpointId","ResolverEndpointId",properties.ResolverEndpointId!=null?cfn_parse().FromCloudFormation.getString(properties.ResolverEndpointId):void 0),ret.addPropertyResult("ruleType","RuleType",properties.RuleType!=null?cfn_parse().FromCloudFormation.getString(properties.RuleType):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("targetIps","TargetIps",properties.TargetIps!=null?cfn_parse().FromCloudFormation.getArray(CfnResolverRuleTargetAddressPropertyFromCloudFormation)(properties.TargetIps):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnResolverRuleAssociation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53resolver.CfnResolverRuleAssociation",version:"2.252.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Route53Resolver::ResolverRuleAssociation";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnResolverRuleAssociationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError(cfn_parse().lit`UnexpectedIResolvable`,"Unexpected IResolvable",scope);const ret=new CfnResolverRuleAssociation(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 isCfnResolverRuleAssociation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnResolverRuleAssociation.CFN_RESOURCE_TYPE_NAME}_name;_resolverRuleId;_vpcId;cfnPropertyNames={name:"Name",resolverRuleId:"ResolverRuleId",vpcId:"VPCId"};constructor(scope,id,props){super(scope,id,{type:CfnResolverRuleAssociation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53resolver_CfnResolverRuleAssociationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnResolverRuleAssociation),error}cdk().requireProperty(props,"resolverRuleId",this),cdk().requireProperty(props,"vpcId",this),this._name=props.name,this._resolverRuleId=cdk().getRefProperty(props.resolverRuleId?.resolverRuleRef,"resolverRuleId")??cdk().ensureStringOrUndefined(props.resolverRuleId,"resolverRuleId","route53resolver.IResolverRuleRef | string"),this._vpcId=cdk().getRefProperty(props.vpcId?.vpcRef,"vpcId")??cdk().ensureStringOrUndefined(props.vpcId,"vpcId","ec2.IVPCRef | string")}get resolverRuleAssociationRef(){return{resolverRuleAssociationId:this.ref}}get name(){return this._name}set name(value){cdk().traceProperty(this.node,"Name"),this._name=value}get resolverRuleId(){return this._resolverRuleId}set resolverRuleId(value){cdk().traceProperty(this.node,"ResolverRuleId"),this._resolverRuleId=value}get vpcId(){return this._vpcId}set vpcId(value){cdk().traceProperty(this.node,"VPCId"),this._vpcId=value}get attrName(){return cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING))}get attrResolverRuleAssociationId(){return cdk().Token.asString(this.getAtt("ResolverRuleAssociationId",cdk().ResolutionTypeHint.STRING))}get attrResolverRuleId(){return cdk().Token.asString(this.getAtt("ResolverRuleId",cdk().ResolutionTypeHint.STRING))}get attrVpcId(){return cdk().Token.asString(this.getAtt("VPCId",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{name:this._name,resolverRuleId:this._resolverRuleId,vpcId:this._vpcId}}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",CfnResolverRuleAssociation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnResolverRuleAssociationPropsToCloudFormation(props)}}exports.CfnResolverRuleAssociation=CfnResolverRuleAssociation;function CfnResolverRuleAssociationPropsValidator(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().validateString)(properties.name)),errors.collect(cdk().propertyValidator("resolverRuleId",cdk().requiredValidator)(properties.resolverRuleId)),errors.collect(cdk().propertyValidator("resolverRuleId",cdk().validateString)(properties.resolverRuleId)),errors.collect(cdk().propertyValidator("vpcId",cdk().requiredValidator)(properties.vpcId)),errors.collect(cdk().propertyValidator("vpcId",cdk().validateString)(properties.vpcId)),errors.wrap('supplied properties not correct for "CfnResolverRuleAssociationProps"')}function convertCfnResolverRuleAssociationPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnResolverRuleAssociationPropsValidator(properties).assertSuccess(),{Name:cdk().stringToCloudFormation(properties.name),ResolverRuleId:cdk().stringToCloudFormation(properties.resolverRuleId),VPCId:cdk().stringToCloudFormation(properties.vpcId)}):properties}function CfnResolverRuleAssociationPropsFromCloudFormation(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.addPropertyResult("resolverRuleId","ResolverRuleId",properties.ResolverRuleId!=null?cfn_parse().FromCloudFormation.getString(properties.ResolverRuleId):void 0),ret.addPropertyResult("vpcId","VPCId",properties.VPCId!=null?cfn_parse().FromCloudFormation.getString(properties.VPCId):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}
|