UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1 lines 81 kB
"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.233.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("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}attrArn;attrCreationTime;attrCreatorRequestId;attrDomainCount;attrId;attrManagedOwnerName;attrModificationTime;attrStatus;attrStatusMessage;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.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrCreationTime=cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING)),this.attrCreatorRequestId=cdk().Token.asString(this.getAtt("CreatorRequestId",cdk().ResolutionTypeHint.STRING)),this.attrDomainCount=cdk().Token.asNumber(this.getAtt("DomainCount",cdk().ResolutionTypeHint.NUMBER)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrManagedOwnerName=cdk().Token.asString(this.getAtt("ManagedOwnerName",cdk().ResolutionTypeHint.STRING)),this.attrModificationTime=cdk().Token.asString(this.getAtt("ModificationTime",cdk().ResolutionTypeHint.STRING)),this.attrStatus=cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING)),this.attrStatusMessage=cdk().Token.asString(this.getAtt("StatusMessage",cdk().ResolutionTypeHint.STRING)),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 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: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.233.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("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}attrArn;attrCreationTime;attrCreatorRequestId;attrId;attrModificationTime;attrOwnerId;attrRuleCount;attrShareStatus;attrStatus;attrStatusMessage;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.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrCreationTime=cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING)),this.attrCreatorRequestId=cdk().Token.asString(this.getAtt("CreatorRequestId",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrModificationTime=cdk().Token.asString(this.getAtt("ModificationTime",cdk().ResolutionTypeHint.STRING)),this.attrOwnerId=cdk().Token.asString(this.getAtt("OwnerId",cdk().ResolutionTypeHint.STRING)),this.attrRuleCount=cdk().Token.asNumber(this.getAtt("RuleCount",cdk().ResolutionTypeHint.NUMBER)),this.attrShareStatus=cdk().Token.asString(this.getAtt("ShareStatus",cdk().ResolutionTypeHint.STRING)),this.attrStatus=cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING)),this.attrStatusMessage=cdk().Token.asString(this.getAtt("StatusMessage",cdk().ResolutionTypeHint.STRING)),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 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: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.233.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("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}attrArn;attrCreationTime;attrCreatorRequestId;attrId;attrManagedOwnerName;attrModificationTime;attrStatus;attrStatusMessage;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.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrCreationTime=cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING)),this.attrCreatorRequestId=cdk().Token.asString(this.getAtt("CreatorRequestId",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrManagedOwnerName=cdk().Token.asString(this.getAtt("ManagedOwnerName",cdk().ResolutionTypeHint.STRING)),this.attrModificationTime=cdk().Token.asString(this.getAtt("ModificationTime",cdk().ResolutionTypeHint.STRING)),this.attrStatus=cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING)),this.attrStatusMessage=cdk().Token.asString(this.getAtt("StatusMessage",cdk().ResolutionTypeHint.STRING)),this.firewallRuleGroupId=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=props.vpcId?.vpcRef?.vpcId??cdk().ensureStringOrUndefined(props.vpcId,"vpcId","ec2.IVPCRef | string")}get firewallRuleGroupAssociationRef(){return{firewallRuleGroupAssociationId:this.ref,firewallRuleGroupAssociationArn:this.attrArn}}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: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.233.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("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}attrArn;attrCreationTime;attrCreatorRequestId;attrId;attrModificationTime;attrStatus;attrStatusMessage;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.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrCreationTime=cdk().Token.asString(this.getAtt("CreationTime",cdk().ResolutionTypeHint.STRING)),this.attrCreatorRequestId=cdk().Token.asString(this.getAtt("CreatorRequestId",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrModificationTime=cdk().Token.asString(this.getAtt("ModificationTime",cdk().ResolutionTypeHint.STRING)),this.attrStatus=cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING)),this.attrStatusMessage=cdk().Token.asString(this.getAtt("StatusMessage",cdk().ResolutionTypeHint.STRING)),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 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: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.233.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("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:cdk().Stack.of(resource).region,Account:cdk().Stack.of(resource).account,ResourceId:resource.resolverConfigRef.resourceId})}attrAutodefinedReverse;attrId;attrOwnerId;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.attrAutodefinedReverse=cdk().Token.asString(this.getAtt("AutodefinedReverse",cdk().ResolutionTypeHint.STRING)),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrOwnerId=cdk().Token.asString(this.getAtt("OwnerId",cdk().ResolutionTypeHint.STRING)),this.autodefinedReverseFlag=props.autodefinedReverseFlag,this.resourceId=props.resourceId}get resolverConfigRef(){return{resourceId:this.ref}}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: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.233.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("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}attrId;attrOwnerId;attrValidationStatus;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.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.attrOwnerId=cdk().Token.asString(this.getAtt("OwnerId",cdk().ResolutionTypeHint.STRING)),this.attrValidationStatus=cdk().Token.asString(this.getAtt("ValidationStatus",cdk().ResolutionTypeHint.STRING)),this.resourceId=props.resourceId}get resolverDnssecConfigRef(){return{resolverDnssecConfigId:this.ref}}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: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.233.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("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}attrArn;attrDirection;attrHostVpcId;attrIpAddressCount;attrName;attrOutpostArn;attrPreferredInstanceType;attrResolverEndpointId;attrResolverEndpointType;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.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.attrDirection=cdk().Token.asString(this.getAtt("Direction",cdk().ResolutionTypeHint.STRING)),this.attrHostVpcId=cdk().Token.asString(this.getAtt("HostVPCId",cdk().ResolutionTypeHint.STRING)),this.attrIpAddressCount=cdk().Token.asString(this.getAtt("IpAddressCount",cdk().ResolutionTypeHint.STRING)),this.attrName=cdk().Token.asString(this.getAtt("Name",cdk().ResolutionTypeHint.STRING)),this.attrOutpostArn=cdk().Token.asString(this.getAtt("OutpostArn",cdk().ResolutionTypeHint.STRING)),this.attrPreferredInstanceType=cdk().Token.asString(this.getAtt("PreferredInstanceType",cdk().ResolutionTypeHint.STRING)),this.attrResolverEndpointId=cdk().Token.asString(this.getAtt("ResolverEndpointId",cdk().ResolutionTypeHint.STRING)),this.attrResolverEndpointType=cdk().Token.asString(this.getAtt("ResolverEndpointType",cdk().ResolutionTypeHint.STRING)),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 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: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().listVa