UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1 lines 51.4 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnHostedZoneAssociation=exports.CfnGlobalResolver=exports.CfnFirewallRule=exports.CfnFirewallDomainList=exports.CfnDnsView=exports.CfnAccessToken=exports.CfnAccessSource=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 CfnAccessSource extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53globalresolver.CfnAccessSource",version:"2.246.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Route53GlobalResolver::AccessSource";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAccessSourcePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("UnexpectedIResolvable","Unexpected IResolvable",scope);const ret=new CfnAccessSource(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 isCfnAccessSource(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAccessSource.CFN_RESOURCE_TYPE_NAME}static arnForAccessSource(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_route53globalresolver_IAccessSourceRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAccessSource),error}return resource.accessSourceRef.accessSourceArn}cdkTagManager;cidr;clientToken;dnsViewId;ipAddressType;name;protocol;tags;constructor(scope,id,props){super(scope,id,{type:CfnAccessSource.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53globalresolver_CfnAccessSourceProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAccessSource),error}cdk().requireProperty(props,"cidr",this),cdk().requireProperty(props,"dnsViewId",this),cdk().requireProperty(props,"protocol",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Route53GlobalResolver::AccessSource",void 0,{tagPropertyName:"tags"}),this.cidr=props.cidr,this.clientToken=props.clientToken,this.dnsViewId=props.dnsViewId,this.ipAddressType=props.ipAddressType,this.name=props.name,this.protocol=props.protocol,this.tags=props.tags}get accessSourceRef(){return{accessSourceId:this.ref,accessSourceArn:this.attrArn}}get attrAccessSourceId(){return cdk().Token.asString(this.getAtt("AccessSourceId",cdk().ResolutionTypeHint.STRING))}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this.tags),cidr:this.cidr,clientToken:this.clientToken,dnsViewId:this.dnsViewId,ipAddressType:this.ipAddressType,name:this.name,protocol:this.protocol}}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",CfnAccessSource.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAccessSourcePropsToCloudFormation(props)}}exports.CfnAccessSource=CfnAccessSource;function CfnAccessSourcePropsValidator(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("cidr",cdk().requiredValidator)(properties.cidr)),errors.collect(cdk().propertyValidator("cidr",cdk().validateString)(properties.cidr)),errors.collect(cdk().propertyValidator("clientToken",cdk().validateString)(properties.clientToken)),errors.collect(cdk().propertyValidator("dnsViewId",cdk().requiredValidator)(properties.dnsViewId)),errors.collect(cdk().propertyValidator("dnsViewId",cdk().validateString)(properties.dnsViewId)),errors.collect(cdk().propertyValidator("ipAddressType",cdk().validateString)(properties.ipAddressType)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("protocol",cdk().requiredValidator)(properties.protocol)),errors.collect(cdk().propertyValidator("protocol",cdk().validateString)(properties.protocol)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnAccessSourceProps"')}function convertCfnAccessSourcePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAccessSourcePropsValidator(properties).assertSuccess(),{Cidr:cdk().stringToCloudFormation(properties.cidr),ClientToken:cdk().stringToCloudFormation(properties.clientToken),DnsViewId:cdk().stringToCloudFormation(properties.dnsViewId),IpAddressType:cdk().stringToCloudFormation(properties.ipAddressType),Name:cdk().stringToCloudFormation(properties.name),Protocol:cdk().stringToCloudFormation(properties.protocol),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnAccessSourcePropsFromCloudFormation(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("cidr","Cidr",properties.Cidr!=null?cfn_parse().FromCloudFormation.getString(properties.Cidr):void 0),ret.addPropertyResult("clientToken","ClientToken",properties.ClientToken!=null?cfn_parse().FromCloudFormation.getString(properties.ClientToken):void 0),ret.addPropertyResult("dnsViewId","DnsViewId",properties.DnsViewId!=null?cfn_parse().FromCloudFormation.getString(properties.DnsViewId):void 0),ret.addPropertyResult("ipAddressType","IpAddressType",properties.IpAddressType!=null?cfn_parse().FromCloudFormation.getString(properties.IpAddressType):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("protocol","Protocol",properties.Protocol!=null?cfn_parse().FromCloudFormation.getString(properties.Protocol):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 CfnAccessToken extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53globalresolver.CfnAccessToken",version:"2.246.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Route53GlobalResolver::AccessToken";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnAccessTokenPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("UnexpectedIResolvable","Unexpected IResolvable",scope);const ret=new CfnAccessToken(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 isCfnAccessToken(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnAccessToken.CFN_RESOURCE_TYPE_NAME}static arnForAccessToken(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_route53globalresolver_IAccessTokenRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForAccessToken),error}return resource.accessTokenRef.accessTokenArn}cdkTagManager;clientToken;dnsViewId;expiresAt;name;tags;constructor(scope,id,props){super(scope,id,{type:CfnAccessToken.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53globalresolver_CfnAccessTokenProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnAccessToken),error}cdk().requireProperty(props,"dnsViewId",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Route53GlobalResolver::AccessToken",void 0,{tagPropertyName:"tags"}),this.clientToken=props.clientToken,this.dnsViewId=props.dnsViewId,this.expiresAt=props.expiresAt,this.name=props.name,this.tags=props.tags}get accessTokenRef(){return{accessTokenId:this.ref,accessTokenArn:this.attrArn}}get attrAccessTokenId(){return cdk().Token.asString(this.getAtt("AccessTokenId",cdk().ResolutionTypeHint.STRING))}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrGlobalResolverId(){return cdk().Token.asString(this.getAtt("GlobalResolverId",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get attrValue(){return cdk().Token.asString(this.getAtt("Value",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this.tags),clientToken:this.clientToken,dnsViewId:this.dnsViewId,expiresAt:this.expiresAt,name:this.name}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnAccessToken.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnAccessTokenPropsToCloudFormation(props)}}exports.CfnAccessToken=CfnAccessToken;function CfnAccessTokenPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("clientToken",cdk().validateString)(properties.clientToken)),errors.collect(cdk().propertyValidator("dnsViewId",cdk().requiredValidator)(properties.dnsViewId)),errors.collect(cdk().propertyValidator("dnsViewId",cdk().validateString)(properties.dnsViewId)),errors.collect(cdk().propertyValidator("expiresAt",cdk().validateString)(properties.expiresAt)),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 "CfnAccessTokenProps"')}function convertCfnAccessTokenPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnAccessTokenPropsValidator(properties).assertSuccess(),{ClientToken:cdk().stringToCloudFormation(properties.clientToken),DnsViewId:cdk().stringToCloudFormation(properties.dnsViewId),ExpiresAt:cdk().stringToCloudFormation(properties.expiresAt),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnAccessTokenPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("clientToken","ClientToken",properties.ClientToken!=null?cfn_parse().FromCloudFormation.getString(properties.ClientToken):void 0),ret.addPropertyResult("dnsViewId","DnsViewId",properties.DnsViewId!=null?cfn_parse().FromCloudFormation.getString(properties.DnsViewId):void 0),ret.addPropertyResult("expiresAt","ExpiresAt",properties.ExpiresAt!=null?cfn_parse().FromCloudFormation.getString(properties.ExpiresAt):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 CfnDnsView extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53globalresolver.CfnDnsView",version:"2.246.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Route53GlobalResolver::DnsView";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnDnsViewPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("UnexpectedIResolvable","Unexpected IResolvable",scope);const ret=new CfnDnsView(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 isCfnDnsView(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnDnsView.CFN_RESOURCE_TYPE_NAME}static arnForDnsView(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_route53globalresolver_IDnsViewRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForDnsView),error}return resource.dnsViewRef.dnsViewArn}cdkTagManager;clientToken;description;dnssecValidation;ednsClientSubnet;firewallRulesFailOpen;globalResolverId;name;tags;constructor(scope,id,props){super(scope,id,{type:CfnDnsView.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53globalresolver_CfnDnsViewProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnDnsView),error}cdk().requireProperty(props,"globalResolverId",this),cdk().requireProperty(props,"name",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Route53GlobalResolver::DnsView",void 0,{tagPropertyName:"tags"}),this.clientToken=props.clientToken,this.description=props.description,this.dnssecValidation=props.dnssecValidation,this.ednsClientSubnet=props.ednsClientSubnet,this.firewallRulesFailOpen=props.firewallRulesFailOpen,this.globalResolverId=props.globalResolverId,this.name=props.name,this.tags=props.tags}get dnsViewRef(){return{dnsViewId:this.ref,dnsViewArn:this.attrArn}}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrDnsViewId(){return cdk().Token.asString(this.getAtt("DnsViewId",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this.tags),clientToken:this.clientToken,description:this.description,dnssecValidation:this.dnssecValidation,ednsClientSubnet:this.ednsClientSubnet,firewallRulesFailOpen:this.firewallRulesFailOpen,globalResolverId:this.globalResolverId,name:this.name}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",CfnDnsView.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnDnsViewPropsToCloudFormation(props)}}exports.CfnDnsView=CfnDnsView;function CfnDnsViewPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("clientToken",cdk().validateString)(properties.clientToken)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("dnssecValidation",cdk().validateString)(properties.dnssecValidation)),errors.collect(cdk().propertyValidator("ednsClientSubnet",cdk().validateString)(properties.ednsClientSubnet)),errors.collect(cdk().propertyValidator("firewallRulesFailOpen",cdk().validateString)(properties.firewallRulesFailOpen)),errors.collect(cdk().propertyValidator("globalResolverId",cdk().requiredValidator)(properties.globalResolverId)),errors.collect(cdk().propertyValidator("globalResolverId",cdk().validateString)(properties.globalResolverId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnDnsViewProps"')}function convertCfnDnsViewPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnDnsViewPropsValidator(properties).assertSuccess(),{ClientToken:cdk().stringToCloudFormation(properties.clientToken),Description:cdk().stringToCloudFormation(properties.description),DnssecValidation:cdk().stringToCloudFormation(properties.dnssecValidation),EdnsClientSubnet:cdk().stringToCloudFormation(properties.ednsClientSubnet),FirewallRulesFailOpen:cdk().stringToCloudFormation(properties.firewallRulesFailOpen),GlobalResolverId:cdk().stringToCloudFormation(properties.globalResolverId),Name:cdk().stringToCloudFormation(properties.name),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnDnsViewPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("clientToken","ClientToken",properties.ClientToken!=null?cfn_parse().FromCloudFormation.getString(properties.ClientToken):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("dnssecValidation","DnssecValidation",properties.DnssecValidation!=null?cfn_parse().FromCloudFormation.getString(properties.DnssecValidation):void 0),ret.addPropertyResult("ednsClientSubnet","EdnsClientSubnet",properties.EdnsClientSubnet!=null?cfn_parse().FromCloudFormation.getString(properties.EdnsClientSubnet):void 0),ret.addPropertyResult("firewallRulesFailOpen","FirewallRulesFailOpen",properties.FirewallRulesFailOpen!=null?cfn_parse().FromCloudFormation.getString(properties.FirewallRulesFailOpen):void 0),ret.addPropertyResult("globalResolverId","GlobalResolverId",properties.GlobalResolverId!=null?cfn_parse().FromCloudFormation.getString(properties.GlobalResolverId):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 CfnFirewallDomainList extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53globalresolver.CfnFirewallDomainList",version:"2.246.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Route53GlobalResolver::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("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_route53globalresolver_IFirewallDomainListRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForFirewallDomainList),error}return resource.firewallDomainListRef.firewallDomainListArn}cdkTagManager;clientToken;description;domainFileUrl;domains;globalResolverId;name;tags;constructor(scope,id,props){super(scope,id,{type:CfnFirewallDomainList.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53globalresolver_CfnFirewallDomainListProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFirewallDomainList),error}cdk().requireProperty(props,"globalResolverId",this),cdk().requireProperty(props,"name",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Route53GlobalResolver::FirewallDomainList",void 0,{tagPropertyName:"tags"}),this.clientToken=props.clientToken,this.description=props.description,this.domainFileUrl=props.domainFileUrl,this.domains=props.domains,this.globalResolverId=props.globalResolverId,this.name=props.name,this.tags=props.tags}get firewallDomainListRef(){return{firewallDomainListId:this.ref,firewallDomainListArn:this.attrArn}}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrDomainCount(){return cdk().Token.asNumber(this.getAtt("DomainCount",cdk().ResolutionTypeHint.NUMBER))}get attrFirewallDomainListId(){return cdk().Token.asString(this.getAtt("FirewallDomainListId",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 attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this.tags),clientToken:this.clientToken,description:this.description,domainFileUrl:this.domainFileUrl,domains:this.domains,globalResolverId:this.globalResolverId,name:this.name}}inspect(inspector){try{jsiiDeprecationWarnings().aws_cdk_lib_TreeInspector(inspector)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.inspect),error}inspector.addAttribute("aws:cdk:cloudformation:type",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("clientToken",cdk().validateString)(properties.clientToken)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("domainFileUrl",cdk().validateString)(properties.domainFileUrl)),errors.collect(cdk().propertyValidator("domains",cdk().listValidator(cdk().validateString))(properties.domains)),errors.collect(cdk().propertyValidator("globalResolverId",cdk().requiredValidator)(properties.globalResolverId)),errors.collect(cdk().propertyValidator("globalResolverId",cdk().validateString)(properties.globalResolverId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnFirewallDomainListProps"')}function convertCfnFirewallDomainListPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFirewallDomainListPropsValidator(properties).assertSuccess(),{ClientToken:cdk().stringToCloudFormation(properties.clientToken),Description:cdk().stringToCloudFormation(properties.description),DomainFileUrl:cdk().stringToCloudFormation(properties.domainFileUrl),Domains:cdk().listMapper(cdk().stringToCloudFormation)(properties.domains),GlobalResolverId:cdk().stringToCloudFormation(properties.globalResolverId),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("clientToken","ClientToken",properties.ClientToken!=null?cfn_parse().FromCloudFormation.getString(properties.ClientToken):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),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("globalResolverId","GlobalResolverId",properties.GlobalResolverId!=null?cfn_parse().FromCloudFormation.getString(properties.GlobalResolverId):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 CfnFirewallRule extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53globalresolver.CfnFirewallRule",version:"2.246.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Route53GlobalResolver::FirewallRule";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnFirewallRulePropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("UnexpectedIResolvable","Unexpected IResolvable",scope);const ret=new CfnFirewallRule(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 isCfnFirewallRule(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnFirewallRule.CFN_RESOURCE_TYPE_NAME}action;blockOverrideDnsType;blockOverrideDomain;blockOverrideTtl;blockResponse;clientToken;confidenceThreshold;description;dnsAdvancedProtection;dnsViewId;firewallDomainListId;name;priority;qType;constructor(scope,id,props){super(scope,id,{type:CfnFirewallRule.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53globalresolver_CfnFirewallRuleProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnFirewallRule),error}cdk().requireProperty(props,"action",this),cdk().requireProperty(props,"dnsViewId",this),cdk().requireProperty(props,"name",this),this.action=props.action,this.blockOverrideDnsType=props.blockOverrideDnsType,this.blockOverrideDomain=props.blockOverrideDomain,this.blockOverrideTtl=props.blockOverrideTtl,this.blockResponse=props.blockResponse,this.clientToken=props.clientToken,this.confidenceThreshold=props.confidenceThreshold,this.description=props.description,this.dnsAdvancedProtection=props.dnsAdvancedProtection,this.dnsViewId=props.dnsViewId,this.firewallDomainListId=props.firewallDomainListId,this.name=props.name,this.priority=props.priority,this.qType=props.qType}get firewallRuleRef(){return{firewallRuleId:this.ref}}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrFirewallRuleId(){return cdk().Token.asString(this.getAtt("FirewallRuleId",cdk().ResolutionTypeHint.STRING))}get attrQueryType(){return cdk().Token.asString(this.getAtt("QueryType",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{action:this.action,blockOverrideDnsType:this.blockOverrideDnsType,blockOverrideDomain:this.blockOverrideDomain,blockOverrideTtl:this.blockOverrideTtl,blockResponse:this.blockResponse,clientToken:this.clientToken,confidenceThreshold:this.confidenceThreshold,description:this.description,dnsAdvancedProtection:this.dnsAdvancedProtection,dnsViewId:this.dnsViewId,firewallDomainListId:this.firewallDomainListId,name:this.name,priority:this.priority,qType:this.qType}}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",CfnFirewallRule.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnFirewallRulePropsToCloudFormation(props)}}exports.CfnFirewallRule=CfnFirewallRule;function CfnFirewallRulePropsValidator(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("clientToken",cdk().validateString)(properties.clientToken)),errors.collect(cdk().propertyValidator("confidenceThreshold",cdk().validateString)(properties.confidenceThreshold)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("dnsAdvancedProtection",cdk().validateString)(properties.dnsAdvancedProtection)),errors.collect(cdk().propertyValidator("dnsViewId",cdk().requiredValidator)(properties.dnsViewId)),errors.collect(cdk().propertyValidator("dnsViewId",cdk().validateString)(properties.dnsViewId)),errors.collect(cdk().propertyValidator("firewallDomainListId",cdk().validateString)(properties.firewallDomainListId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),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 "CfnFirewallRuleProps"')}function convertCfnFirewallRulePropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnFirewallRulePropsValidator(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),ClientToken:cdk().stringToCloudFormation(properties.clientToken),ConfidenceThreshold:cdk().stringToCloudFormation(properties.confidenceThreshold),Description:cdk().stringToCloudFormation(properties.description),DnsAdvancedProtection:cdk().stringToCloudFormation(properties.dnsAdvancedProtection),DnsViewId:cdk().stringToCloudFormation(properties.dnsViewId),FirewallDomainListId:cdk().stringToCloudFormation(properties.firewallDomainListId),Name:cdk().stringToCloudFormation(properties.name),Priority:cdk().numberToCloudFormation(properties.priority),QType:cdk().stringToCloudFormation(properties.qType)}):properties}function CfnFirewallRulePropsFromCloudFormation(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("clientToken","ClientToken",properties.ClientToken!=null?cfn_parse().FromCloudFormation.getString(properties.ClientToken):void 0),ret.addPropertyResult("confidenceThreshold","ConfidenceThreshold",properties.ConfidenceThreshold!=null?cfn_parse().FromCloudFormation.getString(properties.ConfidenceThreshold):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("dnsAdvancedProtection","DnsAdvancedProtection",properties.DnsAdvancedProtection!=null?cfn_parse().FromCloudFormation.getString(properties.DnsAdvancedProtection):void 0),ret.addPropertyResult("dnsViewId","DnsViewId",properties.DnsViewId!=null?cfn_parse().FromCloudFormation.getString(properties.DnsViewId):void 0),ret.addPropertyResult("firewallDomainListId","FirewallDomainListId",properties.FirewallDomainListId!=null?cfn_parse().FromCloudFormation.getString(properties.FirewallDomainListId):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("qType","QType",properties.QType!=null?cfn_parse().FromCloudFormation.getString(properties.QType):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnGlobalResolver extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53globalresolver.CfnGlobalResolver",version:"2.246.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Route53GlobalResolver::GlobalResolver";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnGlobalResolverPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("UnexpectedIResolvable","Unexpected IResolvable",scope);const ret=new CfnGlobalResolver(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 isCfnGlobalResolver(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnGlobalResolver.CFN_RESOURCE_TYPE_NAME}static arnForGlobalResolver(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_route53globalresolver_IGlobalResolverRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForGlobalResolver),error}return resource.globalResolverRef.globalResolverArn}cdkTagManager;clientToken;description;ipAddressType;name;observabilityRegion;regions;tags;constructor(scope,id,props){super(scope,id,{type:CfnGlobalResolver.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53globalresolver_CfnGlobalResolverProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnGlobalResolver),error}cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"regions",this),this.cdkTagManager=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::Route53GlobalResolver::GlobalResolver",void 0,{tagPropertyName:"tags"}),this.clientToken=props.clientToken,this.description=props.description,this.ipAddressType=props.ipAddressType,this.name=props.name,this.observabilityRegion=props.observabilityRegion,this.regions=props.regions,this.tags=props.tags}get globalResolverRef(){return{globalResolverId:this.ref,globalResolverArn:this.attrArn}}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrDnsName(){return cdk().Token.asString(this.getAtt("DnsName",cdk().ResolutionTypeHint.STRING))}get attrGlobalResolverId(){return cdk().Token.asString(this.getAtt("GlobalResolverId",cdk().ResolutionTypeHint.STRING))}get attrIPv4Addresses(){return cdk().Token.asList(this.getAtt("IPv4Addresses",cdk().ResolutionTypeHint.STRING_LIST))}get attrIPv6Addresses(){return cdk().Token.asList(this.getAtt("IPv6Addresses",cdk().ResolutionTypeHint.STRING_LIST))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{tags:this.cdkTagManager.renderTags(this.tags),clientToken:this.clientToken,description:this.description,ipAddressType:this.ipAddressType,name:this.name,observabilityRegion:this.observabilityRegion,regions:this.regions}}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",CfnGlobalResolver.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnGlobalResolverPropsToCloudFormation(props)}}exports.CfnGlobalResolver=CfnGlobalResolver;function CfnGlobalResolverPropsValidator(properties){if(!cdk().canInspect(properties))return cdk().VALIDATION_SUCCESS;const errors=new(cdk()).ValidationResults;return properties&&typeof properties=="object"&&!Array.isArray(properties)||errors.collect(new(cdk()).ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk().propertyValidator("clientToken",cdk().validateString)(properties.clientToken)),errors.collect(cdk().propertyValidator("description",cdk().validateString)(properties.description)),errors.collect(cdk().propertyValidator("ipAddressType",cdk().validateString)(properties.ipAddressType)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("observabilityRegion",cdk().validateString)(properties.observabilityRegion)),errors.collect(cdk().propertyValidator("regions",cdk().requiredValidator)(properties.regions)),errors.collect(cdk().propertyValidator("regions",cdk().listValidator(cdk().validateString))(properties.regions)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.wrap('supplied properties not correct for "CfnGlobalResolverProps"')}function convertCfnGlobalResolverPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnGlobalResolverPropsValidator(properties).assertSuccess(),{ClientToken:cdk().stringToCloudFormation(properties.clientToken),Description:cdk().stringToCloudFormation(properties.description),IpAddressType:cdk().stringToCloudFormation(properties.ipAddressType),Name:cdk().stringToCloudFormation(properties.name),ObservabilityRegion:cdk().stringToCloudFormation(properties.observabilityRegion),Regions:cdk().listMapper(cdk().stringToCloudFormation)(properties.regions),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags)}):properties}function CfnGlobalResolverPropsFromCloudFormation(properties){if(cdk().isResolvableObject(properties))return new(cfn_parse()).FromCloudFormationResult(properties);if(properties=properties??{},!(properties&&typeof properties=="object"&&!Array.isArray(properties)))return new(cfn_parse()).FromCloudFormationResult(properties);const ret=new(cfn_parse()).FromCloudFormationPropertyObject;return ret.addPropertyResult("clientToken","ClientToken",properties.ClientToken!=null?cfn_parse().FromCloudFormation.getString(properties.ClientToken):void 0),ret.addPropertyResult("description","Description",properties.Description!=null?cfn_parse().FromCloudFormation.getString(properties.Description):void 0),ret.addPropertyResult("ipAddressType","IpAddressType",properties.IpAddressType!=null?cfn_parse().FromCloudFormation.getString(properties.IpAddressType):void 0),ret.addPropertyResult("name","Name",properties.Name!=null?cfn_parse().FromCloudFormation.getString(properties.Name):void 0),ret.addPropertyResult("observabilityRegion","ObservabilityRegion",properties.ObservabilityRegion!=null?cfn_parse().FromCloudFormation.getString(properties.ObservabilityRegion):void 0),ret.addPropertyResult("regions","Regions",properties.Regions!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Regions):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 CfnHostedZoneAssociation extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_route53globalresolver.CfnHostedZoneAssociation",version:"2.246.0"};static CFN_RESOURCE_TYPE_NAME="AWS::Route53GlobalResolver::HostedZoneAssociation";static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnHostedZoneAssociationPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("UnexpectedIResolvable","Unexpected IResolvable",scope);const ret=new CfnHostedZoneAssociation(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 isCfnHostedZoneAssociation(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnHostedZoneAssociation.CFN_RESOURCE_TYPE_NAME}hostedZoneId;name;resourceArn;constructor(scope,id,props){super(scope,id,{type:CfnHostedZoneAssociation.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_route53globalresolver_CfnHostedZoneAssociationProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnHostedZoneAssociation),error}cdk().requireProperty(props,"hostedZoneId",this),cdk().requireProperty(props,"name",this),cdk().requireProperty(props,"resourceArn",this),this.hostedZoneId=props.hostedZoneId,this.name=props.name,this.resourceArn=props.resourceArn}get hostedZoneAssociationRef(){return{hostedZoneAssociationId:this.ref}}get attrCreatedAt(){return cdk().Token.asString(this.getAtt("CreatedAt",cdk().ResolutionTypeHint.STRING))}get attrHostedZoneAssociationId(){return cdk().Token.asString(this.getAtt("HostedZoneAssociationId",cdk().ResolutionTypeHint.STRING))}get attrHostedZoneName(){return cdk().Token.asString(this.getAtt("HostedZoneName",cdk().ResolutionTypeHint.STRING))}get attrStatus(){return cdk().Token.asString(this.getAtt("Status",cdk().ResolutionTypeHint.STRING))}get attrUpdatedAt(){return cdk().Token.asString(this.getAtt("UpdatedAt",cdk().ResolutionTypeHint.STRING))}get cfnProperties(){return{hostedZoneId:this.hostedZoneId,name:this.name,resourceArn:this.resourceArn}}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",CfnHostedZoneAssociation.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnHostedZoneAssociationPropsToCloudFormation(props)}}exports.CfnHostedZoneAssociation=CfnHostedZoneAssociation;function CfnHostedZoneAssociationPropsValidator(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("hostedZoneId",cdk().requiredValidator)(properties.hostedZoneId)),errors.collect(cdk().propertyValidator("hostedZoneId",cdk().validateString)(properties.hostedZoneId)),errors.collect(cdk().propertyValidator("name",cdk().requiredValidator)(properties.name)),errors.collect(cdk().propertyValidator("name",cdk().validateString)(properties.name)),errors.collect(cdk().propertyValidator("resourceArn",cdk().requiredValidator)(properties.resourceArn)),errors.collect(cdk().propertyValidator("resour