UNPKG

150 kBPlain TextView Raw
1{
2 "author": {
3 "name": "Amazon Web Services",
4 "organization": true,
5 "roles": [
6 "author"
7 ],
8 "url": "https://aws.amazon.com"
9 },
10 "dependencies": {
11 "@aws-cdk/aws-cloudwatch": "1.172.0",
12 "@aws-cdk/aws-codestarnotifications": "1.172.0",
13 "@aws-cdk/aws-events": "1.172.0",
14 "@aws-cdk/aws-iam": "1.172.0",
15 "@aws-cdk/aws-kms": "1.172.0",
16 "@aws-cdk/aws-sqs": "1.172.0",
17 "@aws-cdk/core": "1.172.0",
18 "constructs": "^3.3.69"
19 },
20 "dependencyClosure": {
21 "@aws-cdk/aws-cloudwatch": {
22 "targets": {
23 "dotnet": {
24 "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
25 "namespace": "Amazon.CDK.AWS.CloudWatch",
26 "packageId": "Amazon.CDK.AWS.CloudWatch"
27 },
28 "java": {
29 "maven": {
30 "artifactId": "cloudwatch",
31 "groupId": "software.amazon.awscdk"
32 },
33 "package": "software.amazon.awscdk.services.cloudwatch"
34 },
35 "js": {
36 "npm": "@aws-cdk/aws-cloudwatch"
37 },
38 "python": {
39 "classifiers": [
40 "Framework :: AWS CDK",
41 "Framework :: AWS CDK :: 1"
42 ],
43 "distName": "aws-cdk.aws-cloudwatch",
44 "module": "aws_cdk.aws_cloudwatch"
45 }
46 }
47 },
48 "@aws-cdk/aws-codestarnotifications": {
49 "targets": {
50 "dotnet": {
51 "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
52 "namespace": "Amazon.CDK.AWS.CodeStarNotifications",
53 "packageId": "Amazon.CDK.AWS.CodeStarNotifications"
54 },
55 "java": {
56 "maven": {
57 "artifactId": "codestarnotifications",
58 "groupId": "software.amazon.awscdk"
59 },
60 "package": "software.amazon.awscdk.services.codestarnotifications"
61 },
62 "js": {
63 "npm": "@aws-cdk/aws-codestarnotifications"
64 },
65 "python": {
66 "classifiers": [
67 "Framework :: AWS CDK",
68 "Framework :: AWS CDK :: 1"
69 ],
70 "distName": "aws-cdk.aws-codestarnotifications",
71 "module": "aws_cdk.aws_codestarnotifications"
72 }
73 }
74 },
75 "@aws-cdk/aws-events": {
76 "targets": {
77 "dotnet": {
78 "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
79 "namespace": "Amazon.CDK.AWS.Events",
80 "packageId": "Amazon.CDK.AWS.Events"
81 },
82 "java": {
83 "maven": {
84 "artifactId": "events",
85 "groupId": "software.amazon.awscdk"
86 },
87 "package": "software.amazon.awscdk.services.events"
88 },
89 "js": {
90 "npm": "@aws-cdk/aws-events"
91 },
92 "python": {
93 "classifiers": [
94 "Framework :: AWS CDK",
95 "Framework :: AWS CDK :: 1"
96 ],
97 "distName": "aws-cdk.aws-events",
98 "module": "aws_cdk.aws_events"
99 }
100 }
101 },
102 "@aws-cdk/aws-iam": {
103 "targets": {
104 "dotnet": {
105 "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
106 "namespace": "Amazon.CDK.AWS.IAM",
107 "packageId": "Amazon.CDK.AWS.IAM"
108 },
109 "java": {
110 "maven": {
111 "artifactId": "iam",
112 "groupId": "software.amazon.awscdk"
113 },
114 "package": "software.amazon.awscdk.services.iam"
115 },
116 "js": {
117 "npm": "@aws-cdk/aws-iam"
118 },
119 "python": {
120 "classifiers": [
121 "Framework :: AWS CDK",
122 "Framework :: AWS CDK :: 1"
123 ],
124 "distName": "aws-cdk.aws-iam",
125 "module": "aws_cdk.aws_iam"
126 }
127 }
128 },
129 "@aws-cdk/aws-kms": {
130 "targets": {
131 "dotnet": {
132 "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
133 "namespace": "Amazon.CDK.AWS.KMS",
134 "packageId": "Amazon.CDK.AWS.KMS"
135 },
136 "java": {
137 "maven": {
138 "artifactId": "kms",
139 "groupId": "software.amazon.awscdk"
140 },
141 "package": "software.amazon.awscdk.services.kms"
142 },
143 "js": {
144 "npm": "@aws-cdk/aws-kms"
145 },
146 "python": {
147 "classifiers": [
148 "Framework :: AWS CDK",
149 "Framework :: AWS CDK :: 1"
150 ],
151 "distName": "aws-cdk.aws-kms",
152 "module": "aws_cdk.aws_kms"
153 }
154 }
155 },
156 "@aws-cdk/aws-sqs": {
157 "targets": {
158 "dotnet": {
159 "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
160 "namespace": "Amazon.CDK.AWS.SQS",
161 "packageId": "Amazon.CDK.AWS.SQS"
162 },
163 "java": {
164 "maven": {
165 "artifactId": "sqs",
166 "groupId": "software.amazon.awscdk"
167 },
168 "package": "software.amazon.awscdk.services.sqs"
169 },
170 "js": {
171 "npm": "@aws-cdk/aws-sqs"
172 },
173 "python": {
174 "classifiers": [
175 "Framework :: AWS CDK",
176 "Framework :: AWS CDK :: 1"
177 ],
178 "distName": "aws-cdk.aws-sqs",
179 "module": "aws_cdk.aws_sqs"
180 }
181 }
182 },
183 "@aws-cdk/cloud-assembly-schema": {
184 "targets": {
185 "dotnet": {
186 "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
187 "namespace": "Amazon.CDK.CloudAssembly.Schema",
188 "packageId": "Amazon.CDK.CloudAssembly.Schema"
189 },
190 "java": {
191 "maven": {
192 "artifactId": "cdk-cloud-assembly-schema",
193 "groupId": "software.amazon.awscdk"
194 },
195 "package": "software.amazon.awscdk.cloudassembly.schema"
196 },
197 "js": {
198 "npm": "@aws-cdk/cloud-assembly-schema"
199 },
200 "python": {
201 "classifiers": [
202 "Framework :: AWS CDK",
203 "Framework :: AWS CDK :: 1"
204 ],
205 "distName": "aws-cdk.cloud-assembly-schema",
206 "module": "aws_cdk.cloud_assembly_schema"
207 }
208 }
209 },
210 "@aws-cdk/core": {
211 "targets": {
212 "dotnet": {
213 "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
214 "namespace": "Amazon.CDK",
215 "packageId": "Amazon.CDK"
216 },
217 "java": {
218 "maven": {
219 "artifactId": "core",
220 "groupId": "software.amazon.awscdk"
221 },
222 "package": "software.amazon.awscdk.core"
223 },
224 "js": {
225 "npm": "@aws-cdk/core"
226 },
227 "python": {
228 "classifiers": [
229 "Framework :: AWS CDK",
230 "Framework :: AWS CDK :: 1"
231 ],
232 "distName": "aws-cdk.core",
233 "module": "aws_cdk.core"
234 }
235 }
236 },
237 "@aws-cdk/cx-api": {
238 "targets": {
239 "dotnet": {
240 "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
241 "namespace": "Amazon.CDK.CXAPI",
242 "packageId": "Amazon.CDK.CXAPI"
243 },
244 "java": {
245 "maven": {
246 "artifactId": "cdk-cx-api",
247 "groupId": "software.amazon.awscdk"
248 },
249 "package": "software.amazon.awscdk.cxapi"
250 },
251 "js": {
252 "npm": "@aws-cdk/cx-api"
253 },
254 "python": {
255 "classifiers": [
256 "Framework :: AWS CDK",
257 "Framework :: AWS CDK :: 1"
258 ],
259 "distName": "aws-cdk.cx-api",
260 "module": "aws_cdk.cx_api"
261 }
262 }
263 },
264 "@aws-cdk/region-info": {
265 "targets": {
266 "dotnet": {
267 "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
268 "namespace": "Amazon.CDK.RegionInfo",
269 "packageId": "Amazon.CDK.RegionInfo"
270 },
271 "java": {
272 "maven": {
273 "artifactId": "cdk-region-info",
274 "groupId": "software.amazon.awscdk"
275 },
276 "package": "software.amazon.awscdk.regioninfo"
277 },
278 "js": {
279 "npm": "@aws-cdk/region-info"
280 },
281 "python": {
282 "classifiers": [
283 "Framework :: AWS CDK",
284 "Framework :: AWS CDK :: 1"
285 ],
286 "distName": "aws-cdk.region-info",
287 "module": "aws_cdk.region_info"
288 }
289 }
290 },
291 "constructs": {
292 "targets": {
293 "dotnet": {
294 "namespace": "Constructs",
295 "packageId": "Constructs"
296 },
297 "go": {
298 "moduleName": "github.com/aws/constructs-go"
299 },
300 "java": {
301 "maven": {
302 "artifactId": "constructs",
303 "groupId": "software.constructs"
304 },
305 "package": "software.constructs"
306 },
307 "js": {
308 "npm": "constructs"
309 },
310 "python": {
311 "distName": "constructs",
312 "module": "constructs"
313 }
314 }
315 }
316 },
317 "description": "The CDK Construct Library for AWS::SNS",
318 "docs": {
319 "stability": "stable"
320 },
321 "homepage": "https://github.com/aws/aws-cdk",
322 "jsiiVersion": "1.67.0 (build 2c027f5)",
323 "keywords": [
324 "aws",
325 "cdk",
326 "constructs",
327 "sns"
328 ],
329 "license": "Apache-2.0",
330 "metadata": {
331 "jsii": {
332 "compiledWithDeprecationWarnings": true,
333 "pacmak": {
334 "hasDefaultInterfaces": true
335 },
336 "rosetta": {
337 "strict": true
338 }
339 }
340 },
341 "name": "@aws-cdk/aws-sns",
342 "readme": {
343 "markdown": "# Amazon Simple Notification Service Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge)\n\n![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge)\n\n---\n\n<!--END STABILITY BANNER-->\n\nAdd an SNS Topic to your stack:\n\n```ts\nconst topic = new sns.Topic(this, 'Topic', {\n displayName: 'Customer subscription topic',\n});\n```\n\nAdd a FIFO SNS topic with content-based de-duplication to your stack:\n\n```ts\nconst topic = new sns.Topic(this, 'Topic', {\n contentBasedDeduplication: true,\n displayName: 'Customer subscription topic',\n fifo: true,\n topicName: 'customerTopic',\n});\n```\n\nNote that FIFO topics require a topic name to be provided. The required `.fifo` suffix will be automatically added to the topic name if it is not explicitly provided.\n\n## Subscriptions\n\nVarious subscriptions can be added to the topic by calling the\n`.addSubscription(...)` method on the topic. It accepts a *subscription* object,\ndefault implementations of which can be found in the\n`@aws-cdk/aws-sns-subscriptions` package:\n\nAdd an HTTPS Subscription to your topic:\n\n```ts\nconst myTopic = new sns.Topic(this, 'MyTopic');\n\nmyTopic.addSubscription(new subscriptions.UrlSubscription('https://foobar.com/'));\n```\n\nSubscribe a queue to the topic:\n\n```ts\ndeclare const queue: sqs.Queue;\nconst myTopic = new sns.Topic(this, 'MyTopic');\n\nmyTopic.addSubscription(new subscriptions.SqsSubscription(queue));\n```\n\nNote that subscriptions of queues in different accounts need to be manually confirmed by\nreading the initial message from the queue and visiting the link found in it.\n\n### Filter policy\n\nA filter policy can be specified when subscribing an endpoint to a topic.\n\nExample with a Lambda subscription:\n\n```ts\nimport * as lambda from '@aws-cdk/aws-lambda';\n\nconst myTopic = new sns.Topic(this, 'MyTopic');\ndeclare const fn: lambda.Function;\n\n// Lambda should receive only message matching the following conditions on attributes:\n// color: 'red' or 'orange' or begins with 'bl'\n// size: anything but 'small' or 'medium'\n// price: between 100 and 200 or greater than 300\n// store: attribute must be present\nmyTopic.addSubscription(new subscriptions.LambdaSubscription(fn, {\n filterPolicy: {\n color: sns.SubscriptionFilter.stringFilter({\n allowlist: ['red', 'orange'],\n matchPrefixes: ['bl'],\n }),\n size: sns.SubscriptionFilter.stringFilter({\n denylist: ['small', 'medium'],\n }),\n price: sns.SubscriptionFilter.numericFilter({\n between: { start: 100, stop: 200 },\n greaterThan: 300,\n }),\n store: sns.SubscriptionFilter.existsFilter(),\n },\n}));\n```\n\n### Example of Firehose Subscription\n\n```ts\nimport { DeliveryStream } from '@aws-cdk/aws-kinesisfirehose';\n\nconst topic = new sns.Topic(this, 'Topic');\ndeclare const stream: DeliveryStream;\n\nnew sns.Subscription(this, 'Subscription', {\n topic,\n endpoint: stream.deliveryStreamArn,\n protocol: sns.SubscriptionProtocol.FIREHOSE,\n subscriptionRoleArn: \"SAMPLE_ARN\", //role with permissions to send messages to a firehose delivery stream\n});\n```\n\n## DLQ setup for SNS Subscription\n\nCDK can attach provided Queue as DLQ for your SNS subscription.\nSee the [SNS DLQ configuration docs](https://docs.aws.amazon.com/sns/latest/dg/sns-configure-dead-letter-queue.html) for more information about this feature.\n\nExample of usage with user provided DLQ.\n\n```ts\nconst topic = new sns.Topic(this, 'Topic');\nconst dlQueue = new sqs.Queue(this, 'DeadLetterQueue', {\n queueName: 'MySubscription_DLQ',\n retentionPeriod: Duration.days(14),\n});\n\nnew sns.Subscription(this, 'Subscription', {\n endpoint: 'endpoint',\n protocol: sns.SubscriptionProtocol.LAMBDA,\n topic,\n deadLetterQueue: dlQueue,\n});\n```\n\n## CloudWatch Event Rule Target\n\nSNS topics can be used as targets for CloudWatch event rules.\n\nUse the `@aws-cdk/aws-events-targets.SnsTopic`:\n\n```ts\nimport * as codecommit from '@aws-cdk/aws-codecommit';\nimport * as targets from '@aws-cdk/aws-events-targets';\n\ndeclare const repo: codecommit.Repository;\nconst myTopic = new sns.Topic(this, 'Topic');\n\nrepo.onCommit('OnCommit', {\n target: new targets.SnsTopic(myTopic),\n});\n```\n\nThis will result in adding a target to the event rule and will also modify the\ntopic resource policy to allow CloudWatch events to publish to the topic.\n\n## Topic Policy\n\nA topic policy is automatically created when `addToResourcePolicy` is called, if\none doesn't already exist. Using `addToResourcePolicy` is the simplest way to\nadd policies, but a `TopicPolicy` can also be created manually.\n\n```ts\nconst topic = new sns.Topic(this, 'Topic');\nconst topicPolicy = new sns.TopicPolicy(this, 'TopicPolicy', {\n topics: [topic],\n});\n\ntopicPolicy.document.addStatements(new iam.PolicyStatement({\n actions: [\"sns:Subscribe\"],\n principals: [new iam.AnyPrincipal()],\n resources: [topic.topicArn],\n}));\n```\n\nA policy document can also be passed on `TopicPolicy` construction\n\n```ts\nconst topic = new sns.Topic(this, 'Topic');\nconst policyDocument = new iam.PolicyDocument({\n assignSids: true,\n statements: [\n new iam.PolicyStatement({\n actions: [\"sns:Subscribe\"],\n principals: [new iam.AnyPrincipal()],\n resources: [topic.topicArn],\n }),\n ],\n});\n\nconst topicPolicy = new sns.TopicPolicy(this, 'Policy', {\n topics: [topic],\n policyDocument,\n});\n```\n"
344 },
345 "repository": {
346 "directory": "packages/@aws-cdk/aws-sns",
347 "type": "git",
348 "url": "https://github.com/aws/aws-cdk.git"
349 },
350 "schema": "jsii/0.10.0",
351 "targets": {
352 "dotnet": {
353 "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
354 "namespace": "Amazon.CDK.AWS.SNS",
355 "packageId": "Amazon.CDK.AWS.SNS"
356 },
357 "java": {
358 "maven": {
359 "artifactId": "sns",
360 "groupId": "software.amazon.awscdk"
361 },
362 "package": "software.amazon.awscdk.services.sns"
363 },
364 "js": {
365 "npm": "@aws-cdk/aws-sns"
366 },
367 "python": {
368 "classifiers": [
369 "Framework :: AWS CDK",
370 "Framework :: AWS CDK :: 1"
371 ],
372 "distName": "aws-cdk.aws-sns",
373 "module": "aws_cdk.aws_sns"
374 }
375 },
376 "types": {
377 "@aws-cdk/aws-sns.BetweenCondition": {
378 "assembly": "@aws-cdk/aws-sns",
379 "datatype": true,
380 "docs": {
381 "stability": "stable",
382 "summary": "Between condition for a numeric attribute.",
383 "example": "import * as lambda from '@aws-cdk/aws-lambda';\n\nconst myTopic = new sns.Topic(this, 'MyTopic');\ndeclare const fn: lambda.Function;\n\n// Lambda should receive only message matching the following conditions on attributes:\n// color: 'red' or 'orange' or begins with 'bl'\n// size: anything but 'small' or 'medium'\n// price: between 100 and 200 or greater than 300\n// store: attribute must be present\nmyTopic.addSubscription(new subscriptions.LambdaSubscription(fn, {\n filterPolicy: {\n color: sns.SubscriptionFilter.stringFilter({\n allowlist: ['red', 'orange'],\n matchPrefixes: ['bl'],\n }),\n size: sns.SubscriptionFilter.stringFilter({\n denylist: ['small', 'medium'],\n }),\n price: sns.SubscriptionFilter.numericFilter({\n between: { start: 100, stop: 200 },\n greaterThan: 300,\n }),\n store: sns.SubscriptionFilter.existsFilter(),\n },\n}));",
384 "custom": {
385 "exampleMetadata": "infused"
386 }
387 },
388 "fqn": "@aws-cdk/aws-sns.BetweenCondition",
389 "kind": "interface",
390 "locationInModule": {
391 "filename": "lib/subscription-filter.ts",
392 "line": 43
393 },
394 "name": "BetweenCondition",
395 "properties": [
396 {
397 "abstract": true,
398 "docs": {
399 "stability": "stable",
400 "summary": "The start value."
401 },
402 "immutable": true,
403 "locationInModule": {
404 "filename": "lib/subscription-filter.ts",
405 "line": 47
406 },
407 "name": "start",
408 "type": {
409 "primitive": "number"
410 }
411 },
412 {
413 "abstract": true,
414 "docs": {
415 "stability": "stable",
416 "summary": "The stop value."
417 },
418 "immutable": true,
419 "locationInModule": {
420 "filename": "lib/subscription-filter.ts",
421 "line": 52
422 },
423 "name": "stop",
424 "type": {
425 "primitive": "number"
426 }
427 }
428 ],
429 "symbolId": "lib/subscription-filter:BetweenCondition"
430 },
431 "@aws-cdk/aws-sns.CfnSubscription": {
432 "assembly": "@aws-cdk/aws-sns",
433 "base": "@aws-cdk/core.CfnResource",
434 "docs": {
435 "custom": {
436 "cloudformationResource": "AWS::SNS::Subscription",
437 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html",
438 "exampleMetadata": "fixture=_generated"
439 },
440 "remarks": "The `AWS::SNS::Subscription` resource subscribes an endpoint to an Amazon SNS topic. For a subscription to be created, the owner of the endpoint must confirm the subscription.",
441 "stability": "external",
442 "summary": "A CloudFormation `AWS::SNS::Subscription`.",
443 "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as sns from '@aws-cdk/aws-sns';\n\ndeclare const deliveryPolicy: any;\ndeclare const filterPolicy: any;\ndeclare const redrivePolicy: any;\nconst cfnSubscription = new sns.CfnSubscription(this, 'MyCfnSubscription', {\n protocol: 'protocol',\n topicArn: 'topicArn',\n\n // the properties below are optional\n deliveryPolicy: deliveryPolicy,\n endpoint: 'endpoint',\n filterPolicy: filterPolicy,\n rawMessageDelivery: false,\n redrivePolicy: redrivePolicy,\n region: 'region',\n subscriptionRoleArn: 'subscriptionRoleArn',\n});"
444 },
445 "fqn": "@aws-cdk/aws-sns.CfnSubscription",
446 "initializer": {
447 "docs": {
448 "stability": "external",
449 "summary": "Create a new `AWS::SNS::Subscription`."
450 },
451 "locationInModule": {
452 "filename": "lib/sns.generated.ts",
453 "line": 289
454 },
455 "parameters": [
456 {
457 "docs": {
458 "summary": "- scope in which this resource is defined."
459 },
460 "name": "scope",
461 "type": {
462 "fqn": "@aws-cdk/core.Construct"
463 }
464 },
465 {
466 "docs": {
467 "summary": "- scoped id of the resource."
468 },
469 "name": "id",
470 "type": {
471 "primitive": "string"
472 }
473 },
474 {
475 "docs": {
476 "summary": "- resource properties."
477 },
478 "name": "props",
479 "type": {
480 "fqn": "@aws-cdk/aws-sns.CfnSubscriptionProps"
481 }
482 }
483 ]
484 },
485 "interfaces": [
486 "@aws-cdk/core.IInspectable"
487 ],
488 "kind": "class",
489 "locationInModule": {
490 "filename": "lib/sns.generated.ts",
491 "line": 180
492 },
493 "methods": [
494 {
495 "docs": {
496 "stability": "external",
497 "summary": "Examines the CloudFormation resource and discloses attributes."
498 },
499 "locationInModule": {
500 "filename": "lib/sns.generated.ts",
501 "line": 311
502 },
503 "name": "inspect",
504 "overrides": "@aws-cdk/core.IInspectable",
505 "parameters": [
506 {
507 "docs": {
508 "summary": "- tree inspector to collect and process attributes."
509 },
510 "name": "inspector",
511 "type": {
512 "fqn": "@aws-cdk/core.TreeInspector"
513 }
514 }
515 ]
516 },
517 {
518 "docs": {
519 "stability": "external"
520 },
521 "locationInModule": {
522 "filename": "lib/sns.generated.ts",
523 "line": 330
524 },
525 "name": "renderProperties",
526 "overrides": "@aws-cdk/core.CfnResource",
527 "parameters": [
528 {
529 "name": "props",
530 "type": {
531 "collection": {
532 "elementtype": {
533 "primitive": "any"
534 },
535 "kind": "map"
536 }
537 }
538 }
539 ],
540 "protected": true,
541 "returns": {
542 "type": {
543 "collection": {
544 "elementtype": {
545 "primitive": "any"
546 },
547 "kind": "map"
548 }
549 }
550 }
551 }
552 ],
553 "name": "CfnSubscription",
554 "properties": [
555 {
556 "const": true,
557 "docs": {
558 "stability": "external",
559 "summary": "The CloudFormation resource type name for this resource class."
560 },
561 "immutable": true,
562 "locationInModule": {
563 "filename": "lib/sns.generated.ts",
564 "line": 184
565 },
566 "name": "CFN_RESOURCE_TYPE_NAME",
567 "static": true,
568 "type": {
569 "primitive": "string"
570 }
571 },
572 {
573 "docs": {
574 "stability": "external"
575 },
576 "immutable": true,
577 "locationInModule": {
578 "filename": "lib/sns.generated.ts",
579 "line": 316
580 },
581 "name": "cfnProperties",
582 "overrides": "@aws-cdk/core.CfnResource",
583 "protected": true,
584 "type": {
585 "collection": {
586 "elementtype": {
587 "primitive": "any"
588 },
589 "kind": "map"
590 }
591 }
592 },
593 {
594 "docs": {
595 "custom": {
596 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-deliverypolicy"
597 },
598 "remarks": "Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon SNS API Reference* and [Message delivery retries](https://docs.aws.amazon.com/sns/latest/dg/sns-message-delivery-retries.html) in the *Amazon SNS Developer Guide* .",
599 "stability": "external",
600 "summary": "The delivery policy JSON assigned to the subscription."
601 },
602 "locationInModule": {
603 "filename": "lib/sns.generated.ts",
604 "line": 224
605 },
606 "name": "deliveryPolicy",
607 "type": {
608 "primitive": "any"
609 }
610 },
611 {
612 "docs": {
613 "custom": {
614 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicy"
615 },
616 "remarks": "Enables the subscriber to filter out unwanted messages. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon SNS API Reference* and [Message filtering](https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html) in the *Amazon SNS Developer Guide* .",
617 "stability": "external",
618 "summary": "The filter policy JSON assigned to the subscription."
619 },
620 "locationInModule": {
621 "filename": "lib/sns.generated.ts",
622 "line": 238
623 },
624 "name": "filterPolicy",
625 "type": {
626 "primitive": "any"
627 }
628 },
629 {
630 "docs": {
631 "custom": {
632 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-protocol"
633 },
634 "remarks": "For more information, see the `Protocol` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon SNS API Reference* .",
635 "stability": "external",
636 "summary": "The subscription's protocol."
637 },
638 "locationInModule": {
639 "filename": "lib/sns.generated.ts",
640 "line": 210
641 },
642 "name": "protocol",
643 "type": {
644 "primitive": "string"
645 }
646 },
647 {
648 "docs": {
649 "custom": {
650 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-redrivepolicy"
651 },
652 "remarks": "Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.\n\nFor more information about the redrive policy and dead-letter queues, see [Amazon SQS dead-letter queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html) in the *Amazon SQS Developer Guide* .",
653 "stability": "external",
654 "summary": "When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue."
655 },
656 "locationInModule": {
657 "filename": "lib/sns.generated.ts",
658 "line": 254
659 },
660 "name": "redrivePolicy",
661 "type": {
662 "primitive": "any"
663 }
664 },
665 {
666 "docs": {
667 "custom": {
668 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#topicarn"
669 },
670 "stability": "external",
671 "summary": "The ARN of the topic to subscribe to."
672 },
673 "locationInModule": {
674 "filename": "lib/sns.generated.ts",
675 "line": 217
676 },
677 "name": "topicArn",
678 "type": {
679 "primitive": "string"
680 }
681 },
682 {
683 "docs": {
684 "custom": {
685 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-endpoint"
686 },
687 "remarks": "The endpoint value depends on the protocol that you specify. For more information, see the `Endpoint` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon SNS API Reference* .",
688 "stability": "external",
689 "summary": "The subscription's endpoint."
690 },
691 "locationInModule": {
692 "filename": "lib/sns.generated.ts",
693 "line": 231
694 },
695 "name": "endpoint",
696 "optional": true,
697 "type": {
698 "primitive": "string"
699 }
700 },
701 {
702 "docs": {
703 "custom": {
704 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-rawmessagedelivery"
705 },
706 "remarks": "Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon SNS API Reference* .",
707 "stability": "external",
708 "summary": "When set to `true` , enables raw message delivery."
709 },
710 "locationInModule": {
711 "filename": "lib/sns.generated.ts",
712 "line": 245
713 },
714 "name": "rawMessageDelivery",
715 "optional": true,
716 "type": {
717 "union": {
718 "types": [
719 {
720 "primitive": "boolean"
721 },
722 {
723 "fqn": "@aws-cdk/core.IResolvable"
724 }
725 ]
726 }
727 }
728 },
729 {
730 "docs": {
731 "custom": {
732 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-region"
733 },
734 "remarks": "If no region is specified, AWS CloudFormation uses the region of the caller as the default.\n\nIf you perform an update operation that only updates the `Region` property of a `AWS::SNS::Subscription` resource, that operation will fail unless you are either:\n\n- Updating the `Region` from `NULL` to the caller region.\n- Updating the `Region` from the caller region to `NULL` .",
735 "stability": "external",
736 "summary": "For cross-region subscriptions, the region in which the topic resides."
737 },
738 "locationInModule": {
739 "filename": "lib/sns.generated.ts",
740 "line": 268
741 },
742 "name": "region",
743 "optional": true,
744 "type": {
745 "primitive": "string"
746 }
747 },
748 {
749 "docs": {
750 "custom": {
751 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-subscriptionrolearn"
752 },
753 "remarks": "Specify the ARN of the IAM role that has the following:\n\n- Permission to write to the Amazon Kinesis Data Firehose delivery stream\n- Amazon SNS listed as a trusted entity\n\nSpecifying a valid ARN for this attribute is required for Kinesis Data Firehose delivery stream subscriptions. For more information, see [Fanout to Amazon Kinesis Data Firehose delivery streams](https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html) in the *Amazon SNS Developer Guide.*",
754 "stability": "external",
755 "summary": "This property applies only to Amazon Kinesis Data Firehose delivery stream subscriptions."
756 },
757 "locationInModule": {
758 "filename": "lib/sns.generated.ts",
759 "line": 280
760 },
761 "name": "subscriptionRoleArn",
762 "optional": true,
763 "type": {
764 "primitive": "string"
765 }
766 }
767 ],
768 "symbolId": "lib/sns.generated:CfnSubscription"
769 },
770 "@aws-cdk/aws-sns.CfnSubscriptionProps": {
771 "assembly": "@aws-cdk/aws-sns",
772 "datatype": true,
773 "docs": {
774 "custom": {
775 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html",
776 "exampleMetadata": "fixture=_generated"
777 },
778 "stability": "external",
779 "summary": "Properties for defining a `CfnSubscription`.",
780 "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as sns from '@aws-cdk/aws-sns';\n\ndeclare const deliveryPolicy: any;\ndeclare const filterPolicy: any;\ndeclare const redrivePolicy: any;\nconst cfnSubscriptionProps: sns.CfnSubscriptionProps = {\n protocol: 'protocol',\n topicArn: 'topicArn',\n\n // the properties below are optional\n deliveryPolicy: deliveryPolicy,\n endpoint: 'endpoint',\n filterPolicy: filterPolicy,\n rawMessageDelivery: false,\n redrivePolicy: redrivePolicy,\n region: 'region',\n subscriptionRoleArn: 'subscriptionRoleArn',\n};"
781 },
782 "fqn": "@aws-cdk/aws-sns.CfnSubscriptionProps",
783 "kind": "interface",
784 "locationInModule": {
785 "filename": "lib/sns.generated.ts",
786 "line": 19
787 },
788 "name": "CfnSubscriptionProps",
789 "properties": [
790 {
791 "abstract": true,
792 "docs": {
793 "custom": {
794 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-protocol"
795 },
796 "remarks": "For more information, see the `Protocol` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon SNS API Reference* .",
797 "stability": "external",
798 "summary": "The subscription's protocol."
799 },
800 "immutable": true,
801 "locationInModule": {
802 "filename": "lib/sns.generated.ts",
803 "line": 26
804 },
805 "name": "protocol",
806 "type": {
807 "primitive": "string"
808 }
809 },
810 {
811 "abstract": true,
812 "docs": {
813 "custom": {
814 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#topicarn"
815 },
816 "stability": "external",
817 "summary": "The ARN of the topic to subscribe to."
818 },
819 "immutable": true,
820 "locationInModule": {
821 "filename": "lib/sns.generated.ts",
822 "line": 33
823 },
824 "name": "topicArn",
825 "type": {
826 "primitive": "string"
827 }
828 },
829 {
830 "abstract": true,
831 "docs": {
832 "custom": {
833 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-deliverypolicy"
834 },
835 "remarks": "Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon SNS API Reference* and [Message delivery retries](https://docs.aws.amazon.com/sns/latest/dg/sns-message-delivery-retries.html) in the *Amazon SNS Developer Guide* .",
836 "stability": "external",
837 "summary": "The delivery policy JSON assigned to the subscription."
838 },
839 "immutable": true,
840 "locationInModule": {
841 "filename": "lib/sns.generated.ts",
842 "line": 40
843 },
844 "name": "deliveryPolicy",
845 "optional": true,
846 "type": {
847 "primitive": "any"
848 }
849 },
850 {
851 "abstract": true,
852 "docs": {
853 "custom": {
854 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-endpoint"
855 },
856 "remarks": "The endpoint value depends on the protocol that you specify. For more information, see the `Endpoint` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon SNS API Reference* .",
857 "stability": "external",
858 "summary": "The subscription's endpoint."
859 },
860 "immutable": true,
861 "locationInModule": {
862 "filename": "lib/sns.generated.ts",
863 "line": 47
864 },
865 "name": "endpoint",
866 "optional": true,
867 "type": {
868 "primitive": "string"
869 }
870 },
871 {
872 "abstract": true,
873 "docs": {
874 "custom": {
875 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicy"
876 },
877 "remarks": "Enables the subscriber to filter out unwanted messages. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon SNS API Reference* and [Message filtering](https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html) in the *Amazon SNS Developer Guide* .",
878 "stability": "external",
879 "summary": "The filter policy JSON assigned to the subscription."
880 },
881 "immutable": true,
882 "locationInModule": {
883 "filename": "lib/sns.generated.ts",
884 "line": 54
885 },
886 "name": "filterPolicy",
887 "optional": true,
888 "type": {
889 "primitive": "any"
890 }
891 },
892 {
893 "abstract": true,
894 "docs": {
895 "custom": {
896 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-rawmessagedelivery"
897 },
898 "remarks": "Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon SNS API Reference* .",
899 "stability": "external",
900 "summary": "When set to `true` , enables raw message delivery."
901 },
902 "immutable": true,
903 "locationInModule": {
904 "filename": "lib/sns.generated.ts",
905 "line": 61
906 },
907 "name": "rawMessageDelivery",
908 "optional": true,
909 "type": {
910 "union": {
911 "types": [
912 {
913 "primitive": "boolean"
914 },
915 {
916 "fqn": "@aws-cdk/core.IResolvable"
917 }
918 ]
919 }
920 }
921 },
922 {
923 "abstract": true,
924 "docs": {
925 "custom": {
926 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-redrivepolicy"
927 },
928 "remarks": "Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.\n\nFor more information about the redrive policy and dead-letter queues, see [Amazon SQS dead-letter queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html) in the *Amazon SQS Developer Guide* .",
929 "stability": "external",
930 "summary": "When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue."
931 },
932 "immutable": true,
933 "locationInModule": {
934 "filename": "lib/sns.generated.ts",
935 "line": 70
936 },
937 "name": "redrivePolicy",
938 "optional": true,
939 "type": {
940 "primitive": "any"
941 }
942 },
943 {
944 "abstract": true,
945 "docs": {
946 "custom": {
947 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-region"
948 },
949 "remarks": "If no region is specified, AWS CloudFormation uses the region of the caller as the default.\n\nIf you perform an update operation that only updates the `Region` property of a `AWS::SNS::Subscription` resource, that operation will fail unless you are either:\n\n- Updating the `Region` from `NULL` to the caller region.\n- Updating the `Region` from the caller region to `NULL` .",
950 "stability": "external",
951 "summary": "For cross-region subscriptions, the region in which the topic resides."
952 },
953 "immutable": true,
954 "locationInModule": {
955 "filename": "lib/sns.generated.ts",
956 "line": 84
957 },
958 "name": "region",
959 "optional": true,
960 "type": {
961 "primitive": "string"
962 }
963 },
964 {
965 "abstract": true,
966 "docs": {
967 "custom": {
968 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-subscriptionrolearn"
969 },
970 "remarks": "Specify the ARN of the IAM role that has the following:\n\n- Permission to write to the Amazon Kinesis Data Firehose delivery stream\n- Amazon SNS listed as a trusted entity\n\nSpecifying a valid ARN for this attribute is required for Kinesis Data Firehose delivery stream subscriptions. For more information, see [Fanout to Amazon Kinesis Data Firehose delivery streams](https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html) in the *Amazon SNS Developer Guide.*",
971 "stability": "external",
972 "summary": "This property applies only to Amazon Kinesis Data Firehose delivery stream subscriptions."
973 },
974 "immutable": true,
975 "locationInModule": {
976 "filename": "lib/sns.generated.ts",
977 "line": 96
978 },
979 "name": "subscriptionRoleArn",
980 "optional": true,
981 "type": {
982 "primitive": "string"
983 }
984 }
985 ],
986 "symbolId": "lib/sns.generated:CfnSubscriptionProps"
987 },
988 "@aws-cdk/aws-sns.CfnTopic": {
989 "assembly": "@aws-cdk/aws-sns",
990 "base": "@aws-cdk/core.CfnResource",
991 "docs": {
992 "custom": {
993 "cloudformationResource": "AWS::SNS::Topic",
994 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html",
995 "exampleMetadata": "fixture=_generated"
996 },
997 "remarks": "The `AWS::SNS::Topic` resource creates a topic to which notifications can be published.\n\n> One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [Amazon SNS endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *AWS General Reference* .",
998 "stability": "external",
999 "summary": "A CloudFormation `AWS::SNS::Topic`.",
1000 "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as sns from '@aws-cdk/aws-sns';\nconst cfnTopic = new sns.CfnTopic(this, 'MyCfnTopic', /* all optional props */ {\n contentBasedDeduplication: false,\n displayName: 'displayName',\n fifoTopic: false,\n kmsMasterKeyId: 'kmsMasterKeyId',\n subscription: [{\n endpoint: 'endpoint',\n protocol: 'protocol',\n }],\n tags: [{\n key: 'key',\n value: 'value',\n }],\n topicName: 'topicName',\n});"
1001 },
1002 "fqn": "@aws-cdk/aws-sns.CfnTopic",
1003 "initializer": {
1004 "docs": {
1005 "stability": "external",
1006 "summary": "Create a new `AWS::SNS::Topic`."
1007 },
1008 "locationInModule": {
1009 "filename": "lib/sns.generated.ts",
1010 "line": 583
1011 },
1012 "parameters": [
1013 {
1014 "docs": {
1015 "summary": "- scope in which this resource is defined."
1016 },
1017 "name": "scope",
1018 "type": {
1019 "fqn": "@aws-cdk/core.Construct"
1020 }
1021 },
1022 {
1023 "docs": {
1024 "summary": "- scoped id of the resource."
1025 },
1026 "name": "id",
1027 "type": {
1028 "primitive": "string"
1029 }
1030 },
1031 {
1032 "docs": {
1033 "summary": "- resource properties."
1034 },
1035 "name": "props",
1036 "optional": true,
1037 "type": {
1038 "fqn": "@aws-cdk/aws-sns.CfnTopicProps"
1039 }
1040 }
1041 ]
1042 },
1043 "interfaces": [
1044 "@aws-cdk/core.IInspectable"
1045 ],
1046 "kind": "class",
1047 "locationInModule": {
1048 "filename": "lib/sns.generated.ts",
1049 "line": 483
1050 },
1051 "methods": [
1052 {
1053 "docs": {
1054 "stability": "external",
1055 "summary": "Examines the CloudFormation resource and discloses attributes."
1056 },
1057 "locationInModule": {
1058 "filename": "lib/sns.generated.ts",
1059 "line": 602
1060 },
1061 "name": "inspect",
1062 "overrides": "@aws-cdk/core.IInspectable",
1063 "parameters": [
1064 {
1065 "docs": {
1066 "summary": "- tree inspector to collect and process attributes."
1067 },
1068 "name": "inspector",
1069 "type": {
1070 "fqn": "@aws-cdk/core.TreeInspector"
1071 }
1072 }
1073 ]
1074 },
1075 {
1076 "docs": {
1077 "stability": "external"
1078 },
1079 "locationInModule": {
1080 "filename": "lib/sns.generated.ts",
1081 "line": 619
1082 },
1083 "name": "renderProperties",
1084 "overrides": "@aws-cdk/core.CfnResource",
1085 "parameters": [
1086 {
1087 "name": "props",
1088 "type": {
1089 "collection": {
1090 "elementtype": {
1091 "primitive": "any"
1092 },
1093 "kind": "map"
1094 }
1095 }
1096 }
1097 ],
1098 "protected": true,
1099 "returns": {
1100 "type": {
1101 "collection": {
1102 "elementtype": {
1103 "primitive": "any"
1104 },
1105 "kind": "map"
1106 }
1107 }
1108 }
1109 }
1110 ],
1111 "name": "CfnTopic",
1112 "properties": [
1113 {
1114 "const": true,
1115 "docs": {
1116 "stability": "external",
1117 "summary": "The CloudFormation resource type name for this resource class."
1118 },
1119 "immutable": true,
1120 "locationInModule": {
1121 "filename": "lib/sns.generated.ts",
1122 "line": 487
1123 },
1124 "name": "CFN_RESOURCE_TYPE_NAME",
1125 "static": true,
1126 "type": {
1127 "primitive": "string"
1128 }
1129 },
1130 {
1131 "docs": {
1132 "custom": {
1133 "cloudformationAttribute": "TopicName"
1134 },
1135 "stability": "external",
1136 "summary": "Returns the name of an Amazon SNS topic."
1137 },
1138 "immutable": true,
1139 "locationInModule": {
1140 "filename": "lib/sns.generated.ts",
1141 "line": 512
1142 },
1143 "name": "attrTopicName",
1144 "type": {
1145 "primitive": "string"
1146 }
1147 },
1148 {
1149 "docs": {
1150 "stability": "external"
1151 },
1152 "immutable": true,
1153 "locationInModule": {
1154 "filename": "lib/sns.generated.ts",
1155 "line": 607
1156 },
1157 "name": "cfnProperties",
1158 "overrides": "@aws-cdk/core.CfnResource",
1159 "protected": true,
1160 "type": {
1161 "collection": {
1162 "elementtype": {
1163 "primitive": "any"
1164 },
1165 "kind": "map"
1166 }
1167 }
1168 },
1169 {
1170 "docs": {
1171 "custom": {
1172 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-tags"
1173 },
1174 "remarks": "> To be able to tag a topic on creation, you must have the `sns:CreateTopic` and `sns:TagResource` permissions.",
1175 "stability": "external",
1176 "summary": "The list of tags to add to a new topic."
1177 },
1178 "immutable": true,
1179 "locationInModule": {
1180 "filename": "lib/sns.generated.ts",
1181 "line": 563
1182 },
1183 "name": "tags",
1184 "type": {
1185 "fqn": "@aws-cdk/core.TagManager"
1186 }
1187 },
1188 {
1189 "docs": {
1190 "custom": {
1191 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-contentbaseddeduplication"
1192 },
1193 "remarks": "- By default, `ContentBasedDeduplication` is set to `false` . If you create a FIFO topic and this attribute is `false` , you must specify a value for the `MessageDeduplicationId` parameter for the [Publish](https://docs.aws.amazon.com/sns/latest/api/API_Publish.html) action.\n- When you set `ContentBasedDeduplication` to `true` , Amazon SNS uses a SHA-256 hash to generate the `MessageDeduplicationId` using the body of the message (but not the attributes of the message).\n\n(Optional) To override the generated value, you can specify a value for the the `MessageDeduplicationId` parameter for the `Publish` action.",
1194 "stability": "external",
1195 "summary": "Enables content-based deduplication for FIFO topics."
1196 },
1197 "locationInModule": {
1198 "filename": "lib/sns.generated.ts",
1199 "line": 524
1200 },
1201 "name": "contentBasedDeduplication",
1202 "optional": true,
1203 "type": {
1204 "union": {
1205 "types": [
1206 {
1207 "primitive": "boolean"
1208 },
1209 {
1210 "fqn": "@aws-cdk/core.IResolvable"
1211 }
1212 ]
1213 }
1214 }
1215 },
1216 {
1217 "docs": {
1218 "custom": {
1219 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-displayname"
1220 },
1221 "stability": "external",
1222 "summary": "The display name to use for an Amazon SNS topic with SMS subscriptions."
1223 },
1224 "locationInModule": {
1225 "filename": "lib/sns.generated.ts",
1226 "line": 531
1227 },
1228 "name": "displayName",
1229 "optional": true,
1230 "type": {
1231 "primitive": "string"
1232 }
1233 },
1234 {
1235 "docs": {
1236 "custom": {
1237 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-fifotopic"
1238 },
1239 "stability": "external",
1240 "summary": "Set to true to create a FIFO topic."
1241 },
1242 "locationInModule": {
1243 "filename": "lib/sns.generated.ts",
1244 "line": 538
1245 },
1246 "name": "fifoTopic",
1247 "optional": true,
1248 "type": {
1249 "union": {
1250 "types": [
1251 {
1252 "primitive": "boolean"
1253 },
1254 {
1255 "fqn": "@aws-cdk/core.IResolvable"
1256 }
1257 ]
1258 }
1259 }
1260 },
1261 {
1262 "docs": {
1263 "custom": {
1264 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-kmsmasterkeyid"
1265 },
1266 "remarks": "For more information, see [Key terms](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms) . For more examples, see `[KeyId](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters)` in the *AWS Key Management Service API Reference* .\n\nThis property applies only to [server-side-encryption](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html) .",
1267 "stability": "external",
1268 "summary": "The ID of an AWS managed customer master key (CMK) for Amazon SNS or a custom CMK."
1269 },
1270 "locationInModule": {
1271 "filename": "lib/sns.generated.ts",
1272 "line": 547
1273 },
1274 "name": "kmsMasterKeyId",
1275 "optional": true,
1276 "type": {
1277 "primitive": "string"
1278 }
1279 },
1280 {
1281 "docs": {
1282 "custom": {
1283 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-subscription"
1284 },
1285 "stability": "external",
1286 "summary": "The Amazon SNS subscriptions (endpoints) for this topic."
1287 },
1288 "locationInModule": {
1289 "filename": "lib/sns.generated.ts",
1290 "line": 554
1291 },
1292 "name": "subscription",
1293 "optional": true,
1294 "type": {
1295 "union": {
1296 "types": [
1297 {
1298 "fqn": "@aws-cdk/core.IResolvable"
1299 },
1300 {
1301 "collection": {
1302 "elementtype": {
1303 "union": {
1304 "types": [
1305 {
1306 "fqn": "@aws-cdk/core.IResolvable"
1307 },
1308 {
1309 "fqn": "@aws-cdk/aws-sns.CfnTopic.SubscriptionProperty"
1310 }
1311 ]
1312 }
1313 },
1314 "kind": "array"
1315 }
1316 }
1317 ]
1318 }
1319 }
1320 },
1321 {
1322 "docs": {
1323 "custom": {
1324 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-topicname"
1325 },
1326 "remarks": "Topic names must include only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long. FIFO topic names must end with `.fifo` .\n\nIf you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the topic name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.",
1327 "stability": "external",
1328 "summary": "The name of the topic you want to create."
1329 },
1330 "locationInModule": {
1331 "filename": "lib/sns.generated.ts",
1332 "line": 574
1333 },
1334 "name": "topicName",
1335 "optional": true,
1336 "type": {
1337 "primitive": "string"
1338 }
1339 }
1340 ],
1341 "symbolId": "lib/sns.generated:CfnTopic"
1342 },
1343 "@aws-cdk/aws-sns.CfnTopic.SubscriptionProperty": {
1344 "assembly": "@aws-cdk/aws-sns",
1345 "datatype": true,
1346 "docs": {
1347 "custom": {
1348 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-subscription.html",
1349 "exampleMetadata": "fixture=_generated"
1350 },
1351 "remarks": "> For full control over subscription behavior (for example, delivery policy, filtering, raw message delivery, and cross-region subscriptions), use the [AWS::SNS::Subscription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html) resource.",
1352 "stability": "external",
1353 "summary": "`Subscription` is an embedded property that describes the subscription endpoints of an Amazon SNS topic.",
1354 "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as sns from '@aws-cdk/aws-sns';\nconst subscriptionProperty: sns.CfnTopic.SubscriptionProperty = {\n endpoint: 'endpoint',\n protocol: 'protocol',\n};"
1355 },
1356 "fqn": "@aws-cdk/aws-sns.CfnTopic.SubscriptionProperty",
1357 "kind": "interface",
1358 "locationInModule": {
1359 "filename": "lib/sns.generated.ts",
1360 "line": 635
1361 },
1362 "name": "SubscriptionProperty",
1363 "namespace": "CfnTopic",
1364 "properties": [
1365 {
1366 "abstract": true,
1367 "docs": {
1368 "custom": {
1369 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-subscription.html#cfn-sns-topic-subscription-endpoint"
1370 },
1371 "remarks": "The endpoint value depends on the protocol that you specify. For more information, see the `Endpoint` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon SNS API Reference* .",
1372 "stability": "external",
1373 "summary": "The endpoint that receives notifications from the Amazon SNS topic."
1374 },
1375 "immutable": true,
1376 "locationInModule": {
1377 "filename": "lib/sns.generated.ts",
1378 "line": 641
1379 },
1380 "name": "endpoint",
1381 "type": {
1382 "primitive": "string"
1383 }
1384 },
1385 {
1386 "abstract": true,
1387 "docs": {
1388 "custom": {
1389 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-subscription.html#cfn-sns-topic-subscription-protocol"
1390 },
1391 "remarks": "For more information, see the `Protocol` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon SNS API Reference* .",
1392 "stability": "external",
1393 "summary": "The subscription's protocol."
1394 },
1395 "immutable": true,
1396 "locationInModule": {
1397 "filename": "lib/sns.generated.ts",
1398 "line": 647
1399 },
1400 "name": "protocol",
1401 "type": {
1402 "primitive": "string"
1403 }
1404 }
1405 ],
1406 "symbolId": "lib/sns.generated:CfnTopic.SubscriptionProperty"
1407 },
1408 "@aws-cdk/aws-sns.CfnTopicPolicy": {
1409 "assembly": "@aws-cdk/aws-sns",
1410 "base": "@aws-cdk/core.CfnResource",
1411 "docs": {
1412 "custom": {
1413 "cloudformationResource": "AWS::SNS::TopicPolicy",
1414 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html",
1415 "exampleMetadata": "fixture=_generated"
1416 },
1417 "remarks": "The `AWS::SNS::TopicPolicy` resource associates Amazon SNS topics with a policy. For an example snippet, see [Declaring an Amazon SNS policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sns-policy) in the *AWS CloudFormation User Guide* .",
1418 "stability": "external",
1419 "summary": "A CloudFormation `AWS::SNS::TopicPolicy`.",
1420 "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as sns from '@aws-cdk/aws-sns';\n\ndeclare const policyDocument: any;\nconst cfnTopicPolicy = new sns.CfnTopicPolicy(this, 'MyCfnTopicPolicy', {\n policyDocument: policyDocument,\n topics: ['topics'],\n});"
1421 },
1422 "fqn": "@aws-cdk/aws-sns.CfnTopicPolicy",
1423 "initializer": {
1424 "docs": {
1425 "stability": "external",
1426 "summary": "Create a new `AWS::SNS::TopicPolicy`."
1427 },
1428 "locationInModule": {
1429 "filename": "lib/sns.generated.ts",
1430 "line": 835
1431 },
1432 "parameters": [
1433 {
1434 "docs": {
1435 "summary": "- scope in which this resource is defined."
1436 },
1437 "name": "scope",
1438 "type": {
1439 "fqn": "@aws-cdk/core.Construct"
1440 }
1441 },
1442 {
1443 "docs": {
1444 "summary": "- scoped id of the resource."
1445 },
1446 "name": "id",
1447 "type": {
1448 "primitive": "string"
1449 }
1450 },
1451 {
1452 "docs": {
1453 "summary": "- resource properties."
1454 },
1455 "name": "props",
1456 "type": {
1457 "fqn": "@aws-cdk/aws-sns.CfnTopicPolicyProps"
1458 }
1459 }
1460 ]
1461 },
1462 "interfaces": [
1463 "@aws-cdk/core.IInspectable"
1464 ],
1465 "kind": "class",
1466 "locationInModule": {
1467 "filename": "lib/sns.generated.ts",
1468 "line": 789
1469 },
1470 "methods": [
1471 {
1472 "docs": {
1473 "stability": "external",
1474 "summary": "Examines the CloudFormation resource and discloses attributes."
1475 },
1476 "locationInModule": {
1477 "filename": "lib/sns.generated.ts",
1478 "line": 850
1479 },
1480 "name": "inspect",
1481 "overrides": "@aws-cdk/core.IInspectable",
1482 "parameters": [
1483 {
1484 "docs": {
1485 "summary": "- tree inspector to collect and process attributes."
1486 },
1487 "name": "inspector",
1488 "type": {
1489 "fqn": "@aws-cdk/core.TreeInspector"
1490 }
1491 }
1492 ]
1493 },
1494 {
1495 "docs": {
1496 "stability": "external"
1497 },
1498 "locationInModule": {
1499 "filename": "lib/sns.generated.ts",
1500 "line": 862
1501 },
1502 "name": "renderProperties",
1503 "overrides": "@aws-cdk/core.CfnResource",
1504 "parameters": [
1505 {
1506 "name": "props",
1507 "type": {
1508 "collection": {
1509 "elementtype": {
1510 "primitive": "any"
1511 },
1512 "kind": "map"
1513 }
1514 }
1515 }
1516 ],
1517 "protected": true,
1518 "returns": {
1519 "type": {
1520 "collection": {
1521 "elementtype": {
1522 "primitive": "any"
1523 },
1524 "kind": "map"
1525 }
1526 }
1527 }
1528 }
1529 ],
1530 "name": "CfnTopicPolicy",
1531 "properties": [
1532 {
1533 "const": true,
1534 "docs": {
1535 "stability": "external",
1536 "summary": "The CloudFormation resource type name for this resource class."
1537 },
1538 "immutable": true,
1539 "locationInModule": {
1540 "filename": "lib/sns.generated.ts",
1541 "line": 793
1542 },
1543 "name": "CFN_RESOURCE_TYPE_NAME",
1544 "static": true,
1545 "type": {
1546 "primitive": "string"
1547 }
1548 },
1549 {
1550 "docs": {
1551 "stability": "external"
1552 },
1553 "immutable": true,
1554 "locationInModule": {
1555 "filename": "lib/sns.generated.ts",
1556 "line": 855
1557 },
1558 "name": "cfnProperties",
1559 "overrides": "@aws-cdk/core.CfnResource",
1560 "protected": true,
1561 "type": {
1562 "collection": {
1563 "elementtype": {
1564 "primitive": "any"
1565 },
1566 "kind": "map"
1567 }
1568 }
1569 },
1570 {
1571 "docs": {
1572 "custom": {
1573 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html#cfn-sns-topicpolicy-policydocument"
1574 },
1575 "stability": "external",
1576 "summary": "A policy document that contains permissions to add to the specified SNS topics."
1577 },
1578 "locationInModule": {
1579 "filename": "lib/sns.generated.ts",
1580 "line": 819
1581 },
1582 "name": "policyDocument",
1583 "type": {
1584 "primitive": "any"
1585 }
1586 },
1587 {
1588 "docs": {
1589 "custom": {
1590 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html#cfn-sns-topicpolicy-topics"
1591 },
1592 "remarks": "You can use the `[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)` function to specify an `[AWS::SNS::Topic](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html)` resource.",
1593 "stability": "external",
1594 "summary": "The Amazon Resource Names (ARN) of the topics to which you want to add the policy."
1595 },
1596 "locationInModule": {
1597 "filename": "lib/sns.generated.ts",
1598 "line": 826
1599 },
1600 "name": "topics",
1601 "type": {
1602 "collection": {
1603 "elementtype": {
1604 "primitive": "string"
1605 },
1606 "kind": "array"
1607 }
1608 }
1609 }
1610 ],
1611 "symbolId": "lib/sns.generated:CfnTopicPolicy"
1612 },
1613 "@aws-cdk/aws-sns.CfnTopicPolicyProps": {
1614 "assembly": "@aws-cdk/aws-sns",
1615 "datatype": true,
1616 "docs": {
1617 "custom": {
1618 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html",
1619 "exampleMetadata": "fixture=_generated"
1620 },
1621 "stability": "external",
1622 "summary": "Properties for defining a `CfnTopicPolicy`.",
1623 "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as sns from '@aws-cdk/aws-sns';\n\ndeclare const policyDocument: any;\nconst cfnTopicPolicyProps: sns.CfnTopicPolicyProps = {\n policyDocument: policyDocument,\n topics: ['topics'],\n};"
1624 },
1625 "fqn": "@aws-cdk/aws-sns.CfnTopicPolicyProps",
1626 "kind": "interface",
1627 "locationInModule": {
1628 "filename": "lib/sns.generated.ts",
1629 "line": 712
1630 },
1631 "name": "CfnTopicPolicyProps",
1632 "properties": [
1633 {
1634 "abstract": true,
1635 "docs": {
1636 "custom": {
1637 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html#cfn-sns-topicpolicy-policydocument"
1638 },
1639 "stability": "external",
1640 "summary": "A policy document that contains permissions to add to the specified SNS topics."
1641 },
1642 "immutable": true,
1643 "locationInModule": {
1644 "filename": "lib/sns.generated.ts",
1645 "line": 719
1646 },
1647 "name": "policyDocument",
1648 "type": {
1649 "primitive": "any"
1650 }
1651 },
1652 {
1653 "abstract": true,
1654 "docs": {
1655 "custom": {
1656 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html#cfn-sns-topicpolicy-topics"
1657 },
1658 "remarks": "You can use the `[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)` function to specify an `[AWS::SNS::Topic](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html)` resource.",
1659 "stability": "external",
1660 "summary": "The Amazon Resource Names (ARN) of the topics to which you want to add the policy."
1661 },
1662 "immutable": true,
1663 "locationInModule": {
1664 "filename": "lib/sns.generated.ts",
1665 "line": 726
1666 },
1667 "name": "topics",
1668 "type": {
1669 "collection": {
1670 "elementtype": {
1671 "primitive": "string"
1672 },
1673 "kind": "array"
1674 }
1675 }
1676 }
1677 ],
1678 "symbolId": "lib/sns.generated:CfnTopicPolicyProps"
1679 },
1680 "@aws-cdk/aws-sns.CfnTopicProps": {
1681 "assembly": "@aws-cdk/aws-sns",
1682 "datatype": true,
1683 "docs": {
1684 "custom": {
1685 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html",
1686 "exampleMetadata": "fixture=_generated"
1687 },
1688 "stability": "external",
1689 "summary": "Properties for defining a `CfnTopic`.",
1690 "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as sns from '@aws-cdk/aws-sns';\nconst cfnTopicProps: sns.CfnTopicProps = {\n contentBasedDeduplication: false,\n displayName: 'displayName',\n fifoTopic: false,\n kmsMasterKeyId: 'kmsMasterKeyId',\n subscription: [{\n endpoint: 'endpoint',\n protocol: 'protocol',\n }],\n tags: [{\n key: 'key',\n value: 'value',\n }],\n topicName: 'topicName',\n};"
1691 },
1692 "fqn": "@aws-cdk/aws-sns.CfnTopicProps",
1693 "kind": "interface",
1694 "locationInModule": {
1695 "filename": "lib/sns.generated.ts",
1696 "line": 343
1697 },
1698 "name": "CfnTopicProps",
1699 "properties": [
1700 {
1701 "abstract": true,
1702 "docs": {
1703 "custom": {
1704 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-contentbaseddeduplication"
1705 },
1706 "remarks": "- By default, `ContentBasedDeduplication` is set to `false` . If you create a FIFO topic and this attribute is `false` , you must specify a value for the `MessageDeduplicationId` parameter for the [Publish](https://docs.aws.amazon.com/sns/latest/api/API_Publish.html) action.\n- When you set `ContentBasedDeduplication` to `true` , Amazon SNS uses a SHA-256 hash to generate the `MessageDeduplicationId` using the body of the message (but not the attributes of the message).\n\n(Optional) To override the generated value, you can specify a value for the the `MessageDeduplicationId` parameter for the `Publish` action.",
1707 "stability": "external",
1708 "summary": "Enables content-based deduplication for FIFO topics."
1709 },
1710 "immutable": true,
1711 "locationInModule": {
1712 "filename": "lib/sns.generated.ts",
1713 "line": 355
1714 },
1715 "name": "contentBasedDeduplication",
1716 "optional": true,
1717 "type": {
1718 "union": {
1719 "types": [
1720 {
1721 "primitive": "boolean"
1722 },
1723 {
1724 "fqn": "@aws-cdk/core.IResolvable"
1725 }
1726 ]
1727 }
1728 }
1729 },
1730 {
1731 "abstract": true,
1732 "docs": {
1733 "custom": {
1734 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-displayname"
1735 },
1736 "stability": "external",
1737 "summary": "The display name to use for an Amazon SNS topic with SMS subscriptions."
1738 },
1739 "immutable": true,
1740 "locationInModule": {
1741 "filename": "lib/sns.generated.ts",
1742 "line": 362
1743 },
1744 "name": "displayName",
1745 "optional": true,
1746 "type": {
1747 "primitive": "string"
1748 }
1749 },
1750 {
1751 "abstract": true,
1752 "docs": {
1753 "custom": {
1754 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-fifotopic"
1755 },
1756 "stability": "external",
1757 "summary": "Set to true to create a FIFO topic."
1758 },
1759 "immutable": true,
1760 "locationInModule": {
1761 "filename": "lib/sns.generated.ts",
1762 "line": 369
1763 },
1764 "name": "fifoTopic",
1765 "optional": true,
1766 "type": {
1767 "union": {
1768 "types": [
1769 {
1770 "primitive": "boolean"
1771 },
1772 {
1773 "fqn": "@aws-cdk/core.IResolvable"
1774 }
1775 ]
1776 }
1777 }
1778 },
1779 {
1780 "abstract": true,
1781 "docs": {
1782 "custom": {
1783 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-kmsmasterkeyid"
1784 },
1785 "remarks": "For more information, see [Key terms](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms) . For more examples, see `[KeyId](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters)` in the *AWS Key Management Service API Reference* .\n\nThis property applies only to [server-side-encryption](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html) .",
1786 "stability": "external",
1787 "summary": "The ID of an AWS managed customer master key (CMK) for Amazon SNS or a custom CMK."
1788 },
1789 "immutable": true,
1790 "locationInModule": {
1791 "filename": "lib/sns.generated.ts",
1792 "line": 378
1793 },
1794 "name": "kmsMasterKeyId",
1795 "optional": true,
1796 "type": {
1797 "primitive": "string"
1798 }
1799 },
1800 {
1801 "abstract": true,
1802 "docs": {
1803 "custom": {
1804 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-subscription"
1805 },
1806 "stability": "external",
1807 "summary": "The Amazon SNS subscriptions (endpoints) for this topic."
1808 },
1809 "immutable": true,
1810 "locationInModule": {
1811 "filename": "lib/sns.generated.ts",
1812 "line": 385
1813 },
1814 "name": "subscription",
1815 "optional": true,
1816 "type": {
1817 "union": {
1818 "types": [
1819 {
1820 "fqn": "@aws-cdk/core.IResolvable"
1821 },
1822 {
1823 "collection": {
1824 "elementtype": {
1825 "union": {
1826 "types": [
1827 {
1828 "fqn": "@aws-cdk/core.IResolvable"
1829 },
1830 {
1831 "fqn": "@aws-cdk/aws-sns.CfnTopic.SubscriptionProperty"
1832 }
1833 ]
1834 }
1835 },
1836 "kind": "array"
1837 }
1838 }
1839 ]
1840 }
1841 }
1842 },
1843 {
1844 "abstract": true,
1845 "docs": {
1846 "custom": {
1847 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-tags"
1848 },
1849 "remarks": "> To be able to tag a topic on creation, you must have the `sns:CreateTopic` and `sns:TagResource` permissions.",
1850 "stability": "external",
1851 "summary": "The list of tags to add to a new topic."
1852 },
1853 "immutable": true,
1854 "locationInModule": {
1855 "filename": "lib/sns.generated.ts",
1856 "line": 394
1857 },
1858 "name": "tags",
1859 "optional": true,
1860 "type": {
1861 "collection": {
1862 "elementtype": {
1863 "fqn": "@aws-cdk/core.CfnTag"
1864 },
1865 "kind": "array"
1866 }
1867 }
1868 },
1869 {
1870 "abstract": true,
1871 "docs": {
1872 "custom": {
1873 "link": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-topicname"
1874 },
1875 "remarks": "Topic names must include only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long. FIFO topic names must end with `.fifo` .\n\nIf you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the topic name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\n> If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.",
1876 "stability": "external",
1877 "summary": "The name of the topic you want to create."
1878 },
1879 "immutable": true,
1880 "locationInModule": {
1881 "filename": "lib/sns.generated.ts",
1882 "line": 405
1883 },
1884 "name": "topicName",
1885 "optional": true,
1886 "type": {
1887 "primitive": "string"
1888 }
1889 }
1890 ],
1891 "symbolId": "lib/sns.generated:CfnTopicProps"
1892 },
1893 "@aws-cdk/aws-sns.ITopic": {
1894 "assembly": "@aws-cdk/aws-sns",
1895 "docs": {
1896 "stability": "stable",
1897 "summary": "Represents an SNS topic."
1898 },
1899 "fqn": "@aws-cdk/aws-sns.ITopic",
1900 "interfaces": [
1901 "@aws-cdk/core.IResource",
1902 "@aws-cdk/aws-codestarnotifications.INotificationRuleTarget"
1903 ],
1904 "kind": "interface",
1905 "locationInModule": {
1906 "filename": "lib/topic-base.ts",
1907 "line": 16
1908 },
1909 "methods": [
1910 {
1911 "abstract": true,
1912 "docs": {
1913 "stability": "stable",
1914 "summary": "Subscribe some endpoint to this topic."
1915 },
1916 "locationInModule": {
1917 "filename": "lib/topic-base.ts",
1918 "line": 41
1919 },
1920 "name": "addSubscription",
1921 "parameters": [
1922 {
1923 "name": "subscription",
1924 "type": {
1925 "fqn": "@aws-cdk/aws-sns.ITopicSubscription"
1926 }
1927 }
1928 ]
1929 },
1930 {
1931 "abstract": true,
1932 "docs": {
1933 "remarks": "If this topic was created in this stack (`new Topic`), a topic policy\nwill be automatically created upon the first call to `addToPolicy`. If\nthe topic is imported (`Topic.import`), then this is a no-op.",
1934 "stability": "stable",
1935 "summary": "Adds a statement to the IAM resource policy associated with this topic."
1936 },
1937 "locationInModule": {
1938 "filename": "lib/topic-base.ts",
1939 "line": 50
1940 },
1941 "name": "addToResourcePolicy",
1942 "parameters": [
1943 {
1944 "name": "statement",
1945 "type": {
1946 "fqn": "@aws-cdk/aws-iam.PolicyStatement"
1947 }
1948 }
1949 ],
1950 "returns": {
1951 "type": {
1952 "fqn": "@aws-cdk/aws-iam.AddToResourcePolicyResult"
1953 }
1954 }
1955 },
1956 {
1957 "abstract": true,
1958 "docs": {
1959 "stability": "stable",
1960 "summary": "Grant topic publishing permissions to the given identity."
1961 },
1962 "locationInModule": {
1963 "filename": "lib/topic-base.ts",
1964 "line": 55
1965 },
1966 "name": "grantPublish",
1967 "parameters": [
1968 {
1969 "name": "identity",
1970 "type": {
1971 "fqn": "@aws-cdk/aws-iam.IGrantable"
1972 }
1973 }
1974 ],
1975 "returns": {
1976 "type": {
1977 "fqn": "@aws-cdk/aws-iam.Grant"
1978 }
1979 }
1980 },
1981 {
1982 "abstract": true,
1983 "docs": {
1984 "stability": "stable",
1985 "summary": "Return the given named metric for this Topic."
1986 },
1987 "locationInModule": {
1988 "filename": "lib/sns-augmentations.generated.ts",
1989 "line": 11
1990 },
1991 "name": "metric",
1992 "parameters": [
1993 {
1994 "name": "metricName",
1995 "type": {
1996 "primitive": "string"
1997 }
1998 },
1999 {
2000 "name": "props",
2001 "optional": true,
2002 "type": {
2003 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
2004 }
2005 }
2006 ],
2007 "returns": {
2008 "type": {
2009 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
2010 }
2011 }
2012 },
2013 {
2014 "abstract": true,
2015 "docs": {
2016 "remarks": "Sum over 5 minutes",
2017 "stability": "stable",
2018 "summary": "The number of messages published to your Amazon SNS topics."
2019 },
2020 "locationInModule": {
2021 "filename": "lib/sns-augmentations.generated.ts",
2022 "line": 23
2023 },
2024 "name": "metricNumberOfMessagesPublished",
2025 "parameters": [
2026 {
2027 "name": "props",
2028 "optional": true,
2029 "type": {
2030 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
2031 }
2032 }
2033 ],
2034 "returns": {
2035 "type": {
2036 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
2037 }
2038 }
2039 },
2040 {
2041 "abstract": true,
2042 "docs": {
2043 "remarks": "Sum over 5 minutes",
2044 "stability": "stable",
2045 "summary": "The number of messages successfully delivered from your Amazon SNS topics to subscribing endpoints."
2046 },
2047 "locationInModule": {
2048 "filename": "lib/sns-augmentations.generated.ts",
2049 "line": 29
2050 },
2051 "name": "metricNumberOfNotificationsDelivered",
2052 "parameters": [
2053 {
2054 "name": "props",
2055 "optional": true,
2056 "type": {
2057 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
2058 }
2059 }
2060 ],
2061 "returns": {
2062 "type": {
2063 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
2064 }
2065 }
2066 },
2067 {
2068 "abstract": true,
2069 "docs": {
2070 "remarks": "Sum over 5 minutes",
2071 "stability": "stable",
2072 "summary": "The number of messages that Amazon SNS failed to deliver."
2073 },
2074 "locationInModule": {
2075 "filename": "lib/sns-augmentations.generated.ts",
2076 "line": 35
2077 },
2078 "name": "metricNumberOfNotificationsFailed",
2079 "parameters": [
2080 {
2081 "name": "props",
2082 "optional": true,
2083 "type": {
2084 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
2085 }
2086 }
2087 ],
2088 "returns": {
2089 "type": {
2090 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
2091 }
2092 }
2093 },
2094 {
2095 "abstract": true,
2096 "docs": {
2097 "remarks": "Sum over 5 minutes",
2098 "stability": "stable",
2099 "summary": "The number of messages that were rejected by subscription filter policies."
2100 },
2101 "locationInModule": {
2102 "filename": "lib/sns-augmentations.generated.ts",
2103 "line": 41
2104 },
2105 "name": "metricNumberOfNotificationsFilteredOut",
2106 "parameters": [
2107 {
2108 "name": "props",
2109 "optional": true,
2110 "type": {
2111 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
2112 }
2113 }
2114 ],
2115 "returns": {
2116 "type": {
2117 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
2118 }
2119 }
2120 },
2121 {
2122 "abstract": true,
2123 "docs": {
2124 "remarks": "Sum over 5 minutes",
2125 "stability": "stable",
2126 "summary": "The number of messages that were rejected by subscription filter policies because the messages' attributes are invalid."
2127 },
2128 "locationInModule": {
2129 "filename": "lib/sns-augmentations.generated.ts",
2130 "line": 53
2131 },
2132 "name": "metricNumberOfNotificationsFilteredOutInvalidAttributes",
2133 "parameters": [
2134 {
2135 "name": "props",
2136 "optional": true,
2137 "type": {
2138 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
2139 }
2140 }
2141 ],
2142 "returns": {
2143 "type": {
2144 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
2145 }
2146 }
2147 },
2148 {
2149 "abstract": true,
2150 "docs": {
2151 "remarks": "Sum over 5 minutes",
2152 "stability": "stable",
2153 "summary": "The number of messages that were rejected by subscription filter policies because the messages have no attributes."
2154 },
2155 "locationInModule": {
2156 "filename": "lib/sns-augmentations.generated.ts",
2157 "line": 47
2158 },
2159 "name": "metricNumberOfNotificationsFilteredOutNoMessageAttributes",
2160 "parameters": [
2161 {
2162 "name": "props",
2163 "optional": true,
2164 "type": {
2165 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
2166 }
2167 }
2168 ],
2169 "returns": {
2170 "type": {
2171 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
2172 }
2173 }
2174 },
2175 {
2176 "abstract": true,
2177 "docs": {
2178 "remarks": "Average over 5 minutes",
2179 "stability": "stable",
2180 "summary": "Metric for the size of messages published through this topic."
2181 },
2182 "locationInModule": {
2183 "filename": "lib/sns-augmentations.generated.ts",
2184 "line": 17
2185 },
2186 "name": "metricPublishSize",
2187 "parameters": [
2188 {
2189 "name": "props",
2190 "optional": true,
2191 "type": {
2192 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
2193 }
2194 }
2195 ],
2196 "returns": {
2197 "type": {
2198 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
2199 }
2200 }
2201 },
2202 {
2203 "abstract": true,
2204 "docs": {
2205 "remarks": "Maximum over 5 minutes",
2206 "stability": "stable",
2207 "summary": "The charges you have accrued since the start of the current calendar month for sending SMS messages."
2208 },
2209 "locationInModule": {
2210 "filename": "lib/sns-augmentations.generated.ts",
2211 "line": 59
2212 },
2213 "name": "metricSMSMonthToDateSpentUSD",
2214 "parameters": [
2215 {
2216 "name": "props",
2217 "optional": true,
2218 "type": {
2219 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
2220 }
2221 }
2222 ],
2223 "returns": {
2224 "type": {
2225 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
2226 }
2227 }
2228 },
2229 {
2230 "abstract": true,
2231 "docs": {
2232 "remarks": "Sum over 5 minutes",
2233 "stability": "stable",
2234 "summary": "The rate of successful SMS message deliveries."
2235 },
2236 "locationInModule": {
2237 "filename": "lib/sns-augmentations.generated.ts",
2238 "line": 65
2239 },
2240 "name": "metricSMSSuccessRate",
2241 "parameters": [
2242 {
2243 "name": "props",
2244 "optional": true,
2245 "type": {
2246 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
2247 }
2248 }
2249 ],
2250 "returns": {
2251 "type": {
2252 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
2253 }
2254 }
2255 }
2256 ],
2257 "name": "ITopic",
2258 "properties": [
2259 {
2260 "abstract": true,
2261 "docs": {
2262 "custom": {
2263 "attribute": "true"
2264 },
2265 "remarks": "If false, this is a standard topic.",
2266 "stability": "stable",
2267 "summary": "Whether this topic is an Amazon SNS FIFO queue."
2268 },
2269 "immutable": true,
2270 "locationInModule": {
2271 "filename": "lib/topic-base.ts",
2272 "line": 36
2273 },
2274 "name": "fifo",
2275 "type": {
2276 "primitive": "boolean"
2277 }
2278 },
2279 {
2280 "abstract": true,
2281 "docs": {
2282 "custom": {
2283 "attribute": "true"
2284 },
2285 "stability": "stable",
2286 "summary": "The ARN of the topic."
2287 },
2288 "immutable": true,
2289 "locationInModule": {
2290 "filename": "lib/topic-base.ts",
2291 "line": 22
2292 },
2293 "name": "topicArn",
2294 "type": {
2295 "primitive": "string"
2296 }
2297 },
2298 {
2299 "abstract": true,
2300 "docs": {
2301 "custom": {
2302 "attribute": "true"
2303 },
2304 "stability": "stable",
2305 "summary": "The name of the topic."
2306 },
2307 "immutable": true,
2308 "locationInModule": {
2309 "filename": "lib/topic-base.ts",
2310 "line": 29
2311 },
2312 "name": "topicName",
2313 "type": {
2314 "primitive": "string"
2315 }
2316 }
2317 ],
2318 "symbolId": "lib/topic-base:ITopic"
2319 },
2320 "@aws-cdk/aws-sns.ITopicSubscription": {
2321 "assembly": "@aws-cdk/aws-sns",
2322 "docs": {
2323 "stability": "stable",
2324 "summary": "Topic subscription."
2325 },
2326 "fqn": "@aws-cdk/aws-sns.ITopicSubscription",
2327 "kind": "interface",
2328 "locationInModule": {
2329 "filename": "lib/subscriber.ts",
2330 "line": 36
2331 },
2332 "methods": [
2333 {
2334 "abstract": true,
2335 "docs": {
2336 "stability": "stable",
2337 "summary": "Returns a configuration used to subscribe to an SNS topic."
2338 },
2339 "locationInModule": {
2340 "filename": "lib/subscriber.ts",
2341 "line": 42
2342 },
2343 "name": "bind",
2344 "parameters": [
2345 {
2346 "docs": {
2347 "summary": "topic for which subscription will be configured."
2348 },
2349 "name": "topic",
2350 "type": {
2351 "fqn": "@aws-cdk/aws-sns.ITopic"
2352 }
2353 }
2354 ],
2355 "returns": {
2356 "type": {
2357 "fqn": "@aws-cdk/aws-sns.TopicSubscriptionConfig"
2358 }
2359 }
2360 }
2361 ],
2362 "name": "ITopicSubscription",
2363 "symbolId": "lib/subscriber:ITopicSubscription"
2364 },
2365 "@aws-cdk/aws-sns.NumericConditions": {
2366 "assembly": "@aws-cdk/aws-sns",
2367 "datatype": true,
2368 "docs": {
2369 "stability": "stable",
2370 "summary": "Conditions that can be applied to numeric attributes.",
2371 "example": "import * as lambda from '@aws-cdk/aws-lambda';\n\nconst myTopic = new sns.Topic(this, 'MyTopic');\ndeclare const fn: lambda.Function;\n\n// Lambda should receive only message matching the following conditions on attributes:\n// color: 'red' or 'orange' or begins with 'bl'\n// size: anything but 'small' or 'medium'\n// price: between 100 and 200 or greater than 300\n// store: attribute must be present\nmyTopic.addSubscription(new subscriptions.LambdaSubscription(fn, {\n filterPolicy: {\n color: sns.SubscriptionFilter.stringFilter({\n allowlist: ['red', 'orange'],\n matchPrefixes: ['bl'],\n }),\n size: sns.SubscriptionFilter.stringFilter({\n denylist: ['small', 'medium'],\n }),\n price: sns.SubscriptionFilter.numericFilter({\n between: { start: 100, stop: 200 },\n greaterThan: 300,\n }),\n store: sns.SubscriptionFilter.existsFilter(),\n },\n}));",
2372 "custom": {
2373 "exampleMetadata": "infused"
2374 }
2375 },
2376 "fqn": "@aws-cdk/aws-sns.NumericConditions",
2377 "kind": "interface",
2378 "locationInModule": {
2379 "filename": "lib/subscription-filter.ts",
2380 "line": 58
2381 },
2382 "name": "NumericConditions",
2383 "properties": [
2384 {
2385 "abstract": true,
2386 "docs": {
2387 "default": "- None",
2388 "stability": "stable",
2389 "summary": "Match one or more values."
2390 },
2391 "immutable": true,
2392 "locationInModule": {
2393 "filename": "lib/subscription-filter.ts",
2394 "line": 71
2395 },
2396 "name": "allowlist",
2397 "optional": true,
2398 "type": {
2399 "collection": {
2400 "elementtype": {
2401 "primitive": "number"
2402 },
2403 "kind": "array"
2404 }
2405 }
2406 },
2407 {
2408 "abstract": true,
2409 "docs": {
2410 "default": "- None",
2411 "stability": "stable",
2412 "summary": "Match values that are between the specified values."
2413 },
2414 "immutable": true,
2415 "locationInModule": {
2416 "filename": "lib/subscription-filter.ts",
2417 "line": 106
2418 },
2419 "name": "between",
2420 "optional": true,
2421 "type": {
2422 "fqn": "@aws-cdk/aws-sns.BetweenCondition"
2423 }
2424 },
2425 {
2426 "abstract": true,
2427 "docs": {
2428 "default": "- None",
2429 "stability": "stable",
2430 "summary": "Match values that are strictly between the specified values."
2431 },
2432 "immutable": true,
2433 "locationInModule": {
2434 "filename": "lib/subscription-filter.ts",
2435 "line": 113
2436 },
2437 "name": "betweenStrict",
2438 "optional": true,
2439 "type": {
2440 "fqn": "@aws-cdk/aws-sns.BetweenCondition"
2441 }
2442 },
2443 {
2444 "abstract": true,
2445 "docs": {
2446 "default": "- None",
2447 "stability": "stable",
2448 "summary": "Match values that are greater than the specified value."
2449 },
2450 "immutable": true,
2451 "locationInModule": {
2452 "filename": "lib/subscription-filter.ts",
2453 "line": 78
2454 },
2455 "name": "greaterThan",
2456 "optional": true,
2457 "type": {
2458 "primitive": "number"
2459 }
2460 },
2461 {
2462 "abstract": true,
2463 "docs": {
2464 "default": "- None",
2465 "stability": "stable",
2466 "summary": "Match values that are greater than or equal to the specified value."
2467 },
2468 "immutable": true,
2469 "locationInModule": {
2470 "filename": "lib/subscription-filter.ts",
2471 "line": 85
2472 },
2473 "name": "greaterThanOrEqualTo",
2474 "optional": true,
2475 "type": {
2476 "primitive": "number"
2477 }
2478 },
2479 {
2480 "abstract": true,
2481 "docs": {
2482 "default": "- None",
2483 "stability": "stable",
2484 "summary": "Match values that are less than the specified value."
2485 },
2486 "immutable": true,
2487 "locationInModule": {
2488 "filename": "lib/subscription-filter.ts",
2489 "line": 92
2490 },
2491 "name": "lessThan",
2492 "optional": true,
2493 "type": {
2494 "primitive": "number"
2495 }
2496 },
2497 {
2498 "abstract": true,
2499 "docs": {
2500 "default": "- None",
2501 "stability": "stable",
2502 "summary": "Match values that are less than or equal to the specified value."
2503 },
2504 "immutable": true,
2505 "locationInModule": {
2506 "filename": "lib/subscription-filter.ts",
2507 "line": 99
2508 },
2509 "name": "lessThanOrEqualTo",
2510 "optional": true,
2511 "type": {
2512 "primitive": "number"
2513 }
2514 },
2515 {
2516 "abstract": true,
2517 "docs": {
2518 "default": "- None",
2519 "deprecated": "use `allowlist`",
2520 "stability": "deprecated",
2521 "summary": "Match one or more values."
2522 },
2523 "immutable": true,
2524 "locationInModule": {
2525 "filename": "lib/subscription-filter.ts",
2526 "line": 64
2527 },
2528 "name": "whitelist",
2529 "optional": true,
2530 "type": {
2531 "collection": {
2532 "elementtype": {
2533 "primitive": "number"
2534 },
2535 "kind": "array"
2536 }
2537 }
2538 }
2539 ],
2540 "symbolId": "lib/subscription-filter:NumericConditions"
2541 },
2542 "@aws-cdk/aws-sns.StringConditions": {
2543 "assembly": "@aws-cdk/aws-sns",
2544 "datatype": true,
2545 "docs": {
2546 "stability": "stable",
2547 "summary": "Conditions that can be applied to string attributes.",
2548 "example": "import * as lambda from '@aws-cdk/aws-lambda';\n\nconst myTopic = new sns.Topic(this, 'MyTopic');\ndeclare const fn: lambda.Function;\n\n// Lambda should receive only message matching the following conditions on attributes:\n// color: 'red' or 'orange' or begins with 'bl'\n// size: anything but 'small' or 'medium'\n// price: between 100 and 200 or greater than 300\n// store: attribute must be present\nmyTopic.addSubscription(new subscriptions.LambdaSubscription(fn, {\n filterPolicy: {\n color: sns.SubscriptionFilter.stringFilter({\n allowlist: ['red', 'orange'],\n matchPrefixes: ['bl'],\n }),\n size: sns.SubscriptionFilter.stringFilter({\n denylist: ['small', 'medium'],\n }),\n price: sns.SubscriptionFilter.numericFilter({\n between: { start: 100, stop: 200 },\n greaterThan: 300,\n }),\n store: sns.SubscriptionFilter.existsFilter(),\n },\n}));",
2549 "custom": {
2550 "exampleMetadata": "infused"
2551 }
2552 },
2553 "fqn": "@aws-cdk/aws-sns.StringConditions",
2554 "kind": "interface",
2555 "locationInModule": {
2556 "filename": "lib/subscription-filter.ts",
2557 "line": 4
2558 },
2559 "name": "StringConditions",
2560 "properties": [
2561 {
2562 "abstract": true,
2563 "docs": {
2564 "default": "- None",
2565 "stability": "stable",
2566 "summary": "Match one or more values."
2567 },
2568 "immutable": true,
2569 "locationInModule": {
2570 "filename": "lib/subscription-filter.ts",
2571 "line": 24
2572 },
2573 "name": "allowlist",
2574 "optional": true,
2575 "type": {
2576 "collection": {
2577 "elementtype": {
2578 "primitive": "string"
2579 },
2580 "kind": "array"
2581 }
2582 }
2583 },
2584 {
2585 "abstract": true,
2586 "docs": {
2587 "default": "- None",
2588 "deprecated": "use `denylist`",
2589 "stability": "deprecated",
2590 "summary": "Match any value that doesn't include any of the specified values."
2591 },
2592 "immutable": true,
2593 "locationInModule": {
2594 "filename": "lib/subscription-filter.ts",
2595 "line": 18
2596 },
2597 "name": "blacklist",
2598 "optional": true,
2599 "type": {
2600 "collection": {
2601 "elementtype": {
2602 "primitive": "string"
2603 },
2604 "kind": "array"
2605 }
2606 }
2607 },
2608 {
2609 "abstract": true,
2610 "docs": {
2611 "default": "- None",
2612 "stability": "stable",
2613 "summary": "Match any value that doesn't include any of the specified values."
2614 },
2615 "immutable": true,
2616 "locationInModule": {
2617 "filename": "lib/subscription-filter.ts",
2618 "line": 30
2619 },
2620 "name": "denylist",
2621 "optional": true,
2622 "type": {
2623 "collection": {
2624 "elementtype": {
2625 "primitive": "string"
2626 },
2627 "kind": "array"
2628 }
2629 }
2630 },
2631 {
2632 "abstract": true,
2633 "docs": {
2634 "default": "- None",
2635 "stability": "stable",
2636 "summary": "Matches values that begins with the specified prefixes."
2637 },
2638 "immutable": true,
2639 "locationInModule": {
2640 "filename": "lib/subscription-filter.ts",
2641 "line": 37
2642 },
2643 "name": "matchPrefixes",
2644 "optional": true,
2645 "type": {
2646 "collection": {
2647 "elementtype": {
2648 "primitive": "string"
2649 },
2650 "kind": "array"
2651 }
2652 }
2653 },
2654 {
2655 "abstract": true,
2656 "docs": {
2657 "default": "- None",
2658 "deprecated": "use `allowlist`",
2659 "stability": "deprecated",
2660 "summary": "Match one or more values."
2661 },
2662 "immutable": true,
2663 "locationInModule": {
2664 "filename": "lib/subscription-filter.ts",
2665 "line": 11
2666 },
2667 "name": "whitelist",
2668 "optional": true,
2669 "type": {
2670 "collection": {
2671 "elementtype": {
2672 "primitive": "string"
2673 },
2674 "kind": "array"
2675 }
2676 }
2677 }
2678 ],
2679 "symbolId": "lib/subscription-filter:StringConditions"
2680 },
2681 "@aws-cdk/aws-sns.Subscription": {
2682 "assembly": "@aws-cdk/aws-sns",
2683 "base": "@aws-cdk/core.Resource",
2684 "docs": {
2685 "remarks": "Prefer to use the `ITopic.addSubscription()` methods to create instances of\nthis class.",
2686 "stability": "stable",
2687 "summary": "A new subscription.",
2688 "example": "import { DeliveryStream } from '@aws-cdk/aws-kinesisfirehose';\n\nconst topic = new sns.Topic(this, 'Topic');\ndeclare const stream: DeliveryStream;\n\nnew sns.Subscription(this, 'Subscription', {\n topic,\n endpoint: stream.deliveryStreamArn,\n protocol: sns.SubscriptionProtocol.FIREHOSE,\n subscriptionRoleArn: \"SAMPLE_ARN\", //role with permissions to send messages to a firehose delivery stream\n});",
2689 "custom": {
2690 "exampleMetadata": "infused"
2691 }
2692 },
2693 "fqn": "@aws-cdk/aws-sns.Subscription",
2694 "initializer": {
2695 "docs": {
2696 "stability": "stable"
2697 },
2698 "locationInModule": {
2699 "filename": "lib/subscription.ts",
2700 "line": 88
2701 },
2702 "parameters": [
2703 {
2704 "name": "scope",
2705 "type": {
2706 "fqn": "constructs.Construct"
2707 }
2708 },
2709 {
2710 "name": "id",
2711 "type": {
2712 "primitive": "string"
2713 }
2714 },
2715 {
2716 "name": "props",
2717 "type": {
2718 "fqn": "@aws-cdk/aws-sns.SubscriptionProps"
2719 }
2720 }
2721 ]
2722 },
2723 "kind": "class",
2724 "locationInModule": {
2725 "filename": "lib/subscription.ts",
2726 "line": 79
2727 },
2728 "name": "Subscription",
2729 "properties": [
2730 {
2731 "docs": {
2732 "stability": "stable",
2733 "summary": "The DLQ associated with this subscription if present."
2734 },
2735 "immutable": true,
2736 "locationInModule": {
2737 "filename": "lib/subscription.ts",
2738 "line": 84
2739 },
2740 "name": "deadLetterQueue",
2741 "optional": true,
2742 "type": {
2743 "fqn": "@aws-cdk/aws-sqs.IQueue"
2744 }
2745 }
2746 ],
2747 "symbolId": "lib/subscription:Subscription"
2748 },
2749 "@aws-cdk/aws-sns.SubscriptionFilter": {
2750 "assembly": "@aws-cdk/aws-sns",
2751 "docs": {
2752 "stability": "stable",
2753 "summary": "A subscription filter for an attribute.",
2754 "example": "import * as lambda from '@aws-cdk/aws-lambda';\n\nconst myTopic = new sns.Topic(this, 'MyTopic');\ndeclare const fn: lambda.Function;\n\n// Lambda should receive only message matching the following conditions on attributes:\n// color: 'red' or 'orange' or begins with 'bl'\n// size: anything but 'small' or 'medium'\n// price: between 100 and 200 or greater than 300\n// store: attribute must be present\nmyTopic.addSubscription(new subscriptions.LambdaSubscription(fn, {\n filterPolicy: {\n color: sns.SubscriptionFilter.stringFilter({\n allowlist: ['red', 'orange'],\n matchPrefixes: ['bl'],\n }),\n size: sns.SubscriptionFilter.stringFilter({\n denylist: ['small', 'medium'],\n }),\n price: sns.SubscriptionFilter.numericFilter({\n between: { start: 100, stop: 200 },\n greaterThan: 300,\n }),\n store: sns.SubscriptionFilter.existsFilter(),\n },\n}));",
2755 "custom": {
2756 "exampleMetadata": "infused"
2757 }
2758 },
2759 "fqn": "@aws-cdk/aws-sns.SubscriptionFilter",
2760 "initializer": {
2761 "docs": {
2762 "stability": "stable"
2763 },
2764 "locationInModule": {
2765 "filename": "lib/subscription-filter.ts",
2766 "line": 203
2767 },
2768 "parameters": [
2769 {
2770 "docs": {
2771 "summary": "conditions that specify the message attributes that should be included, excluded, matched, etc."
2772 },
2773 "name": "conditions",
2774 "optional": true,
2775 "type": {
2776 "collection": {
2777 "elementtype": {
2778 "primitive": "any"
2779 },
2780 "kind": "array"
2781 }
2782 }
2783 }
2784 ]
2785 },
2786 "kind": "class",
2787 "locationInModule": {
2788 "filename": "lib/subscription-filter.ts",
2789 "line": 119
2790 },
2791 "methods": [
2792 {
2793 "docs": {
2794 "stability": "stable",
2795 "summary": "Returns a subscription filter for attribute key matching."
2796 },
2797 "locationInModule": {
2798 "filename": "lib/subscription-filter.ts",
2799 "line": 195
2800 },
2801 "name": "existsFilter",
2802 "returns": {
2803 "type": {
2804 "fqn": "@aws-cdk/aws-sns.SubscriptionFilter"
2805 }
2806 },
2807 "static": true
2808 },
2809 {
2810 "docs": {
2811 "stability": "stable",
2812 "summary": "Returns a subscription filter for a numeric attribute."
2813 },
2814 "locationInModule": {
2815 "filename": "lib/subscription-filter.ts",
2816 "line": 153
2817 },
2818 "name": "numericFilter",
2819 "parameters": [
2820 {
2821 "name": "numericConditions",
2822 "type": {
2823 "fqn": "@aws-cdk/aws-sns.NumericConditions"
2824 }
2825 }
2826 ],
2827 "returns": {
2828 "type": {
2829 "fqn": "@aws-cdk/aws-sns.SubscriptionFilter"
2830 }
2831 },
2832 "static": true
2833 },
2834 {
2835 "docs": {
2836 "stability": "stable",
2837 "summary": "Returns a subscription filter for a string attribute."
2838 },
2839 "locationInModule": {
2840 "filename": "lib/subscription-filter.ts",
2841 "line": 123
2842 },
2843 "name": "stringFilter",
2844 "parameters": [
2845 {
2846 "name": "stringConditions",
2847 "type": {
2848 "fqn": "@aws-cdk/aws-sns.StringConditions"
2849 }
2850 }
2851 ],
2852 "returns": {
2853 "type": {
2854 "fqn": "@aws-cdk/aws-sns.SubscriptionFilter"
2855 }
2856 },
2857 "static": true
2858 }
2859 ],
2860 "name": "SubscriptionFilter",
2861 "properties": [
2862 {
2863 "docs": {
2864 "stability": "stable",
2865 "summary": "conditions that specify the message attributes that should be included, excluded, matched, etc."
2866 },
2867 "immutable": true,
2868 "locationInModule": {
2869 "filename": "lib/subscription-filter.ts",
2870 "line": 203
2871 },
2872 "name": "conditions",
2873 "type": {
2874 "collection": {
2875 "elementtype": {
2876 "primitive": "any"
2877 },
2878 "kind": "array"
2879 }
2880 }
2881 }
2882 ],
2883 "symbolId": "lib/subscription-filter:SubscriptionFilter"
2884 },
2885 "@aws-cdk/aws-sns.SubscriptionOptions": {
2886 "assembly": "@aws-cdk/aws-sns",
2887 "datatype": true,
2888 "docs": {
2889 "stability": "stable",
2890 "summary": "Options for creating a new subscription.",
2891 "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as sns from '@aws-cdk/aws-sns';\nimport * as sqs from '@aws-cdk/aws-sqs';\n\ndeclare const queue: sqs.Queue;\ndeclare const subscriptionFilter: sns.SubscriptionFilter;\nconst subscriptionOptions: sns.SubscriptionOptions = {\n endpoint: 'endpoint',\n protocol: sns.SubscriptionProtocol.HTTP,\n\n // the properties below are optional\n deadLetterQueue: queue,\n filterPolicy: {\n filterPolicyKey: subscriptionFilter,\n },\n rawMessageDelivery: false,\n region: 'region',\n subscriptionRoleArn: 'subscriptionRoleArn',\n};",
2892 "custom": {
2893 "exampleMetadata": "fixture=_generated"
2894 }
2895 },
2896 "fqn": "@aws-cdk/aws-sns.SubscriptionOptions",
2897 "kind": "interface",
2898 "locationInModule": {
2899 "filename": "lib/subscription.ts",
2900 "line": 12
2901 },
2902 "name": "SubscriptionOptions",
2903 "properties": [
2904 {
2905 "abstract": true,
2906 "docs": {
2907 "remarks": "The meaning of this value depends on the value for 'protocol'.",
2908 "stability": "stable",
2909 "summary": "The subscription endpoint."
2910 },
2911 "immutable": true,
2912 "locationInModule": {
2913 "filename": "lib/subscription.ts",
2914 "line": 23
2915 },
2916 "name": "endpoint",
2917 "type": {
2918 "primitive": "string"
2919 }
2920 },
2921 {
2922 "abstract": true,
2923 "docs": {
2924 "stability": "stable",
2925 "summary": "What type of subscription to add."
2926 },
2927 "immutable": true,
2928 "locationInModule": {
2929 "filename": "lib/subscription.ts",
2930 "line": 16
2931 },
2932 "name": "protocol",
2933 "type": {
2934 "fqn": "@aws-cdk/aws-sns.SubscriptionProtocol"
2935 }
2936 },
2937 {
2938 "abstract": true,
2939 "docs": {
2940 "default": "- No dead letter queue enabled.",
2941 "remarks": "If not passed no dead letter queue is enabled.",
2942 "stability": "stable",
2943 "summary": "Queue to be used as dead letter queue."
2944 },
2945 "immutable": true,
2946 "locationInModule": {
2947 "filename": "lib/subscription.ts",
2948 "line": 54
2949 },
2950 "name": "deadLetterQueue",
2951 "optional": true,
2952 "type": {
2953 "fqn": "@aws-cdk/aws-sqs.IQueue"
2954 }
2955 },
2956 {
2957 "abstract": true,
2958 "docs": {
2959 "default": "- all messages are delivered",
2960 "stability": "stable",
2961 "summary": "The filter policy."
2962 },
2963 "immutable": true,
2964 "locationInModule": {
2965 "filename": "lib/subscription.ts",
2966 "line": 39
2967 },
2968 "name": "filterPolicy",
2969 "optional": true,
2970 "type": {
2971 "collection": {
2972 "elementtype": {
2973 "fqn": "@aws-cdk/aws-sns.SubscriptionFilter"
2974 },
2975 "kind": "map"
2976 }
2977 }
2978 },
2979 {
2980 "abstract": true,
2981 "docs": {
2982 "default": "false",
2983 "remarks": "Raw messages are free of JSON formatting and can be\nsent to HTTP/S and Amazon SQS endpoints. For more information, see GetSubscriptionAttributes in the Amazon Simple\nNotification Service API Reference.",
2984 "stability": "stable",
2985 "summary": "true if raw message delivery is enabled for the subscription."
2986 },
2987 "immutable": true,
2988 "locationInModule": {
2989 "filename": "lib/subscription.ts",
2990 "line": 32
2991 },
2992 "name": "rawMessageDelivery",
2993 "optional": true,
2994 "type": {
2995 "primitive": "boolean"
2996 }
2997 },
2998 {
2999 "abstract": true,
3000 "docs": {
3001 "custom": {
3002 "link": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-region"
3003 },
3004 "default": "- the region where the CloudFormation stack is being deployed.",
3005 "stability": "stable",
3006 "summary": "The region where the topic resides, in the case of cross-region subscriptions."
3007 },
3008 "immutable": true,
3009 "locationInModule": {
3010 "filename": "lib/subscription.ts",
3011 "line": 46
3012 },
3013 "name": "region",
3014 "optional": true,
3015 "type": {
3016 "primitive": "string"
3017 }
3018 },
3019 {
3020 "abstract": true,
3021 "docs": {
3022 "default": "- No subscription role is provided",
3023 "remarks": "Required for a firehose subscription protocol.",
3024 "stability": "stable",
3025 "summary": "Arn of role allowing access to firehose delivery stream."
3026 },
3027 "immutable": true,
3028 "locationInModule": {
3029 "filename": "lib/subscription.ts",
3030 "line": 61
3031 },
3032 "name": "subscriptionRoleArn",
3033 "optional": true,
3034 "type": {
3035 "primitive": "string"
3036 }
3037 }
3038 ],
3039 "symbolId": "lib/subscription:SubscriptionOptions"
3040 },
3041 "@aws-cdk/aws-sns.SubscriptionProps": {
3042 "assembly": "@aws-cdk/aws-sns",
3043 "datatype": true,
3044 "docs": {
3045 "stability": "stable",
3046 "summary": "Properties for creating a new subscription.",
3047 "example": "import { DeliveryStream } from '@aws-cdk/aws-kinesisfirehose';\n\nconst topic = new sns.Topic(this, 'Topic');\ndeclare const stream: DeliveryStream;\n\nnew sns.Subscription(this, 'Subscription', {\n topic,\n endpoint: stream.deliveryStreamArn,\n protocol: sns.SubscriptionProtocol.FIREHOSE,\n subscriptionRoleArn: \"SAMPLE_ARN\", //role with permissions to send messages to a firehose delivery stream\n});",
3048 "custom": {
3049 "exampleMetadata": "infused"
3050 }
3051 },
3052 "fqn": "@aws-cdk/aws-sns.SubscriptionProps",
3053 "interfaces": [
3054 "@aws-cdk/aws-sns.SubscriptionOptions"
3055 ],
3056 "kind": "interface",
3057 "locationInModule": {
3058 "filename": "lib/subscription.ts",
3059 "line": 66
3060 },
3061 "name": "SubscriptionProps",
3062 "properties": [
3063 {
3064 "abstract": true,
3065 "docs": {
3066 "stability": "stable",
3067 "summary": "The topic to subscribe to."
3068 },
3069 "immutable": true,
3070 "locationInModule": {
3071 "filename": "lib/subscription.ts",
3072 "line": 70
3073 },
3074 "name": "topic",
3075 "type": {
3076 "fqn": "@aws-cdk/aws-sns.ITopic"
3077 }
3078 }
3079 ],
3080 "symbolId": "lib/subscription:SubscriptionProps"
3081 },
3082 "@aws-cdk/aws-sns.SubscriptionProtocol": {
3083 "assembly": "@aws-cdk/aws-sns",
3084 "docs": {
3085 "stability": "stable",
3086 "summary": "The type of subscription, controlling the type of the endpoint parameter.",
3087 "example": "import { DeliveryStream } from '@aws-cdk/aws-kinesisfirehose';\n\nconst topic = new sns.Topic(this, 'Topic');\ndeclare const stream: DeliveryStream;\n\nnew sns.Subscription(this, 'Subscription', {\n topic,\n endpoint: stream.deliveryStreamArn,\n protocol: sns.SubscriptionProtocol.FIREHOSE,\n subscriptionRoleArn: \"SAMPLE_ARN\", //role with permissions to send messages to a firehose delivery stream\n});",
3088 "custom": {
3089 "exampleMetadata": "infused"
3090 }
3091 },
3092 "fqn": "@aws-cdk/aws-sns.SubscriptionProtocol",
3093 "kind": "enum",
3094 "locationInModule": {
3095 "filename": "lib/subscription.ts",
3096 "line": 172
3097 },
3098 "members": [
3099 {
3100 "docs": {
3101 "stability": "stable",
3102 "summary": "JSON-encoded message is POSTED to an HTTP url."
3103 },
3104 "name": "HTTP"
3105 },
3106 {
3107 "docs": {
3108 "stability": "stable",
3109 "summary": "JSON-encoded message is POSTed to an HTTPS url."
3110 },
3111 "name": "HTTPS"
3112 },
3113 {
3114 "docs": {
3115 "stability": "stable",
3116 "summary": "Notifications are sent via email."
3117 },
3118 "name": "EMAIL"
3119 },
3120 {
3121 "docs": {
3122 "stability": "stable",
3123 "summary": "Notifications are JSON-encoded and sent via mail."
3124 },
3125 "name": "EMAIL_JSON"
3126 },
3127 {
3128 "docs": {
3129 "stability": "stable",
3130 "summary": "Notification is delivered by SMS."
3131 },
3132 "name": "SMS"
3133 },
3134 {
3135 "docs": {
3136 "stability": "stable",
3137 "summary": "Notifications are enqueued into an SQS queue."
3138 },
3139 "name": "SQS"
3140 },
3141 {
3142 "docs": {
3143 "stability": "stable",
3144 "summary": "JSON-encoded notifications are sent to a mobile app endpoint."
3145 },
3146 "name": "APPLICATION"
3147 },
3148 {
3149 "docs": {
3150 "stability": "stable",
3151 "summary": "Notifications trigger a Lambda function."
3152 },
3153 "name": "LAMBDA"
3154 },
3155 {
3156 "docs": {
3157 "stability": "stable",
3158 "summary": "Notifications put records into a firehose delivery stream."
3159 },
3160 "name": "FIREHOSE"
3161 }
3162 ],
3163 "name": "SubscriptionProtocol",
3164 "symbolId": "lib/subscription:SubscriptionProtocol"
3165 },
3166 "@aws-cdk/aws-sns.Topic": {
3167 "assembly": "@aws-cdk/aws-sns",
3168 "base": "@aws-cdk/aws-sns.TopicBase",
3169 "docs": {
3170 "stability": "stable",
3171 "summary": "A new SNS topic.",
3172 "example": "import * as sns from '@aws-cdk/aws-sns';\n\nconst topic = new sns.Topic(this, 'MyTopic');\n\nconst topicRule = new iot.TopicRule(this, 'TopicRule', {\n sql: iot.IotSql.fromStringAsVer20160323(\n \"SELECT topic(2) as device_id, year, month, day FROM 'device/+/data'\",\n ),\n actions: [\n new actions.SnsTopicAction(topic, {\n messageFormat: actions.SnsActionMessageFormat.JSON, // optional property, default is SnsActionMessageFormat.RAW\n }),\n ],\n});",
3173 "custom": {
3174 "exampleMetadata": "infused"
3175 }
3176 },
3177 "fqn": "@aws-cdk/aws-sns.Topic",
3178 "initializer": {
3179 "docs": {
3180 "stability": "stable"
3181 },
3182 "locationInModule": {
3183 "filename": "lib/topic.ts",
3184 "line": 80
3185 },
3186 "parameters": [
3187 {
3188 "name": "scope",
3189 "type": {
3190 "fqn": "constructs.Construct"
3191 }
3192 },
3193 {
3194 "name": "id",
3195 "type": {
3196 "primitive": "string"
3197 }
3198 },
3199 {
3200 "name": "props",
3201 "optional": true,
3202 "type": {
3203 "fqn": "@aws-cdk/aws-sns.TopicProps"
3204 }
3205 }
3206 ]
3207 },
3208 "kind": "class",
3209 "locationInModule": {
3210 "filename": "lib/topic.ts",
3211 "line": 54
3212 },
3213 "methods": [
3214 {
3215 "docs": {
3216 "stability": "stable",
3217 "summary": "Import an existing SNS topic provided an ARN."
3218 },
3219 "locationInModule": {
3220 "filename": "lib/topic.ts",
3221 "line": 63
3222 },
3223 "name": "fromTopicArn",
3224 "parameters": [
3225 {
3226 "docs": {
3227 "summary": "The parent creating construct."
3228 },
3229 "name": "scope",
3230 "type": {
3231 "fqn": "constructs.Construct"
3232 }
3233 },
3234 {
3235 "docs": {
3236 "summary": "The construct's name."
3237 },
3238 "name": "id",
3239 "type": {
3240 "primitive": "string"
3241 }
3242 },
3243 {
3244 "docs": {
3245 "summary": "topic ARN (i.e. arn:aws:sns:us-east-2:444455556666:MyTopic)."
3246 },
3247 "name": "topicArn",
3248 "type": {
3249 "primitive": "string"
3250 }
3251 }
3252 ],
3253 "returns": {
3254 "type": {
3255 "fqn": "@aws-cdk/aws-sns.ITopic"
3256 }
3257 },
3258 "static": true
3259 }
3260 ],
3261 "name": "Topic",
3262 "properties": [
3263 {
3264 "docs": {
3265 "remarks": "Set by subclasses.",
3266 "stability": "stable",
3267 "summary": "Controls automatic creation of policy objects."
3268 },
3269 "immutable": true,
3270 "locationInModule": {
3271 "filename": "lib/topic.ts",
3272 "line": 78
3273 },
3274 "name": "autoCreatePolicy",
3275 "overrides": "@aws-cdk/aws-sns.TopicBase",
3276 "protected": true,
3277 "type": {
3278 "primitive": "boolean"
3279 }
3280 },
3281 {
3282 "docs": {
3283 "remarks": "If false, this is a standard topic.",
3284 "stability": "stable",
3285 "summary": "Whether this topic is an Amazon SNS FIFO queue."
3286 },
3287 "immutable": true,
3288 "locationInModule": {
3289 "filename": "lib/topic.ts",
3290 "line": 76
3291 },
3292 "name": "fifo",
3293 "overrides": "@aws-cdk/aws-sns.TopicBase",
3294 "type": {
3295 "primitive": "boolean"
3296 }
3297 },
3298 {
3299 "docs": {
3300 "stability": "stable",
3301 "summary": "The ARN of the topic."
3302 },
3303 "immutable": true,
3304 "locationInModule": {
3305 "filename": "lib/topic.ts",
3306 "line": 74
3307 },
3308 "name": "topicArn",
3309 "overrides": "@aws-cdk/aws-sns.TopicBase",
3310 "type": {
3311 "primitive": "string"
3312 }
3313 },
3314 {
3315 "docs": {
3316 "stability": "stable",
3317 "summary": "The name of the topic."
3318 },
3319 "immutable": true,
3320 "locationInModule": {
3321 "filename": "lib/topic.ts",
3322 "line": 75
3323 },
3324 "name": "topicName",
3325 "overrides": "@aws-cdk/aws-sns.TopicBase",
3326 "type": {
3327 "primitive": "string"
3328 }
3329 }
3330 ],
3331 "symbolId": "lib/topic:Topic"
3332 },
3333 "@aws-cdk/aws-sns.TopicBase": {
3334 "abstract": true,
3335 "assembly": "@aws-cdk/aws-sns",
3336 "base": "@aws-cdk/core.Resource",
3337 "docs": {
3338 "stability": "stable",
3339 "summary": "Either a new or imported Topic."
3340 },
3341 "fqn": "@aws-cdk/aws-sns.TopicBase",
3342 "initializer": {
3343 "docs": {
3344 "stability": "stable"
3345 },
3346 "locationInModule": {
3347 "filename": "lib/resource.ts",
3348 "line": 150
3349 },
3350 "parameters": [
3351 {
3352 "name": "scope",
3353 "type": {
3354 "fqn": "constructs.Construct"
3355 }
3356 },
3357 {
3358 "name": "id",
3359 "type": {
3360 "primitive": "string"
3361 }
3362 },
3363 {
3364 "name": "props",
3365 "optional": true,
3366 "type": {
3367 "fqn": "@aws-cdk/core.ResourceProps"
3368 }
3369 }
3370 ]
3371 },
3372 "interfaces": [
3373 "@aws-cdk/aws-sns.ITopic"
3374 ],
3375 "kind": "class",
3376 "locationInModule": {
3377 "filename": "lib/topic-base.ts",
3378 "line": 61
3379 },
3380 "methods": [
3381 {
3382 "docs": {
3383 "stability": "stable",
3384 "summary": "Subscribe some endpoint to this topic."
3385 },
3386 "locationInModule": {
3387 "filename": "lib/topic-base.ts",
3388 "line": 80
3389 },
3390 "name": "addSubscription",
3391 "overrides": "@aws-cdk/aws-sns.ITopic",
3392 "parameters": [
3393 {
3394 "name": "subscription",
3395 "type": {
3396 "fqn": "@aws-cdk/aws-sns.ITopicSubscription"
3397 }
3398 }
3399 ]
3400 },
3401 {
3402 "docs": {
3403 "remarks": "If this topic was created in this stack (`new Topic`), a topic policy\nwill be automatically created upon the first call to `addToPolicy`. If\nthe topic is imported (`Topic.import`), then this is a no-op.",
3404 "stability": "stable",
3405 "summary": "Adds a statement to the IAM resource policy associated with this topic."
3406 },
3407 "locationInModule": {
3408 "filename": "lib/topic-base.ts",
3409 "line": 108
3410 },
3411 "name": "addToResourcePolicy",
3412 "overrides": "@aws-cdk/aws-sns.ITopic",
3413 "parameters": [
3414 {
3415 "name": "statement",
3416 "type": {
3417 "fqn": "@aws-cdk/aws-iam.PolicyStatement"
3418 }
3419 }
3420 ],
3421 "returns": {
3422 "type": {
3423 "fqn": "@aws-cdk/aws-iam.AddToResourcePolicyResult"
3424 }
3425 }
3426 },
3427 {
3428 "docs": {
3429 "stability": "stable",
3430 "summary": "Represents a notification target That allows SNS topic to associate with this rule target."
3431 },
3432 "locationInModule": {
3433 "filename": "lib/topic-base.ts",
3434 "line": 142
3435 },
3436 "name": "bindAsNotificationRuleTarget",
3437 "overrides": "@aws-cdk/aws-codestarnotifications.INotificationRuleTarget",
3438 "parameters": [
3439 {
3440 "name": "_scope",
3441 "type": {
3442 "fqn": "constructs.Construct"
3443 }
3444 }
3445 ],
3446 "returns": {
3447 "type": {
3448 "fqn": "@aws-cdk/aws-codestarnotifications.NotificationRuleTargetConfig"
3449 }
3450 }
3451 },
3452 {
3453 "docs": {
3454 "stability": "stable",
3455 "summary": "Grant topic publishing permissions to the given identity."
3456 },
3457 "locationInModule": {
3458 "filename": "lib/topic-base.ts",
3459 "line": 129
3460 },
3461 "name": "grantPublish",
3462 "overrides": "@aws-cdk/aws-sns.ITopic",
3463 "parameters": [
3464 {
3465 "name": "grantee",
3466 "type": {
3467 "fqn": "@aws-cdk/aws-iam.IGrantable"
3468 }
3469 }
3470 ],
3471 "returns": {
3472 "type": {
3473 "fqn": "@aws-cdk/aws-iam.Grant"
3474 }
3475 }
3476 },
3477 {
3478 "docs": {
3479 "stability": "stable",
3480 "summary": "Return the given named metric for this Topic."
3481 },
3482 "locationInModule": {
3483 "filename": "lib/sns-augmentations.generated.ts",
3484 "line": 71
3485 },
3486 "name": "metric",
3487 "overrides": "@aws-cdk/aws-sns.ITopic",
3488 "parameters": [
3489 {
3490 "name": "metricName",
3491 "type": {
3492 "primitive": "string"
3493 }
3494 },
3495 {
3496 "name": "props",
3497 "optional": true,
3498 "type": {
3499 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
3500 }
3501 }
3502 ],
3503 "returns": {
3504 "type": {
3505 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
3506 }
3507 }
3508 },
3509 {
3510 "docs": {
3511 "remarks": "Sum over 5 minutes",
3512 "stability": "stable",
3513 "summary": "The number of messages published to your Amazon SNS topics."
3514 },
3515 "locationInModule": {
3516 "filename": "lib/sns-augmentations.generated.ts",
3517 "line": 83
3518 },
3519 "name": "metricNumberOfMessagesPublished",
3520 "overrides": "@aws-cdk/aws-sns.ITopic",
3521 "parameters": [
3522 {
3523 "name": "props",
3524 "optional": true,
3525 "type": {
3526 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
3527 }
3528 }
3529 ],
3530 "returns": {
3531 "type": {
3532 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
3533 }
3534 }
3535 },
3536 {
3537 "docs": {
3538 "remarks": "Sum over 5 minutes",
3539 "stability": "stable",
3540 "summary": "The number of messages successfully delivered from your Amazon SNS topics to subscribing endpoints."
3541 },
3542 "locationInModule": {
3543 "filename": "lib/sns-augmentations.generated.ts",
3544 "line": 89
3545 },
3546 "name": "metricNumberOfNotificationsDelivered",
3547 "overrides": "@aws-cdk/aws-sns.ITopic",
3548 "parameters": [
3549 {
3550 "name": "props",
3551 "optional": true,
3552 "type": {
3553 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
3554 }
3555 }
3556 ],
3557 "returns": {
3558 "type": {
3559 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
3560 }
3561 }
3562 },
3563 {
3564 "docs": {
3565 "remarks": "Sum over 5 minutes",
3566 "stability": "stable",
3567 "summary": "The number of messages that Amazon SNS failed to deliver."
3568 },
3569 "locationInModule": {
3570 "filename": "lib/sns-augmentations.generated.ts",
3571 "line": 95
3572 },
3573 "name": "metricNumberOfNotificationsFailed",
3574 "overrides": "@aws-cdk/aws-sns.ITopic",
3575 "parameters": [
3576 {
3577 "name": "props",
3578 "optional": true,
3579 "type": {
3580 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
3581 }
3582 }
3583 ],
3584 "returns": {
3585 "type": {
3586 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
3587 }
3588 }
3589 },
3590 {
3591 "docs": {
3592 "remarks": "Sum over 5 minutes",
3593 "stability": "stable",
3594 "summary": "The number of messages that were rejected by subscription filter policies."
3595 },
3596 "locationInModule": {
3597 "filename": "lib/sns-augmentations.generated.ts",
3598 "line": 101
3599 },
3600 "name": "metricNumberOfNotificationsFilteredOut",
3601 "overrides": "@aws-cdk/aws-sns.ITopic",
3602 "parameters": [
3603 {
3604 "name": "props",
3605 "optional": true,
3606 "type": {
3607 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
3608 }
3609 }
3610 ],
3611 "returns": {
3612 "type": {
3613 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
3614 }
3615 }
3616 },
3617 {
3618 "docs": {
3619 "remarks": "Sum over 5 minutes",
3620 "stability": "stable",
3621 "summary": "The number of messages that were rejected by subscription filter policies because the messages' attributes are invalid."
3622 },
3623 "locationInModule": {
3624 "filename": "lib/sns-augmentations.generated.ts",
3625 "line": 113
3626 },
3627 "name": "metricNumberOfNotificationsFilteredOutInvalidAttributes",
3628 "overrides": "@aws-cdk/aws-sns.ITopic",
3629 "parameters": [
3630 {
3631 "name": "props",
3632 "optional": true,
3633 "type": {
3634 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
3635 }
3636 }
3637 ],
3638 "returns": {
3639 "type": {
3640 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
3641 }
3642 }
3643 },
3644 {
3645 "docs": {
3646 "remarks": "Sum over 5 minutes",
3647 "stability": "stable",
3648 "summary": "The number of messages that were rejected by subscription filter policies because the messages have no attributes."
3649 },
3650 "locationInModule": {
3651 "filename": "lib/sns-augmentations.generated.ts",
3652 "line": 107
3653 },
3654 "name": "metricNumberOfNotificationsFilteredOutNoMessageAttributes",
3655 "overrides": "@aws-cdk/aws-sns.ITopic",
3656 "parameters": [
3657 {
3658 "name": "props",
3659 "optional": true,
3660 "type": {
3661 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
3662 }
3663 }
3664 ],
3665 "returns": {
3666 "type": {
3667 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
3668 }
3669 }
3670 },
3671 {
3672 "docs": {
3673 "remarks": "Average over 5 minutes",
3674 "stability": "stable",
3675 "summary": "Metric for the size of messages published through this topic."
3676 },
3677 "locationInModule": {
3678 "filename": "lib/sns-augmentations.generated.ts",
3679 "line": 77
3680 },
3681 "name": "metricPublishSize",
3682 "overrides": "@aws-cdk/aws-sns.ITopic",
3683 "parameters": [
3684 {
3685 "name": "props",
3686 "optional": true,
3687 "type": {
3688 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
3689 }
3690 }
3691 ],
3692 "returns": {
3693 "type": {
3694 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
3695 }
3696 }
3697 },
3698 {
3699 "docs": {
3700 "remarks": "Maximum over 5 minutes",
3701 "stability": "stable",
3702 "summary": "The charges you have accrued since the start of the current calendar month for sending SMS messages."
3703 },
3704 "locationInModule": {
3705 "filename": "lib/sns-augmentations.generated.ts",
3706 "line": 119
3707 },
3708 "name": "metricSMSMonthToDateSpentUSD",
3709 "overrides": "@aws-cdk/aws-sns.ITopic",
3710 "parameters": [
3711 {
3712 "name": "props",
3713 "optional": true,
3714 "type": {
3715 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
3716 }
3717 }
3718 ],
3719 "returns": {
3720 "type": {
3721 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
3722 }
3723 }
3724 },
3725 {
3726 "docs": {
3727 "remarks": "Sum over 5 minutes",
3728 "stability": "stable",
3729 "summary": "The rate of successful SMS message deliveries."
3730 },
3731 "locationInModule": {
3732 "filename": "lib/sns-augmentations.generated.ts",
3733 "line": 125
3734 },
3735 "name": "metricSMSSuccessRate",
3736 "overrides": "@aws-cdk/aws-sns.ITopic",
3737 "parameters": [
3738 {
3739 "name": "props",
3740 "optional": true,
3741 "type": {
3742 "fqn": "@aws-cdk/aws-cloudwatch.MetricOptions"
3743 }
3744 }
3745 ],
3746 "returns": {
3747 "type": {
3748 "fqn": "@aws-cdk/aws-cloudwatch.Metric"
3749 }
3750 }
3751 },
3752 {
3753 "docs": {
3754 "remarks": "This method can be implemented by derived constructs in order to perform\nvalidation logic. It is called on all constructs before synthesis.",
3755 "stability": "stable",
3756 "summary": "Validate the current construct."
3757 },
3758 "locationInModule": {
3759 "filename": "lib/topic-base.ts",
3760 "line": 120
3761 },
3762 "name": "validate",
3763 "overrides": "@aws-cdk/core.Construct",
3764 "protected": true,
3765 "returns": {
3766 "type": {
3767 "collection": {
3768 "elementtype": {
3769 "primitive": "string"
3770 },
3771 "kind": "array"
3772 }
3773 }
3774 }
3775 }
3776 ],
3777 "name": "TopicBase",
3778 "properties": [
3779 {
3780 "abstract": true,
3781 "docs": {
3782 "remarks": "Set by subclasses.",
3783 "stability": "stable",
3784 "summary": "Controls automatic creation of policy objects."
3785 },
3786 "immutable": true,
3787 "locationInModule": {
3788 "filename": "lib/topic-base.ts",
3789 "line": 73
3790 },
3791 "name": "autoCreatePolicy",
3792 "protected": true,
3793 "type": {
3794 "primitive": "boolean"
3795 }
3796 },
3797 {
3798 "abstract": true,
3799 "docs": {
3800 "remarks": "If false, this is a standard topic.",
3801 "stability": "stable",
3802 "summary": "Whether this topic is an Amazon SNS FIFO queue."
3803 },
3804 "immutable": true,
3805 "locationInModule": {
3806 "filename": "lib/topic-base.ts",
3807 "line": 66
3808 },
3809 "name": "fifo",
3810 "overrides": "@aws-cdk/aws-sns.ITopic",
3811 "type": {
3812 "primitive": "boolean"
3813 }
3814 },
3815 {
3816 "abstract": true,
3817 "docs": {
3818 "stability": "stable",
3819 "summary": "The ARN of the topic."
3820 },
3821 "immutable": true,
3822 "locationInModule": {
3823 "filename": "lib/topic-base.ts",
3824 "line": 62
3825 },
3826 "name": "topicArn",
3827 "overrides": "@aws-cdk/aws-sns.ITopic",
3828 "type": {
3829 "primitive": "string"
3830 }
3831 },
3832 {
3833 "abstract": true,
3834 "docs": {
3835 "stability": "stable",
3836 "summary": "The name of the topic."
3837 },
3838 "immutable": true,
3839 "locationInModule": {
3840 "filename": "lib/topic-base.ts",
3841 "line": 64
3842 },
3843 "name": "topicName",
3844 "overrides": "@aws-cdk/aws-sns.ITopic",
3845 "type": {
3846 "primitive": "string"
3847 }
3848 }
3849 ],
3850 "symbolId": "lib/topic-base:TopicBase"
3851 },
3852 "@aws-cdk/aws-sns.TopicPolicy": {
3853 "assembly": "@aws-cdk/aws-sns",
3854 "base": "@aws-cdk/core.Resource",
3855 "docs": {
3856 "remarks": "Policies define the operations that are allowed on this resource.\n\nYou almost never need to define this construct directly.\n\nAll AWS resources that support resource policies have a method called\n`addToResourcePolicy()`, which will automatically create a new resource\npolicy if one doesn't exist yet, otherwise it will add to the existing\npolicy.\n\nPrefer to use `addToResourcePolicy()` instead.",
3857 "stability": "stable",
3858 "summary": "The policy for an SNS Topic.",
3859 "example": "const topic = new sns.Topic(this, 'Topic');\nconst topicPolicy = new sns.TopicPolicy(this, 'TopicPolicy', {\n topics: [topic],\n});\n\ntopicPolicy.document.addStatements(new iam.PolicyStatement({\n actions: [\"sns:Subscribe\"],\n principals: [new iam.AnyPrincipal()],\n resources: [topic.topicArn],\n}));",
3860 "custom": {
3861 "exampleMetadata": "infused"
3862 }
3863 },
3864 "fqn": "@aws-cdk/aws-sns.TopicPolicy",
3865 "initializer": {
3866 "docs": {
3867 "stability": "stable"
3868 },
3869 "locationInModule": {
3870 "filename": "lib/policy.ts",
3871 "line": 49
3872 },
3873 "parameters": [
3874 {
3875 "name": "scope",
3876 "type": {
3877 "fqn": "constructs.Construct"
3878 }
3879 },
3880 {
3881 "name": "id",
3882 "type": {
3883 "primitive": "string"
3884 }
3885 },
3886 {
3887 "name": "props",
3888 "type": {
3889 "fqn": "@aws-cdk/aws-sns.TopicPolicyProps"
3890 }
3891 }
3892 ]
3893 },
3894 "kind": "class",
3895 "locationInModule": {
3896 "filename": "lib/policy.ts",
3897 "line": 37
3898 },
3899 "name": "TopicPolicy",
3900 "properties": [
3901 {
3902 "docs": {
3903 "stability": "stable",
3904 "summary": "The IAM policy document for this policy."
3905 },
3906 "immutable": true,
3907 "locationInModule": {
3908 "filename": "lib/policy.ts",
3909 "line": 41
3910 },
3911 "name": "document",
3912 "type": {
3913 "fqn": "@aws-cdk/aws-iam.PolicyDocument"
3914 }
3915 }
3916 ],
3917 "symbolId": "lib/policy:TopicPolicy"
3918 },
3919 "@aws-cdk/aws-sns.TopicPolicyProps": {
3920 "assembly": "@aws-cdk/aws-sns",
3921 "datatype": true,
3922 "docs": {
3923 "stability": "stable",
3924 "summary": "Properties to associate SNS topics with a policy.",
3925 "example": "const topic = new sns.Topic(this, 'Topic');\nconst topicPolicy = new sns.TopicPolicy(this, 'TopicPolicy', {\n topics: [topic],\n});\n\ntopicPolicy.document.addStatements(new iam.PolicyStatement({\n actions: [\"sns:Subscribe\"],\n principals: [new iam.AnyPrincipal()],\n resources: [topic.topicArn],\n}));",
3926 "custom": {
3927 "exampleMetadata": "infused"
3928 }
3929 },
3930 "fqn": "@aws-cdk/aws-sns.TopicPolicyProps",
3931 "kind": "interface",
3932 "locationInModule": {
3933 "filename": "lib/policy.ts",
3934 "line": 10
3935 },
3936 "name": "TopicPolicyProps",
3937 "properties": [
3938 {
3939 "abstract": true,
3940 "docs": {
3941 "stability": "stable",
3942 "summary": "The set of topics this policy applies to."
3943 },
3944 "immutable": true,
3945 "locationInModule": {
3946 "filename": "lib/policy.ts",
3947 "line": 14
3948 },
3949 "name": "topics",
3950 "type": {
3951 "collection": {
3952 "elementtype": {
3953 "fqn": "@aws-cdk/aws-sns.ITopic"
3954 },
3955 "kind": "array"
3956 }
3957 }
3958 },
3959 {
3960 "abstract": true,
3961 "docs": {
3962 "default": "empty policy document",
3963 "stability": "stable",
3964 "summary": "IAM policy document to apply to topic(s)."
3965 },
3966 "immutable": true,
3967 "locationInModule": {
3968 "filename": "lib/policy.ts",
3969 "line": 19
3970 },
3971 "name": "policyDocument",
3972 "optional": true,
3973 "type": {
3974 "fqn": "@aws-cdk/aws-iam.PolicyDocument"
3975 }
3976 }
3977 ],
3978 "symbolId": "lib/policy:TopicPolicyProps"
3979 },
3980 "@aws-cdk/aws-sns.TopicProps": {
3981 "assembly": "@aws-cdk/aws-sns",
3982 "datatype": true,
3983 "docs": {
3984 "stability": "stable",
3985 "summary": "Properties for a new SNS topic.",
3986 "example": "const topic = new sns.Topic(this, 'Topic', {\n displayName: 'Customer subscription topic',\n});",
3987 "custom": {
3988 "exampleMetadata": "infused"
3989 }
3990 },
3991 "fqn": "@aws-cdk/aws-sns.TopicProps",
3992 "kind": "interface",
3993 "locationInModule": {
3994 "filename": "lib/topic.ts",
3995 "line": 10
3996 },
3997 "name": "TopicProps",
3998 "properties": [
3999 {
4000 "abstract": true,
4001 "docs": {
4002 "default": "None",
4003 "stability": "stable",
4004 "summary": "Enables content-based deduplication for FIFO topics."
4005 },
4006 "immutable": true,
4007 "locationInModule": {
4008 "filename": "lib/topic.ts",
4009 "line": 41
4010 },
4011 "name": "contentBasedDeduplication",
4012 "optional": true,
4013 "type": {
4014 "primitive": "boolean"
4015 }
4016 },
4017 {
4018 "abstract": true,
4019 "docs": {
4020 "default": "None",
4021 "stability": "stable",
4022 "summary": "A developer-defined string that can be used to identify this SNS topic."
4023 },
4024 "immutable": true,
4025 "locationInModule": {
4026 "filename": "lib/topic.ts",
4027 "line": 16
4028 },
4029 "name": "displayName",
4030 "optional": true,
4031 "type": {
4032 "primitive": "string"
4033 }
4034 },
4035 {
4036 "abstract": true,
4037 "docs": {
4038 "default": "None",
4039 "stability": "stable",
4040 "summary": "Set to true to create a FIFO topic."
4041 },
4042 "immutable": true,
4043 "locationInModule": {
4044 "filename": "lib/topic.ts",
4045 "line": 48
4046 },
4047 "name": "fifo",
4048 "optional": true,
4049 "type": {
4050 "primitive": "boolean"
4051 }
4052 },
4053 {
4054 "abstract": true,
4055 "docs": {
4056 "default": "None",
4057 "stability": "stable",
4058 "summary": "A KMS Key, either managed by this CDK app, or imported."
4059 },
4060 "immutable": true,
4061 "locationInModule": {
4062 "filename": "lib/topic.ts",
4063 "line": 34
4064 },
4065 "name": "masterKey",
4066 "optional": true,
4067 "type": {
4068 "fqn": "@aws-cdk/aws-kms.IKey"
4069 }
4070 },
4071 {
4072 "abstract": true,
4073 "docs": {
4074 "default": "Generated name",
4075 "remarks": "If you don't specify a name, AWS CloudFormation generates a unique\nphysical ID and uses that ID for the topic name. For more information,\nsee Name Type.",
4076 "stability": "stable",
4077 "summary": "A name for the topic."
4078 },
4079 "immutable": true,
4080 "locationInModule": {
4081 "filename": "lib/topic.ts",
4082 "line": 27
4083 },
4084 "name": "topicName",
4085 "optional": true,
4086 "type": {
4087 "primitive": "string"
4088 }
4089 }
4090 ],
4091 "symbolId": "lib/topic:TopicProps"
4092 },
4093 "@aws-cdk/aws-sns.TopicSubscriptionConfig": {
4094 "assembly": "@aws-cdk/aws-sns",
4095 "datatype": true,
4096 "docs": {
4097 "stability": "stable",
4098 "summary": "Subscription configuration.",
4099 "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as sns from '@aws-cdk/aws-sns';\nimport * as sqs from '@aws-cdk/aws-sqs';\nimport * as cdk from '@aws-cdk/core';\n\ndeclare const construct: cdk.Construct;\ndeclare const queue: sqs.Queue;\ndeclare const subscriptionFilter: sns.SubscriptionFilter;\nconst topicSubscriptionConfig: sns.TopicSubscriptionConfig = {\n endpoint: 'endpoint',\n protocol: sns.SubscriptionProtocol.HTTP,\n subscriberId: 'subscriberId',\n\n // the properties below are optional\n deadLetterQueue: queue,\n filterPolicy: {\n filterPolicyKey: subscriptionFilter,\n },\n rawMessageDelivery: false,\n region: 'region',\n subscriberScope: construct,\n subscriptionRoleArn: 'subscriptionRoleArn',\n};",
4100 "custom": {
4101 "exampleMetadata": "fixture=_generated"
4102 }
4103 },
4104 "fqn": "@aws-cdk/aws-sns.TopicSubscriptionConfig",
4105 "interfaces": [
4106 "@aws-cdk/aws-sns.SubscriptionOptions"
4107 ],
4108 "kind": "interface",
4109 "locationInModule": {
4110 "filename": "lib/subscriber.ts",
4111 "line": 12
4112 },
4113 "name": "TopicSubscriptionConfig",
4114 "properties": [
4115 {
4116 "abstract": true,
4117 "docs": {
4118 "remarks": "In most\ncases, it is recommended to use the `uniqueId` of the topic you are\nsubscribing to.",
4119 "stability": "stable",
4120 "summary": "The id of the SNS subscription resource created under `scope`."
4121 },
4122 "immutable": true,
4123 "locationInModule": {
4124 "filename": "lib/subscriber.ts",
4125 "line": 30
4126 },
4127 "name": "subscriberId",
4128 "type": {
4129 "primitive": "string"
4130 }
4131 },
4132 {
4133 "abstract": true,
4134 "docs": {
4135 "default": "- use the topic as the scope of the subscription, in which case `subscriberId` must be defined.",
4136 "remarks": "Normally you'd\nwant the subscription to be created on the consuming stack because the\ntopic is usually referenced by the consumer's resource policy (e.g. SQS\nqueue policy). Otherwise, it will cause a cyclic reference.\n\nIf this is undefined, the subscription will be created on the topic's stack.",
4137 "stability": "stable",
4138 "summary": "The scope in which to create the SNS subscription resource."
4139 },
4140 "immutable": true,
4141 "locationInModule": {
4142 "filename": "lib/subscriber.ts",
4143 "line": 23
4144 },
4145 "name": "subscriberScope",
4146 "optional": true,
4147 "type": {
4148 "fqn": "@aws-cdk/core.Construct"
4149 }
4150 }
4151 ],
4152 "symbolId": "lib/subscriber:TopicSubscriptionConfig"
4153 }
4154 },
4155 "version": "1.172.0",
4156 "fingerprint": "**********"
4157}
\No newline at end of file