aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
2 lines (1 loc) • 29.4 kB
JavaScript
"use strict";var _a,_b,_c,_d;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnTopicPolicy=exports.CfnTopicInlinePolicy=exports.CfnTopic=exports.CfnSubscription=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");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 CfnSubscription extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSubscriptionPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnSubscription(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}constructor(scope,id,props){super(scope,id,{type:CfnSubscription.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_sns_CfnSubscriptionProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnSubscription),error}cdk().requireProperty(props,"protocol",this),cdk().requireProperty(props,"topicArn",this),this.attrArn=cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING)),this.deliveryPolicy=props.deliveryPolicy,this.endpoint=props.endpoint,this.filterPolicy=props.filterPolicy,this.filterPolicyScope=props.filterPolicyScope,this.protocol=props.protocol,this.rawMessageDelivery=props.rawMessageDelivery,this.redrivePolicy=props.redrivePolicy,this.region=props.region,this.replayPolicy=props.replayPolicy,this.subscriptionRoleArn=props.subscriptionRoleArn,this.topicArn=props.topicArn}get cfnProperties(){return{deliveryPolicy:this.deliveryPolicy,endpoint:this.endpoint,filterPolicy:this.filterPolicy,filterPolicyScope:this.filterPolicyScope,protocol:this.protocol,rawMessageDelivery:this.rawMessageDelivery,redrivePolicy:this.redrivePolicy,region:this.region,replayPolicy:this.replayPolicy,subscriptionRoleArn:this.subscriptionRoleArn,topicArn:this.topicArn}}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",CfnSubscription.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnSubscriptionPropsToCloudFormation(props)}}exports.CfnSubscription=CfnSubscription,_a=JSII_RTTI_SYMBOL_1,CfnSubscription[_a]={fqn:"aws-cdk-lib.aws_sns.CfnSubscription",version:"2.202.0"},CfnSubscription.CFN_RESOURCE_TYPE_NAME="AWS::SNS::Subscription";function CfnSubscriptionPropsValidator(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("deliveryPolicy",cdk().validateObject)(properties.deliveryPolicy)),errors.collect(cdk().propertyValidator("endpoint",cdk().validateString)(properties.endpoint)),errors.collect(cdk().propertyValidator("filterPolicy",cdk().validateObject)(properties.filterPolicy)),errors.collect(cdk().propertyValidator("filterPolicyScope",cdk().validateString)(properties.filterPolicyScope)),errors.collect(cdk().propertyValidator("protocol",cdk().requiredValidator)(properties.protocol)),errors.collect(cdk().propertyValidator("protocol",cdk().validateString)(properties.protocol)),errors.collect(cdk().propertyValidator("rawMessageDelivery",cdk().validateBoolean)(properties.rawMessageDelivery)),errors.collect(cdk().propertyValidator("redrivePolicy",cdk().validateObject)(properties.redrivePolicy)),errors.collect(cdk().propertyValidator("region",cdk().validateString)(properties.region)),errors.collect(cdk().propertyValidator("replayPolicy",cdk().unionValidator(cdk().validateString,cdk().validateObject))(properties.replayPolicy)),errors.collect(cdk().propertyValidator("subscriptionRoleArn",cdk().validateString)(properties.subscriptionRoleArn)),errors.collect(cdk().propertyValidator("topicArn",cdk().requiredValidator)(properties.topicArn)),errors.collect(cdk().propertyValidator("topicArn",cdk().validateString)(properties.topicArn)),errors.wrap('supplied properties not correct for "CfnSubscriptionProps"')}function convertCfnSubscriptionPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnSubscriptionPropsValidator(properties).assertSuccess(),{DeliveryPolicy:cdk().objectToCloudFormation(properties.deliveryPolicy),Endpoint:cdk().stringToCloudFormation(properties.endpoint),FilterPolicy:cdk().objectToCloudFormation(properties.filterPolicy),FilterPolicyScope:cdk().stringToCloudFormation(properties.filterPolicyScope),Protocol:cdk().stringToCloudFormation(properties.protocol),RawMessageDelivery:cdk().booleanToCloudFormation(properties.rawMessageDelivery),RedrivePolicy:cdk().objectToCloudFormation(properties.redrivePolicy),Region:cdk().stringToCloudFormation(properties.region),ReplayPolicy:cdk().unionMapper([cdk().validateString,cdk().validateObject],[cdk().stringToCloudFormation,cdk().objectToCloudFormation])(properties.replayPolicy),SubscriptionRoleArn:cdk().stringToCloudFormation(properties.subscriptionRoleArn),TopicArn:cdk().stringToCloudFormation(properties.topicArn)}):properties}function CfnSubscriptionPropsFromCloudFormation(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("deliveryPolicy","DeliveryPolicy",properties.DeliveryPolicy!=null?cfn_parse().FromCloudFormation.getAny(properties.DeliveryPolicy):void 0),ret.addPropertyResult("endpoint","Endpoint",properties.Endpoint!=null?cfn_parse().FromCloudFormation.getString(properties.Endpoint):void 0),ret.addPropertyResult("filterPolicy","FilterPolicy",properties.FilterPolicy!=null?cfn_parse().FromCloudFormation.getAny(properties.FilterPolicy):void 0),ret.addPropertyResult("filterPolicyScope","FilterPolicyScope",properties.FilterPolicyScope!=null?cfn_parse().FromCloudFormation.getString(properties.FilterPolicyScope):void 0),ret.addPropertyResult("protocol","Protocol",properties.Protocol!=null?cfn_parse().FromCloudFormation.getString(properties.Protocol):void 0),ret.addPropertyResult("rawMessageDelivery","RawMessageDelivery",properties.RawMessageDelivery!=null?cfn_parse().FromCloudFormation.getBoolean(properties.RawMessageDelivery):void 0),ret.addPropertyResult("redrivePolicy","RedrivePolicy",properties.RedrivePolicy!=null?cfn_parse().FromCloudFormation.getAny(properties.RedrivePolicy):void 0),ret.addPropertyResult("region","Region",properties.Region!=null?cfn_parse().FromCloudFormation.getString(properties.Region):void 0),ret.addPropertyResult("replayPolicy","ReplayPolicy",properties.ReplayPolicy!=null?cfn_parse().FromCloudFormation.getTypeUnion([cdk().validateString,cdk().validateObject],[cfn_parse().FromCloudFormation.getString,cfn_parse().FromCloudFormation.getAny])(properties.ReplayPolicy):void 0),ret.addPropertyResult("subscriptionRoleArn","SubscriptionRoleArn",properties.SubscriptionRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.SubscriptionRoleArn):void 0),ret.addPropertyResult("topicArn","TopicArn",properties.TopicArn!=null?cfn_parse().FromCloudFormation.getString(properties.TopicArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTopic extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTopicPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnTopic(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}constructor(scope,id,props={}){super(scope,id,{type:CfnTopic.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_sns_CfnTopicProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTopic),error}this.attrTopicArn=cdk().Token.asString(this.getAtt("TopicArn",cdk().ResolutionTypeHint.STRING)),this.attrTopicName=cdk().Token.asString(this.getAtt("TopicName",cdk().ResolutionTypeHint.STRING)),this.archivePolicy=props.archivePolicy,this.contentBasedDeduplication=props.contentBasedDeduplication,this.dataProtectionPolicy=props.dataProtectionPolicy,this.deliveryStatusLogging=props.deliveryStatusLogging,this.displayName=props.displayName,this.fifoThroughputScope=props.fifoThroughputScope,this.fifoTopic=props.fifoTopic,this.kmsMasterKeyId=props.kmsMasterKeyId,this.signatureVersion=props.signatureVersion,this.subscription=props.subscription,this.tags=new(cdk()).TagManager(cdk().TagType.STANDARD,"AWS::SNS::Topic",props.tags,{tagPropertyName:"tags"}),this.tagsRaw=props.tags,this.topicName=props.topicName,this.tracingConfig=props.tracingConfig}get cfnProperties(){return{archivePolicy:this.archivePolicy,contentBasedDeduplication:this.contentBasedDeduplication,dataProtectionPolicy:this.dataProtectionPolicy,deliveryStatusLogging:this.deliveryStatusLogging,displayName:this.displayName,fifoThroughputScope:this.fifoThroughputScope,fifoTopic:this.fifoTopic,kmsMasterKeyId:this.kmsMasterKeyId,signatureVersion:this.signatureVersion,subscription:this.subscription,tags:this.tags.renderTags(),topicName:this.topicName,tracingConfig:this.tracingConfig}}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",CfnTopic.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTopicPropsToCloudFormation(props)}}exports.CfnTopic=CfnTopic,_b=JSII_RTTI_SYMBOL_1,CfnTopic[_b]={fqn:"aws-cdk-lib.aws_sns.CfnTopic",version:"2.202.0"},CfnTopic.CFN_RESOURCE_TYPE_NAME="AWS::SNS::Topic";function CfnTopicSubscriptionPropertyValidator(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("endpoint",cdk().requiredValidator)(properties.endpoint)),errors.collect(cdk().propertyValidator("endpoint",cdk().validateString)(properties.endpoint)),errors.collect(cdk().propertyValidator("protocol",cdk().requiredValidator)(properties.protocol)),errors.collect(cdk().propertyValidator("protocol",cdk().validateString)(properties.protocol)),errors.wrap('supplied properties not correct for "SubscriptionProperty"')}function convertCfnTopicSubscriptionPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicSubscriptionPropertyValidator(properties).assertSuccess(),{Endpoint:cdk().stringToCloudFormation(properties.endpoint),Protocol:cdk().stringToCloudFormation(properties.protocol)}):properties}function CfnTopicSubscriptionPropertyFromCloudFormation(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("endpoint","Endpoint",properties.Endpoint!=null?cfn_parse().FromCloudFormation.getString(properties.Endpoint):void 0),ret.addPropertyResult("protocol","Protocol",properties.Protocol!=null?cfn_parse().FromCloudFormation.getString(properties.Protocol):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicLoggingConfigPropertyValidator(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("failureFeedbackRoleArn",cdk().validateString)(properties.failureFeedbackRoleArn)),errors.collect(cdk().propertyValidator("protocol",cdk().requiredValidator)(properties.protocol)),errors.collect(cdk().propertyValidator("protocol",cdk().validateString)(properties.protocol)),errors.collect(cdk().propertyValidator("successFeedbackRoleArn",cdk().validateString)(properties.successFeedbackRoleArn)),errors.collect(cdk().propertyValidator("successFeedbackSampleRate",cdk().validateString)(properties.successFeedbackSampleRate)),errors.wrap('supplied properties not correct for "LoggingConfigProperty"')}function convertCfnTopicLoggingConfigPropertyToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicLoggingConfigPropertyValidator(properties).assertSuccess(),{FailureFeedbackRoleArn:cdk().stringToCloudFormation(properties.failureFeedbackRoleArn),Protocol:cdk().stringToCloudFormation(properties.protocol),SuccessFeedbackRoleArn:cdk().stringToCloudFormation(properties.successFeedbackRoleArn),SuccessFeedbackSampleRate:cdk().stringToCloudFormation(properties.successFeedbackSampleRate)}):properties}function CfnTopicLoggingConfigPropertyFromCloudFormation(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("failureFeedbackRoleArn","FailureFeedbackRoleArn",properties.FailureFeedbackRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.FailureFeedbackRoleArn):void 0),ret.addPropertyResult("protocol","Protocol",properties.Protocol!=null?cfn_parse().FromCloudFormation.getString(properties.Protocol):void 0),ret.addPropertyResult("successFeedbackRoleArn","SuccessFeedbackRoleArn",properties.SuccessFeedbackRoleArn!=null?cfn_parse().FromCloudFormation.getString(properties.SuccessFeedbackRoleArn):void 0),ret.addPropertyResult("successFeedbackSampleRate","SuccessFeedbackSampleRate",properties.SuccessFeedbackSampleRate!=null?cfn_parse().FromCloudFormation.getString(properties.SuccessFeedbackSampleRate):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicPropsValidator(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("archivePolicy",cdk().validateObject)(properties.archivePolicy)),errors.collect(cdk().propertyValidator("contentBasedDeduplication",cdk().validateBoolean)(properties.contentBasedDeduplication)),errors.collect(cdk().propertyValidator("dataProtectionPolicy",cdk().validateObject)(properties.dataProtectionPolicy)),errors.collect(cdk().propertyValidator("deliveryStatusLogging",cdk().listValidator(CfnTopicLoggingConfigPropertyValidator))(properties.deliveryStatusLogging)),errors.collect(cdk().propertyValidator("displayName",cdk().validateString)(properties.displayName)),errors.collect(cdk().propertyValidator("fifoThroughputScope",cdk().validateString)(properties.fifoThroughputScope)),errors.collect(cdk().propertyValidator("fifoTopic",cdk().validateBoolean)(properties.fifoTopic)),errors.collect(cdk().propertyValidator("kmsMasterKeyId",cdk().validateString)(properties.kmsMasterKeyId)),errors.collect(cdk().propertyValidator("signatureVersion",cdk().validateString)(properties.signatureVersion)),errors.collect(cdk().propertyValidator("subscription",cdk().listValidator(CfnTopicSubscriptionPropertyValidator))(properties.subscription)),errors.collect(cdk().propertyValidator("tags",cdk().listValidator(cdk().validateCfnTag))(properties.tags)),errors.collect(cdk().propertyValidator("topicName",cdk().validateString)(properties.topicName)),errors.collect(cdk().propertyValidator("tracingConfig",cdk().validateString)(properties.tracingConfig)),errors.wrap('supplied properties not correct for "CfnTopicProps"')}function convertCfnTopicPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicPropsValidator(properties).assertSuccess(),{ArchivePolicy:cdk().objectToCloudFormation(properties.archivePolicy),ContentBasedDeduplication:cdk().booleanToCloudFormation(properties.contentBasedDeduplication),DataProtectionPolicy:cdk().objectToCloudFormation(properties.dataProtectionPolicy),DeliveryStatusLogging:cdk().listMapper(convertCfnTopicLoggingConfigPropertyToCloudFormation)(properties.deliveryStatusLogging),DisplayName:cdk().stringToCloudFormation(properties.displayName),FifoThroughputScope:cdk().stringToCloudFormation(properties.fifoThroughputScope),FifoTopic:cdk().booleanToCloudFormation(properties.fifoTopic),KmsMasterKeyId:cdk().stringToCloudFormation(properties.kmsMasterKeyId),SignatureVersion:cdk().stringToCloudFormation(properties.signatureVersion),Subscription:cdk().listMapper(convertCfnTopicSubscriptionPropertyToCloudFormation)(properties.subscription),Tags:cdk().listMapper(cdk().cfnTagToCloudFormation)(properties.tags),TopicName:cdk().stringToCloudFormation(properties.topicName),TracingConfig:cdk().stringToCloudFormation(properties.tracingConfig)}):properties}function CfnTopicPropsFromCloudFormation(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("archivePolicy","ArchivePolicy",properties.ArchivePolicy!=null?cfn_parse().FromCloudFormation.getAny(properties.ArchivePolicy):void 0),ret.addPropertyResult("contentBasedDeduplication","ContentBasedDeduplication",properties.ContentBasedDeduplication!=null?cfn_parse().FromCloudFormation.getBoolean(properties.ContentBasedDeduplication):void 0),ret.addPropertyResult("dataProtectionPolicy","DataProtectionPolicy",properties.DataProtectionPolicy!=null?cfn_parse().FromCloudFormation.getAny(properties.DataProtectionPolicy):void 0),ret.addPropertyResult("deliveryStatusLogging","DeliveryStatusLogging",properties.DeliveryStatusLogging!=null?cfn_parse().FromCloudFormation.getArray(CfnTopicLoggingConfigPropertyFromCloudFormation)(properties.DeliveryStatusLogging):void 0),ret.addPropertyResult("displayName","DisplayName",properties.DisplayName!=null?cfn_parse().FromCloudFormation.getString(properties.DisplayName):void 0),ret.addPropertyResult("fifoThroughputScope","FifoThroughputScope",properties.FifoThroughputScope!=null?cfn_parse().FromCloudFormation.getString(properties.FifoThroughputScope):void 0),ret.addPropertyResult("fifoTopic","FifoTopic",properties.FifoTopic!=null?cfn_parse().FromCloudFormation.getBoolean(properties.FifoTopic):void 0),ret.addPropertyResult("kmsMasterKeyId","KmsMasterKeyId",properties.KmsMasterKeyId!=null?cfn_parse().FromCloudFormation.getString(properties.KmsMasterKeyId):void 0),ret.addPropertyResult("signatureVersion","SignatureVersion",properties.SignatureVersion!=null?cfn_parse().FromCloudFormation.getString(properties.SignatureVersion):void 0),ret.addPropertyResult("subscription","Subscription",properties.Subscription!=null?cfn_parse().FromCloudFormation.getArray(CfnTopicSubscriptionPropertyFromCloudFormation)(properties.Subscription):void 0),ret.addPropertyResult("tags","Tags",properties.Tags!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getCfnTag)(properties.Tags):void 0),ret.addPropertyResult("topicName","TopicName",properties.TopicName!=null?cfn_parse().FromCloudFormation.getString(properties.TopicName):void 0),ret.addPropertyResult("tracingConfig","TracingConfig",properties.TracingConfig!=null?cfn_parse().FromCloudFormation.getString(properties.TracingConfig):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTopicInlinePolicy extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTopicInlinePolicyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnTopicInlinePolicy(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}constructor(scope,id,props){super(scope,id,{type:CfnTopicInlinePolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_sns_CfnTopicInlinePolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTopicInlinePolicy),error}cdk().requireProperty(props,"policyDocument",this),cdk().requireProperty(props,"topicArn",this),this.policyDocument=props.policyDocument,this.topicArn=props.topicArn}get cfnProperties(){return{policyDocument:this.policyDocument,topicArn:this.topicArn}}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",CfnTopicInlinePolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTopicInlinePolicyPropsToCloudFormation(props)}}exports.CfnTopicInlinePolicy=CfnTopicInlinePolicy,_c=JSII_RTTI_SYMBOL_1,CfnTopicInlinePolicy[_c]={fqn:"aws-cdk-lib.aws_sns.CfnTopicInlinePolicy",version:"2.202.0"},CfnTopicInlinePolicy.CFN_RESOURCE_TYPE_NAME="AWS::SNS::TopicInlinePolicy";function CfnTopicInlinePolicyPropsValidator(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("policyDocument",cdk().requiredValidator)(properties.policyDocument)),errors.collect(cdk().propertyValidator("policyDocument",cdk().validateObject)(properties.policyDocument)),errors.collect(cdk().propertyValidator("topicArn",cdk().requiredValidator)(properties.topicArn)),errors.collect(cdk().propertyValidator("topicArn",cdk().validateString)(properties.topicArn)),errors.wrap('supplied properties not correct for "CfnTopicInlinePolicyProps"')}function convertCfnTopicInlinePolicyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicInlinePolicyPropsValidator(properties).assertSuccess(),{PolicyDocument:cdk().objectToCloudFormation(properties.policyDocument),TopicArn:cdk().stringToCloudFormation(properties.topicArn)}):properties}function CfnTopicInlinePolicyPropsFromCloudFormation(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("policyDocument","PolicyDocument",properties.PolicyDocument!=null?cfn_parse().FromCloudFormation.getAny(properties.PolicyDocument):void 0),ret.addPropertyResult("topicArn","TopicArn",properties.TopicArn!=null?cfn_parse().FromCloudFormation.getString(properties.TopicArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTopicPolicy extends cdk().CfnResource{static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTopicPolicyPropsFromCloudFormation(resourceProperties);if(cdk().isResolvableObject(propsResult.value))throw new(cdk_errors()).ValidationError("Unexpected IResolvable",scope);const ret=new CfnTopicPolicy(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}constructor(scope,id,props){super(scope,id,{type:CfnTopicPolicy.CFN_RESOURCE_TYPE_NAME,properties:props});try{jsiiDeprecationWarnings().aws_cdk_lib_aws_sns_CfnTopicPolicyProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,CfnTopicPolicy),error}cdk().requireProperty(props,"policyDocument",this),cdk().requireProperty(props,"topics",this),this.attrId=cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING)),this.policyDocument=props.policyDocument,this.topics=props.topics}get cfnProperties(){return{policyDocument:this.policyDocument,topics:this.topics}}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",CfnTopicPolicy.CFN_RESOURCE_TYPE_NAME),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTopicPolicyPropsToCloudFormation(props)}}exports.CfnTopicPolicy=CfnTopicPolicy,_d=JSII_RTTI_SYMBOL_1,CfnTopicPolicy[_d]={fqn:"aws-cdk-lib.aws_sns.CfnTopicPolicy",version:"2.202.0"},CfnTopicPolicy.CFN_RESOURCE_TYPE_NAME="AWS::SNS::TopicPolicy";function CfnTopicPolicyPropsValidator(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("policyDocument",cdk().requiredValidator)(properties.policyDocument)),errors.collect(cdk().propertyValidator("policyDocument",cdk().validateObject)(properties.policyDocument)),errors.collect(cdk().propertyValidator("topics",cdk().requiredValidator)(properties.topics)),errors.collect(cdk().propertyValidator("topics",cdk().listValidator(cdk().validateString))(properties.topics)),errors.wrap('supplied properties not correct for "CfnTopicPolicyProps"')}function convertCfnTopicPolicyPropsToCloudFormation(properties){return cdk().canInspect(properties)?(CfnTopicPolicyPropsValidator(properties).assertSuccess(),{PolicyDocument:cdk().objectToCloudFormation(properties.policyDocument),Topics:cdk().listMapper(cdk().stringToCloudFormation)(properties.topics)}):properties}function CfnTopicPolicyPropsFromCloudFormation(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("policyDocument","PolicyDocument",properties.PolicyDocument!=null?cfn_parse().FromCloudFormation.getAny(properties.PolicyDocument):void 0),ret.addPropertyResult("topics","Topics",properties.Topics!=null?cfn_parse().FromCloudFormation.getArray(cfn_parse().FromCloudFormation.getString)(properties.Topics):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}