UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

2 lines (1 loc) 18.5 kB
"use strict";var _a,_b,_c;Object.defineProperty(exports,"__esModule",{value:!0}),exports.CfnTopicPolicy=exports.CfnTopic=exports.CfnSubscription=void 0;const jsiiDeprecationWarnings=require("../../.warnings.jsii.js"),JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti"),cdk=require("../../core"),cfn_parse=require("../../core/lib/helpers-internal");function CfnSubscriptionPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&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("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 cfnSubscriptionPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnSubscriptionPropsValidator(properties).assertSuccess(),{Protocol:cdk.stringToCloudFormation(properties.protocol),TopicArn:cdk.stringToCloudFormation(properties.topicArn),DeliveryPolicy:cdk.objectToCloudFormation(properties.deliveryPolicy),Endpoint:cdk.stringToCloudFormation(properties.endpoint),FilterPolicy:cdk.objectToCloudFormation(properties.filterPolicy),FilterPolicyScope:cdk.stringToCloudFormation(properties.filterPolicyScope),RawMessageDelivery:cdk.booleanToCloudFormation(properties.rawMessageDelivery),RedrivePolicy:cdk.objectToCloudFormation(properties.redrivePolicy),Region:cdk.stringToCloudFormation(properties.region),SubscriptionRoleArn:cdk.stringToCloudFormation(properties.subscriptionRoleArn)}):properties}function CfnSubscriptionPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("protocol","Protocol",cfn_parse.FromCloudFormation.getString(properties.Protocol)),ret.addPropertyResult("topicArn","TopicArn",cfn_parse.FromCloudFormation.getString(properties.TopicArn)),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("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("subscriptionRoleArn","SubscriptionRoleArn",properties.SubscriptionRoleArn!=null?cfn_parse.FromCloudFormation.getString(properties.SubscriptionRoleArn):void 0),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnSubscription extends cdk.CfnResource{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.protocol=props.protocol,this.topicArn=props.topicArn,this.deliveryPolicy=props.deliveryPolicy,this.endpoint=props.endpoint,this.filterPolicy=props.filterPolicy,this.filterPolicyScope=props.filterPolicyScope,this.rawMessageDelivery=props.rawMessageDelivery,this.redrivePolicy=props.redrivePolicy,this.region=props.region,this.subscriptionRoleArn=props.subscriptionRoleArn}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnSubscriptionPropsFromCloudFormation(resourceProperties),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}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)}get cfnProperties(){return{protocol:this.protocol,topicArn:this.topicArn,deliveryPolicy:this.deliveryPolicy,endpoint:this.endpoint,filterPolicy:this.filterPolicy,filterPolicyScope:this.filterPolicyScope,rawMessageDelivery:this.rawMessageDelivery,redrivePolicy:this.redrivePolicy,region:this.region,subscriptionRoleArn:this.subscriptionRoleArn}}renderProperties(props){return cfnSubscriptionPropsToCloudFormation(props)}}exports.CfnSubscription=CfnSubscription,_a=JSII_RTTI_SYMBOL_1,CfnSubscription[_a]={fqn:"aws-cdk-lib.aws_sns.CfnSubscription",version:"2.70.0"},CfnSubscription.CFN_RESOURCE_TYPE_NAME="AWS::SNS::Subscription";function CfnTopicPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&errors.collect(new cdk.ValidationResult("Expected an object, but received: "+JSON.stringify(properties))),errors.collect(cdk.propertyValidator("contentBasedDeduplication",cdk.validateBoolean)(properties.contentBasedDeduplication)),errors.collect(cdk.propertyValidator("dataProtectionPolicy",cdk.validateObject)(properties.dataProtectionPolicy)),errors.collect(cdk.propertyValidator("displayName",cdk.validateString)(properties.displayName)),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(CfnTopic_SubscriptionPropertyValidator))(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 cfnTopicPropsToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopicPropsValidator(properties).assertSuccess(),{ContentBasedDeduplication:cdk.booleanToCloudFormation(properties.contentBasedDeduplication),DataProtectionPolicy:cdk.objectToCloudFormation(properties.dataProtectionPolicy),DisplayName:cdk.stringToCloudFormation(properties.displayName),FifoTopic:cdk.booleanToCloudFormation(properties.fifoTopic),KmsMasterKeyId:cdk.stringToCloudFormation(properties.kmsMasterKeyId),SignatureVersion:cdk.stringToCloudFormation(properties.signatureVersion),Subscription:cdk.listMapper(cfnTopicSubscriptionPropertyToCloudFormation)(properties.subscription),Tags:cdk.listMapper(cdk.cfnTagToCloudFormation)(properties.tags),TopicName:cdk.stringToCloudFormation(properties.topicName),TracingConfig:cdk.stringToCloudFormation(properties.tracingConfig)}):properties}function CfnTopicPropsFromCloudFormation(properties){if(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return 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("displayName","DisplayName",properties.DisplayName!=null?cfn_parse.FromCloudFormation.getString(properties.DisplayName):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 CfnTopic extends cdk.CfnResource{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.contentBasedDeduplication=props.contentBasedDeduplication,this.dataProtectionPolicy=props.dataProtectionPolicy,this.displayName=props.displayName,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.topicName=props.topicName,this.tracingConfig=props.tracingConfig}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTopicPropsFromCloudFormation(resourceProperties),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}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)}get cfnProperties(){return{contentBasedDeduplication:this.contentBasedDeduplication,dataProtectionPolicy:this.dataProtectionPolicy,displayName:this.displayName,fifoTopic:this.fifoTopic,kmsMasterKeyId:this.kmsMasterKeyId,signatureVersion:this.signatureVersion,subscription:this.subscription,tags:this.tags.renderTags(),topicName:this.topicName,tracingConfig:this.tracingConfig}}renderProperties(props){return cfnTopicPropsToCloudFormation(props)}}exports.CfnTopic=CfnTopic,_b=JSII_RTTI_SYMBOL_1,CfnTopic[_b]={fqn:"aws-cdk-lib.aws_sns.CfnTopic",version:"2.70.0"},CfnTopic.CFN_RESOURCE_TYPE_NAME="AWS::SNS::Topic";function CfnTopic_SubscriptionPropertyValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&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 cfnTopicSubscriptionPropertyToCloudFormation(properties){return cdk.canInspect(properties)?(CfnTopic_SubscriptionPropertyValidator(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??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("endpoint","Endpoint",cfn_parse.FromCloudFormation.getString(properties.Endpoint)),ret.addPropertyResult("protocol","Protocol",cfn_parse.FromCloudFormation.getString(properties.Protocol)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}function CfnTopicPolicyPropsValidator(properties){if(!cdk.canInspect(properties))return cdk.VALIDATION_SUCCESS;const errors=new cdk.ValidationResults;return typeof properties!="object"&&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 cfnTopicPolicyPropsToCloudFormation(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(properties=properties??{},typeof properties!="object")return new cfn_parse.FromCloudFormationResult(properties);const ret=new cfn_parse.FromCloudFormationPropertyObject;return ret.addPropertyResult("policyDocument","PolicyDocument",cfn_parse.FromCloudFormation.getAny(properties.PolicyDocument)),ret.addPropertyResult("topics","Topics",cfn_parse.FromCloudFormation.getStringArray(properties.Topics)),ret.addUnrecognizedPropertiesAsExtra(properties),ret}class CfnTopicPolicy extends cdk.CfnResource{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}static _fromCloudFormation(scope,id,resourceAttributes,options){resourceAttributes=resourceAttributes||{};const resourceProperties=options.parser.parseValue(resourceAttributes.Properties),propsResult=CfnTopicPolicyPropsFromCloudFormation(resourceProperties),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}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)}get cfnProperties(){return{policyDocument:this.policyDocument,topics:this.topics}}renderProperties(props){return cfnTopicPolicyPropsToCloudFormation(props)}}exports.CfnTopicPolicy=CfnTopicPolicy,_c=JSII_RTTI_SYMBOL_1,CfnTopicPolicy[_c]={fqn:"aws-cdk-lib.aws_sns.CfnTopicPolicy",version:"2.70.0"},CfnTopicPolicy.CFN_RESOURCE_TYPE_NAME="AWS::SNS::TopicPolicy";