UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

2 lines (1 loc) 36.6 kB
"use strict";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/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 CfnSubscription extends cdk().CfnResource{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_sns.CfnSubscription",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SNS::Subscription";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnSubscription(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnSubscription.CFN_RESOURCE_TYPE_NAME}static arnForSubscription(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_sns_ISubscriptionRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForSubscription),error}return resource.subscriptionRef.subscriptionArn}_deliveryPolicy;_endpoint;_filterPolicy;_filterPolicyScope;_protocol;_rawMessageDelivery;_redrivePolicy;_region;_replayPolicy;_subscriptionRoleArn;_topicArn;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._deliveryPolicy=props.deliveryPolicy,this._endpoint=cdk().getRefProperty(props.endpoint?.queueRef,"queueArn")??cdk().getRefProperty(props.endpoint?.functionRef,"functionArn")??cdk().getRefProperty(props.endpoint?.deliveryStreamRef,"deliveryStreamArn")??cdk().getRefProperty(props.endpoint?.versionRef,"functionArn")??cdk().ensureStringOrUndefined(props.endpoint,"endpoint","sqs.IQueueRef | lambda.IFunctionRef | kinesisfirehose.IDeliveryStreamRef | lambda.IVersionRef | string"),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=cdk().getRefProperty(props.subscriptionRoleArn?.roleRef,"roleArn")??cdk().ensureStringOrUndefined(props.subscriptionRoleArn,"subscriptionRoleArn","iam.IRoleRef | string"),this._topicArn=cdk().getRefProperty(props.topicArn?.topicRef,"topicArn")??cdk().ensureStringOrUndefined(props.topicArn,"topicArn","sns.ITopicRef | string")}get subscriptionRef(){return{subscriptionArn:this.ref}}get deliveryPolicy(){return this._deliveryPolicy}set deliveryPolicy(value){cdk().traceProperty(this.node,"DeliveryPolicy"),this._deliveryPolicy=value}get endpoint(){return this._endpoint}set endpoint(value){cdk().traceProperty(this.node,"Endpoint"),this._endpoint=value}get filterPolicy(){return this._filterPolicy}set filterPolicy(value){cdk().traceProperty(this.node,"FilterPolicy"),this._filterPolicy=value}get filterPolicyScope(){return this._filterPolicyScope}set filterPolicyScope(value){cdk().traceProperty(this.node,"FilterPolicyScope"),this._filterPolicyScope=value}get protocol(){return this._protocol}set protocol(value){cdk().traceProperty(this.node,"Protocol"),this._protocol=value}get rawMessageDelivery(){return this._rawMessageDelivery}set rawMessageDelivery(value){cdk().traceProperty(this.node,"RawMessageDelivery"),this._rawMessageDelivery=value}get redrivePolicy(){return this._redrivePolicy}set redrivePolicy(value){cdk().traceProperty(this.node,"RedrivePolicy"),this._redrivePolicy=value}get region(){return this._region}set region(value){cdk().traceProperty(this.node,"Region"),this._region=value}get replayPolicy(){return this._replayPolicy}set replayPolicy(value){cdk().traceProperty(this.node,"ReplayPolicy"),this._replayPolicy=value}get subscriptionRoleArn(){return this._subscriptionRoleArn}set subscriptionRoleArn(value){cdk().traceProperty(this.node,"SubscriptionRoleArn"),this._subscriptionRoleArn=value}get topicArn(){return this._topicArn}set topicArn(value){cdk().traceProperty(this.node,"TopicArn"),this._topicArn=value}get attrArn(){return cdk().Token.asString(this.getAtt("Arn",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnSubscriptionPropsToCloudFormation(props)}}exports.CfnSubscription=CfnSubscription;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_sns.CfnTopic",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SNS::Topic";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnTopic(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTopic.CFN_RESOURCE_TYPE_NAME}static arnForTopic(resource){try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_sns_ITopicRef(resource)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.arnForTopic),error}return resource.topicRef.topicArn}_archivePolicy;_contentBasedDeduplication;_dataProtectionPolicy;_deliveryStatusLogging;_displayName;_fifoThroughputScope;_fifoTopic;_kmsMasterKeyId;_signatureVersion;_subscription;tags;_tagsRaw;_topicName;_tracingConfig;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._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=cdk().getRefProperty(props.kmsMasterKeyId?.keyRef,"keyArn")??cdk().getRefProperty(props.kmsMasterKeyId?.keyRef,"keyId")??cdk().getRefProperty(props.kmsMasterKeyId?.aliasRef,"aliasName")??cdk().ensureStringOrUndefined(props.kmsMasterKeyId,"kmsMasterKeyId","kms.IKeyRef | kms.IAliasRef | string"),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 topicRef(){return{topicArn:this.ref}}get archivePolicy(){return this._archivePolicy}set archivePolicy(value){cdk().traceProperty(this.node,"ArchivePolicy"),this._archivePolicy=value}get contentBasedDeduplication(){return this._contentBasedDeduplication}set contentBasedDeduplication(value){cdk().traceProperty(this.node,"ContentBasedDeduplication"),this._contentBasedDeduplication=value}get dataProtectionPolicy(){return this._dataProtectionPolicy}set dataProtectionPolicy(value){cdk().traceProperty(this.node,"DataProtectionPolicy"),this._dataProtectionPolicy=value}get deliveryStatusLogging(){return this._deliveryStatusLogging}set deliveryStatusLogging(value){cdk().traceProperty(this.node,"DeliveryStatusLogging"),this._deliveryStatusLogging=value}get displayName(){return this._displayName}set displayName(value){cdk().traceProperty(this.node,"DisplayName"),this._displayName=value}get fifoThroughputScope(){return this._fifoThroughputScope}set fifoThroughputScope(value){cdk().traceProperty(this.node,"FifoThroughputScope"),this._fifoThroughputScope=value}get fifoTopic(){return this._fifoTopic}set fifoTopic(value){cdk().traceProperty(this.node,"FifoTopic"),this._fifoTopic=value}get kmsMasterKeyId(){return this._kmsMasterKeyId}set kmsMasterKeyId(value){cdk().traceProperty(this.node,"KmsMasterKeyId"),this._kmsMasterKeyId=value}get signatureVersion(){return this._signatureVersion}set signatureVersion(value){cdk().traceProperty(this.node,"SignatureVersion"),this._signatureVersion=value}get subscription(){return this._subscription}set subscription(value){cdk().traceProperty(this.node,"Subscription"),this._subscription=value}get tagsRaw(){return this._tagsRaw}set tagsRaw(value){cdk().traceProperty(this.node,"Tags"),this._tagsRaw=value}get topicName(){return this._topicName}set topicName(value){cdk().traceProperty(this.node,"TopicName"),this._topicName=value}get tracingConfig(){return this._tracingConfig}set tracingConfig(value){cdk().traceProperty(this.node,"TracingConfig"),this._tracingConfig=value}get attrTopicArn(){return cdk().Token.asString(this.getAtt("TopicArn",cdk().ResolutionTypeHint.STRING))}get attrTopicName(){return cdk().Token.asString(this.getAtt("TopicName",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTopicPropsToCloudFormation(props)}}exports.CfnTopic=CfnTopic;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_sns.CfnTopicInlinePolicy",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SNS::TopicInlinePolicy";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnTopicInlinePolicy(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTopicInlinePolicy.CFN_RESOURCE_TYPE_NAME}_policyDocument;_topicArn;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 topicInlinePolicyRef(){return{topicArn:this.ref}}get policyDocument(){return this._policyDocument}set policyDocument(value){cdk().traceProperty(this.node,"PolicyDocument"),this._policyDocument=value}get topicArn(){return this._topicArn}set topicArn(value){cdk().traceProperty(this.node,"TopicArn"),this._topicArn=value}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTopicInlinePolicyPropsToCloudFormation(props)}}exports.CfnTopicInlinePolicy=CfnTopicInlinePolicy;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[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_sns.CfnTopicPolicy",version:"2.251.0"};static CFN_RESOURCE_TYPE_NAME="AWS::SNS::TopicPolicy";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(cfn_parse().lit`UnexpectedIResolvable`,"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}static isCfnTopicPolicy(x){return cdk().CfnResource.isCfnResource(x)&&x.cfnResourceType===CfnTopicPolicy.CFN_RESOURCE_TYPE_NAME}_policyDocument;_topics;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._policyDocument=props.policyDocument,this._topics=props.topics}get topicPolicyRef(){return{topicPolicyId:this.ref}}get policyDocument(){return this._policyDocument}set policyDocument(value){cdk().traceProperty(this.node,"PolicyDocument"),this._policyDocument=value}get topics(){return this._topics}set topics(value){cdk().traceProperty(this.node,"Topics"),this._topics=value}get attrId(){return cdk().Token.asString(this.getAtt("Id",cdk().ResolutionTypeHint.STRING))}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:logicalId",this._synthesizeLogicalId()),inspector.addAttribute("aws:cdk:cloudformation:props",this.cfnProperties)}renderProperties(props){return convertCfnTopicPolicyPropsToCloudFormation(props)}}exports.CfnTopicPolicy=CfnTopicPolicy;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}