aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1 lines • 88.5 kB
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.251.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;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.251.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;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.251.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;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.251.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;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.251.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;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.251.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;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.251.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;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"),t