@aws-solutions-constructs/aws-eventbridge-sns 2.85.1 → 2.85.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -8,7 +8,7 @@
8
8
  "url": "https://aws.amazon.com"
9
9
  },
10
10
  "dependencies": {
11
- "@aws-solutions-constructs/core": "2.85.1",
11
+ "@aws-solutions-constructs/core": "2.85.3",
12
12
  "aws-cdk-lib": "^2.193.0",
13
13
  "constructs": "^10.0.0"
14
14
  },
@@ -3993,7 +3993,7 @@
3993
3993
  },
3994
3994
  "name": "@aws-solutions-constructs/aws-eventbridge-sns",
3995
3995
  "readme": {
3996
- "markdown": "# aws-eventbridge-sns module\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n![Stability: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge)\n\n---\n<!--END STABILITY BANNER-->\n\n| **Reference Documentation**:| <span style=\"font-weight: normal\">https://docs.aws.amazon.com/solutions/latest/constructs/</span>|\n|:-------------|:-------------|\n<div style=\"height:8px\"></div>\n\n| **Language** | **Package** |\n|:-------------|-----------------|\n|![Python Logo](https://docs.aws.amazon.com/cdk/api/latest/img/python32.png) Python|`aws_solutions_constructs.aws_eventbridge_sns`|\n|![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) Typescript|`@aws-solutions-constructs/aws-eventbridge-sns`|\n|![Java Logo](https://docs.aws.amazon.com/cdk/api/latest/img/java32.png) Java|`software.amazon.awsconstructs.services.eventbridgesns`|\n\n## Overview\nThis AWS Solutions Construct implements an AWS Events rule and an AWS SNS Topic.\n\nHere is a minimal deployable pattern definition:\n\nTypescript\n``` typescript\nimport { Construct } from 'constructs';\nimport { Stack, StackProps, Duration } from 'aws-cdk-lib';\nimport * as events from 'aws-cdk-lib/aws-events';\nimport * as iam from 'aws-cdk-lib/aws-iam';\nimport { EventbridgeToSnsProps, EventbridgeToSns } from \"@aws-solutions-constructs/aws-eventbridge-sns\";\n\nconst constructProps: EventbridgeToSnsProps = {\n eventRuleProps: {\n schedule: events.Schedule.rate(Duration.minutes(5))\n }\n};\n\nconst constructStack = new EventbridgeToSns(this, 'test-construct', constructProps);\n\n// Grant yourself permissions to use the Customer Managed KMS Key\nconst policyStatement = new iam.PolicyStatement({\n actions: [\"kms:Encrypt\", \"kms:Decrypt\"],\n effect: iam.Effect.ALLOW,\n principals: [new iam.AccountRootPrincipal()],\n resources: [\"*\"]\n});\n\nconstructStack.encryptionKey?.addToResourcePolicy(policyStatement);\n```\n\nPython\n``` Python\nfrom aws_solutions_constructs.aws_eventbridge_sns import EventbridgeToSns, EventbridgeToSnsProps\nfrom aws_cdk import (\n aws_events as events,\n aws_iam as iam,\n Duration,\n Stack\n)\nfrom constructs import Construct\n\nconstruct_stack = EventbridgeToSns(self, 'test-construct',\n event_rule_props=events.RuleProps(\n schedule=events.Schedule.rate(\n Duration.minutes(5))\n ))\n\n# Grant yourself permissions to use the Customer Managed KMS Key\npolicy_statement = iam.PolicyStatement(\n actions=[\"kms:Encrypt\", \"kms:Decrypt\"],\n effect=iam.Effect.ALLOW,\n principals=[iam.AccountRootPrincipal()],\n resources=[\"*\"]\n)\n\nconstruct_stack.encryption_key.add_to_resource_policy(policy_statement)\n```\n\nJava\n``` java\nimport software.constructs.Construct;\nimport java.util.List;\n\nimport software.amazon.awscdk.Stack;\nimport software.amazon.awscdk.StackProps;\nimport software.amazon.awscdk.Duration;\nimport software.amazon.awscdk.services.events.*;\nimport software.amazon.awscdk.services.iam.*;\nimport software.amazon.awsconstructs.services.eventbridgesns.*;\n\nfinal EventbridgeToSns constructStack = new EventbridgeToSns(this, \"test-construct\",\n new EventbridgeToSnsProps.Builder()\n .eventRuleProps(new RuleProps.Builder()\n .schedule(Schedule.rate(Duration.minutes(5)))\n .build())\n .build());\n\n// Grant yourself permissions to use the Customer Managed KMS Key\nfinal PolicyStatement policyStatement = PolicyStatement.Builder.create()\n .actions(List.of(\"kms:Encrypt\", \"kms:Decrypt\"))\n .effect(Effect.ALLOW)\n .principals(List.of(new AccountRootPrincipal()))\n .resources(List.of(\"*\"))\n .build();\n\nconstructStack.getEncryptionKey().addToResourcePolicy(policyStatement);\n```\n\n## Pattern Construct Props\n\n| **Name** | **Type** | **Description** |\n|:-------------|:----------------|-----------------|\n|eventRuleProps|[`events.RuleProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.RuleProps.html)|User provided eventRuleProps to override the defaults. |\n|existingTopicObj?|[`sns.Topic`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.Function.html)|Existing instance of SNS Topic object, providing both this and `topicProps` will cause an error.|\n|topicProps?|[`sns.TopicProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sns.TopicProps.html)|User provided props to override the default props for the SNS Topic. |\n|existingEventBusInterface?|[`events.IEventBus`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.IEventBus.html)| Optional user-provided custom EventBus for construct to use. Providing both this and `eventBusProps` results an error.|\n|eventBusProps?|[`events.EventBusProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.EventBusProps.html)|Optional user-provided properties to override the default properties when creating a custom EventBus. Setting this value to `{}` will create a custom EventBus using all default properties. If neither this nor `existingEventBusInterface` is provided the construct will use the `default` EventBus. Providing both this and `existingEventBusInterface` results an error.|\n|enableEncryptionWithCustomerManagedKey?|`boolean`|If no key is provided, this flag determines whether the SNS Topic is encrypted with a new CMK or an AWS managed key. This flag is ignored if any of the following are defined: topicProps.masterKey, encryptionKey or encryptionKeyProps.|\n|encryptionKey?|[`kms.Key`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kms.Key.html)|An optional, imported encryption key to encrypt the SNS Topic with.|\n|encryptionKeyProps?|[`kms.KeyProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kms.Key.html#construct-props)|Optional user provided properties to override the default properties for the KMS encryption key used to encrypt the SNS Topic with.|\n\n## Pattern Properties\n\n| **Name** | **Type** | **Description** |\n|:-------------|:----------------|-----------------|\n|eventBus?|[`events.IEventBus`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.IEventBus.html)|Returns the instance of events.IEventBus used by the construct|\n|eventsRule|[`events.Rule`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.Rule.html)|Returns an instance of events.Rule created by the construct|\n|snsTopic|[`sns.Topic`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sns.Topic.html)|Returns an instance of sns.Topic created by the construct|\n|encryptionKey?|[`kms.Key`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kms.Key.html)|Returns an instance of kms Key used for the SNS Topic.|\n\n## Default settings\n\nOut of the box implementation of the Construct without any override will set the following defaults:\n\n### Amazon EventBridge Rule\n* Grant least privilege permissions to EventBridge Rule to publish to the SNS Topic.\n\n### Amazon SNS Topic\n* Configure least privilege access permissions for SNS Topic.\n* Enable server-side encryption forSNS Topic using Customer managed KMS Key.\n* Enforce encryption of data in transit.\n\n## Architecture\n![Architecture Diagram](architecture.png)\n\n***\n&copy; Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n"
3996
+ "markdown": "Documentation for this pattern can be found [here](https://github.com/awslabs/aws-solutions-constructs/blob/main/source/patterns/%40aws-solutions-constructs/aws-eventbridge-sns/README.adoc)\n"
3997
3997
  },
3998
3998
  "repository": {
3999
3999
  "directory": "source/patterns/@aws-solutions-constructs/aws-eventbridge-sns",
@@ -4276,6 +4276,6 @@
4276
4276
  "symbolId": "lib/index:EventbridgeToSnsProps"
4277
4277
  }
4278
4278
  },
4279
- "version": "2.85.1",
4280
- "fingerprint": "1FVp0QpgZPaIwBc1yaxz+BPg0PlAwCBShdET13pPA88="
4279
+ "version": "2.85.3",
4280
+ "fingerprint": "0ieHhrOy/rBFJGNuKMBBdOvom+ey2qBEi3QBaljWNfE="
4281
4281
  }
package/README.adoc ADDED
@@ -0,0 +1,229 @@
1
+ //!!NODE_ROOT <section>
2
+ //== aws-eventbridge-sns module
3
+
4
+ [.topic]
5
+ = aws-eventbridge-sns
6
+ :info_doctype: section
7
+ :info_title: aws-eventbridge-sns
8
+
9
+
10
+ image:https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge[Stability:Stable]
11
+
12
+ [width="100%",cols="<50%,<50%",options="header",]
13
+ |===
14
+ |*Reference Documentation*:
15
+ |https://docs.aws.amazon.com/solutions/latest/constructs/
16
+ |===
17
+
18
+ [width="100%",cols="<46%,54%",options="header",]
19
+ |===
20
+ |*Language* |*Package*
21
+ |image:https://docs.aws.amazon.com/cdk/api/latest/img/python32.png[Python
22
+ Logo] Python
23
+ |`aws_solutions_constructs.aws_eventbridge_sns`
24
+
25
+ |image:https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png[Typescript
26
+ Logo] Typescript |`@aws-solutions-constructs/aws-eventbridge-sns`
27
+
28
+ |image:https://docs.aws.amazon.com/cdk/api/latest/img/java32.png[Java
29
+ Logo] Java |`software.amazon.awsconstructs.services.eventbridgesns`
30
+ |===
31
+
32
+ == Overview
33
+
34
+ This AWS Solutions Construct implements an AWS Events rule and an AWS
35
+ SNS Topic.
36
+
37
+ Here is a minimal deployable pattern definition:
38
+
39
+ ====
40
+ [role="tablist"]
41
+ Typescript::
42
+ +
43
+ [source,typescript]
44
+ ----
45
+ import { Construct } from 'constructs';
46
+ import { Stack, StackProps, Duration } from 'aws-cdk-lib';
47
+ import * as events from 'aws-cdk-lib/aws-events';
48
+ import * as iam from 'aws-cdk-lib/aws-iam';
49
+ import { EventbridgeToSnsProps, EventbridgeToSns } from "@aws-solutions-constructs/aws-eventbridge-sns";
50
+
51
+ const constructProps: EventbridgeToSnsProps = {
52
+ eventRuleProps: {
53
+ schedule: events.Schedule.rate(Duration.minutes(5))
54
+ }
55
+ };
56
+
57
+ const constructStack = new EventbridgeToSns(this, 'test-construct', constructProps);
58
+
59
+ // Grant yourself permissions to use the Customer Managed KMS Key
60
+ const policyStatement = new iam.PolicyStatement({
61
+ actions: ["kms:Encrypt", "kms:Decrypt"],
62
+ effect: iam.Effect.ALLOW,
63
+ principals: [new iam.AccountRootPrincipal()],
64
+ resources: ["*"]
65
+ });
66
+
67
+ constructStack.encryptionKey?.addToResourcePolicy(policyStatement);
68
+ ----
69
+
70
+ Python::
71
+ +
72
+ [source,python]
73
+ ----
74
+ from aws_solutions_constructs.aws_eventbridge_sns import EventbridgeToSns, EventbridgeToSnsProps
75
+ from aws_cdk import (
76
+ aws_events as events,
77
+ aws_iam as iam,
78
+ Duration,
79
+ Stack
80
+ )
81
+ from constructs import Construct
82
+
83
+ construct_stack = EventbridgeToSns(self, 'test-construct',
84
+ event_rule_props=events.RuleProps(
85
+ schedule=events.Schedule.rate(
86
+ Duration.minutes(5))
87
+ ))
88
+
89
+ # Grant yourself permissions to use the Customer Managed KMS Key
90
+ policy_statement = iam.PolicyStatement(
91
+ actions=["kms:Encrypt", "kms:Decrypt"],
92
+ effect=iam.Effect.ALLOW,
93
+ principals=[iam.AccountRootPrincipal()],
94
+ resources=["*"]
95
+ )
96
+
97
+ construct_stack.encryption_key.add_to_resource_policy(policy_statement)
98
+ ----
99
+
100
+ Java::
101
+ +
102
+ [source,java]
103
+ ----
104
+ import software.constructs.Construct;
105
+ import java.util.List;
106
+
107
+ import software.amazon.awscdk.Stack;
108
+ import software.amazon.awscdk.StackProps;
109
+ import software.amazon.awscdk.Duration;
110
+ import software.amazon.awscdk.services.events.*;
111
+ import software.amazon.awscdk.services.iam.*;
112
+ import software.amazon.awsconstructs.services.eventbridgesns.*;
113
+
114
+ final EventbridgeToSns constructStack = new EventbridgeToSns(this, "test-construct",
115
+ new EventbridgeToSnsProps.Builder()
116
+ .eventRuleProps(new RuleProps.Builder()
117
+ .schedule(Schedule.rate(Duration.minutes(5)))
118
+ .build())
119
+ .build());
120
+
121
+ // Grant yourself permissions to use the Customer Managed KMS Key
122
+ final PolicyStatement policyStatement = PolicyStatement.Builder.create()
123
+ .actions(List.of("kms:Encrypt", "kms:Decrypt"))
124
+ .effect(Effect.ALLOW)
125
+ .principals(List.of(new AccountRootPrincipal()))
126
+ .resources(List.of("*"))
127
+ .build();
128
+
129
+ constructStack.getEncryptionKey().addToResourcePolicy(policyStatement);
130
+ ----
131
+ ====
132
+
133
+ == Pattern Construct Props
134
+
135
+ [width="100%",cols="<30%,<35%,35%",options="header",]
136
+ |===
137
+ |*Name* |*Type* |*Description*
138
+ |eventRuleProps
139
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.RuleProps.html[`events.RuleProps`]
140
+ |User provided eventRuleProps to override the defaults.
141
+
142
+ |existingTopicObj?
143
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.Function.html[`sns.Topic`]
144
+ |Existing instance of SNS Topic object, providing both this and
145
+ `topicProps` will cause an error.
146
+
147
+ |topicProps?
148
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sns.TopicProps.html[`sns.TopicProps`]
149
+ |User provided props to override the default props for the SNS Topic.
150
+
151
+ |existingEventBusInterface?
152
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.IEventBus.html[`events.IEventBus`]
153
+ |Optional user-provided custom EventBus for construct to use. Providing
154
+ both this and `eventBusProps` results an error.
155
+
156
+ |eventBusProps?
157
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.EventBusProps.html[`events.EventBusProps`]
158
+ |Optional user-provided properties to override the default properties
159
+ when creating a custom EventBus. Setting this value to `{}` will
160
+ create a custom EventBus using all default properties. If neither this
161
+ nor `existingEventBusInterface` is provided the construct will use the
162
+ `default` EventBus. Providing both this and `existingEventBusInterface`
163
+ results an error.
164
+
165
+ |enableEncryptionWithCustomerManagedKey? |`boolean` |If no key is
166
+ provided, this flag determines whether the SNS Topic is encrypted with a
167
+ new CMK or an AWS managed key. This flag is ignored if any of the
168
+ following are defined: topicProps.masterKey, encryptionKey or
169
+ encryptionKeyProps.
170
+
171
+ |encryptionKey?
172
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kms.Key.html[`kms.Key`]
173
+ |An optional, imported encryption key to encrypt the SNS Topic with.
174
+
175
+ |encryptionKeyProps?
176
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kms.Key.html#construct-props[`kms.KeyProps`]
177
+ |Optional user provided properties to override the default properties
178
+ for the KMS encryption key used to encrypt the SNS Topic with.
179
+ |===
180
+
181
+ == Pattern Properties
182
+
183
+ [width="100%",cols="<30%,<35%,35%",options="header",]
184
+ |===
185
+ |*Name* |*Type* |*Description*
186
+ |eventBus?
187
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.IEventBus.html[`events.IEventBus`]
188
+ |Returns the instance of events.IEventBus used by the construct
189
+
190
+ |eventsRule
191
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.Rule.html[`events.Rule`]
192
+ |Returns an instance of events.Rule created by the construct
193
+
194
+ |snsTopic
195
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sns.Topic.html[`sns.Topic`]
196
+ |Returns an instance of sns.Topic created by the construct
197
+
198
+ |encryptionKey?
199
+ |https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kms.Key.html[`kms.Key`]
200
+ |Returns an instance of kms Key used for the SNS Topic.
201
+ |===
202
+
203
+ == Default settings
204
+
205
+ Out of the box implementation of the Construct without any override will
206
+ set the following defaults:
207
+
208
+ === Amazon EventBridge Rule
209
+
210
+ * Grant least privilege permissions to EventBridge Rule to publish to
211
+ the SNS Topic.
212
+
213
+ === Amazon SNS Topic
214
+
215
+ * Configure least privilege access permissions for SNS Topic.
216
+ * Enable server-side encryption forSNS Topic using Customer managed KMS
217
+ Key.
218
+ * Enforce encryption of data in transit.
219
+
220
+ == Architecture
221
+
222
+
223
+ image::aws-eventbridge-sns.png["Diagram showing the EventBridge rule, SNS topic, and IAM role created by the construct",scaledwidth=100%]
224
+
225
+ // github block
226
+
227
+ '''''
228
+
229
+ © Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
package/README.md CHANGED
@@ -1,149 +1 @@
1
- # aws-eventbridge-sns module
2
- <!--BEGIN STABILITY BANNER-->
3
-
4
- ---
5
-
6
- ![Stability: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge)
7
-
8
- ---
9
- <!--END STABILITY BANNER-->
10
-
11
- | **Reference Documentation**:| <span style="font-weight: normal">https://docs.aws.amazon.com/solutions/latest/constructs/</span>|
12
- |:-------------|:-------------|
13
- <div style="height:8px"></div>
14
-
15
- | **Language** | **Package** |
16
- |:-------------|-----------------|
17
- |![Python Logo](https://docs.aws.amazon.com/cdk/api/latest/img/python32.png) Python|`aws_solutions_constructs.aws_eventbridge_sns`|
18
- |![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) Typescript|`@aws-solutions-constructs/aws-eventbridge-sns`|
19
- |![Java Logo](https://docs.aws.amazon.com/cdk/api/latest/img/java32.png) Java|`software.amazon.awsconstructs.services.eventbridgesns`|
20
-
21
- ## Overview
22
- This AWS Solutions Construct implements an AWS Events rule and an AWS SNS Topic.
23
-
24
- Here is a minimal deployable pattern definition:
25
-
26
- Typescript
27
- ``` typescript
28
- import { Construct } from 'constructs';
29
- import { Stack, StackProps, Duration } from 'aws-cdk-lib';
30
- import * as events from 'aws-cdk-lib/aws-events';
31
- import * as iam from 'aws-cdk-lib/aws-iam';
32
- import { EventbridgeToSnsProps, EventbridgeToSns } from "@aws-solutions-constructs/aws-eventbridge-sns";
33
-
34
- const constructProps: EventbridgeToSnsProps = {
35
- eventRuleProps: {
36
- schedule: events.Schedule.rate(Duration.minutes(5))
37
- }
38
- };
39
-
40
- const constructStack = new EventbridgeToSns(this, 'test-construct', constructProps);
41
-
42
- // Grant yourself permissions to use the Customer Managed KMS Key
43
- const policyStatement = new iam.PolicyStatement({
44
- actions: ["kms:Encrypt", "kms:Decrypt"],
45
- effect: iam.Effect.ALLOW,
46
- principals: [new iam.AccountRootPrincipal()],
47
- resources: ["*"]
48
- });
49
-
50
- constructStack.encryptionKey?.addToResourcePolicy(policyStatement);
51
- ```
52
-
53
- Python
54
- ``` Python
55
- from aws_solutions_constructs.aws_eventbridge_sns import EventbridgeToSns, EventbridgeToSnsProps
56
- from aws_cdk import (
57
- aws_events as events,
58
- aws_iam as iam,
59
- Duration,
60
- Stack
61
- )
62
- from constructs import Construct
63
-
64
- construct_stack = EventbridgeToSns(self, 'test-construct',
65
- event_rule_props=events.RuleProps(
66
- schedule=events.Schedule.rate(
67
- Duration.minutes(5))
68
- ))
69
-
70
- # Grant yourself permissions to use the Customer Managed KMS Key
71
- policy_statement = iam.PolicyStatement(
72
- actions=["kms:Encrypt", "kms:Decrypt"],
73
- effect=iam.Effect.ALLOW,
74
- principals=[iam.AccountRootPrincipal()],
75
- resources=["*"]
76
- )
77
-
78
- construct_stack.encryption_key.add_to_resource_policy(policy_statement)
79
- ```
80
-
81
- Java
82
- ``` java
83
- import software.constructs.Construct;
84
- import java.util.List;
85
-
86
- import software.amazon.awscdk.Stack;
87
- import software.amazon.awscdk.StackProps;
88
- import software.amazon.awscdk.Duration;
89
- import software.amazon.awscdk.services.events.*;
90
- import software.amazon.awscdk.services.iam.*;
91
- import software.amazon.awsconstructs.services.eventbridgesns.*;
92
-
93
- final EventbridgeToSns constructStack = new EventbridgeToSns(this, "test-construct",
94
- new EventbridgeToSnsProps.Builder()
95
- .eventRuleProps(new RuleProps.Builder()
96
- .schedule(Schedule.rate(Duration.minutes(5)))
97
- .build())
98
- .build());
99
-
100
- // Grant yourself permissions to use the Customer Managed KMS Key
101
- final PolicyStatement policyStatement = PolicyStatement.Builder.create()
102
- .actions(List.of("kms:Encrypt", "kms:Decrypt"))
103
- .effect(Effect.ALLOW)
104
- .principals(List.of(new AccountRootPrincipal()))
105
- .resources(List.of("*"))
106
- .build();
107
-
108
- constructStack.getEncryptionKey().addToResourcePolicy(policyStatement);
109
- ```
110
-
111
- ## Pattern Construct Props
112
-
113
- | **Name** | **Type** | **Description** |
114
- |:-------------|:----------------|-----------------|
115
- |eventRuleProps|[`events.RuleProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.RuleProps.html)|User provided eventRuleProps to override the defaults. |
116
- |existingTopicObj?|[`sns.Topic`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.Function.html)|Existing instance of SNS Topic object, providing both this and `topicProps` will cause an error.|
117
- |topicProps?|[`sns.TopicProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sns.TopicProps.html)|User provided props to override the default props for the SNS Topic. |
118
- |existingEventBusInterface?|[`events.IEventBus`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.IEventBus.html)| Optional user-provided custom EventBus for construct to use. Providing both this and `eventBusProps` results an error.|
119
- |eventBusProps?|[`events.EventBusProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.EventBusProps.html)|Optional user-provided properties to override the default properties when creating a custom EventBus. Setting this value to `{}` will create a custom EventBus using all default properties. If neither this nor `existingEventBusInterface` is provided the construct will use the `default` EventBus. Providing both this and `existingEventBusInterface` results an error.|
120
- |enableEncryptionWithCustomerManagedKey?|`boolean`|If no key is provided, this flag determines whether the SNS Topic is encrypted with a new CMK or an AWS managed key. This flag is ignored if any of the following are defined: topicProps.masterKey, encryptionKey or encryptionKeyProps.|
121
- |encryptionKey?|[`kms.Key`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kms.Key.html)|An optional, imported encryption key to encrypt the SNS Topic with.|
122
- |encryptionKeyProps?|[`kms.KeyProps`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kms.Key.html#construct-props)|Optional user provided properties to override the default properties for the KMS encryption key used to encrypt the SNS Topic with.|
123
-
124
- ## Pattern Properties
125
-
126
- | **Name** | **Type** | **Description** |
127
- |:-------------|:----------------|-----------------|
128
- |eventBus?|[`events.IEventBus`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.IEventBus.html)|Returns the instance of events.IEventBus used by the construct|
129
- |eventsRule|[`events.Rule`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.Rule.html)|Returns an instance of events.Rule created by the construct|
130
- |snsTopic|[`sns.Topic`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sns.Topic.html)|Returns an instance of sns.Topic created by the construct|
131
- |encryptionKey?|[`kms.Key`](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_kms.Key.html)|Returns an instance of kms Key used for the SNS Topic.|
132
-
133
- ## Default settings
134
-
135
- Out of the box implementation of the Construct without any override will set the following defaults:
136
-
137
- ### Amazon EventBridge Rule
138
- * Grant least privilege permissions to EventBridge Rule to publish to the SNS Topic.
139
-
140
- ### Amazon SNS Topic
141
- * Configure least privilege access permissions for SNS Topic.
142
- * Enable server-side encryption forSNS Topic using Customer managed KMS Key.
143
- * Enforce encryption of data in transit.
144
-
145
- ## Architecture
146
- ![Architecture Diagram](architecture.png)
147
-
148
- ***
149
- &copy; Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ Documentation for this pattern can be found [here](https://github.com/awslabs/aws-solutions-constructs/blob/main/source/patterns/%40aws-solutions-constructs/aws-eventbridge-sns/README.adoc)
package/lib/index.js CHANGED
@@ -71,5 +71,5 @@ class EventbridgeToSns extends constructs_1.Construct {
71
71
  }
72
72
  exports.EventbridgeToSns = EventbridgeToSns;
73
73
  _a = JSII_RTTI_SYMBOL_1;
74
- EventbridgeToSns[_a] = { fqn: "@aws-solutions-constructs/aws-eventbridge-sns.EventbridgeToSns", version: "2.85.1" };
74
+ EventbridgeToSns[_a] = { fqn: "@aws-solutions-constructs/aws-eventbridge-sns.EventbridgeToSns", version: "2.85.3" };
75
75
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWNBLGlEQUFpRDtBQUVqRCwyREFBMkQ7QUFDM0QsbUNBQW1DO0FBQ25DLHdGQUF3RjtBQUN4RiwyQ0FBdUM7QUFDdkMseURBQStEO0FBQy9ELGlEQUF1RDtBQXNEdkQsTUFBYSxnQkFBaUIsU0FBUSxzQkFBUztJQU0zQzs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixRQUFRLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEMsSUFBSSxxQkFBcUIsR0FBRyxLQUFLLENBQUMsc0NBQXNDLENBQUM7UUFDekUsSUFBSSxLQUFLLENBQUMsc0NBQXNDLEtBQUssU0FBUztZQUMxRCxLQUFLLENBQUMsc0NBQXNDLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDMUQscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLENBQUM7UUFFRCx1QkFBdUI7UUFDdkIsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDdkQsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtZQUN4QyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDNUIsc0NBQXNDLEVBQUUscUJBQXFCO1lBQzdELGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtZQUNsQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsa0JBQWtCO1NBQzdDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxhQUFhLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDO1FBRTVDLDRDQUE0QztRQUU1QywySUFBMkk7UUFDM0ksOElBQThJO1FBQzlJLDBDQUEwQztRQUMxQyxNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUM5QixNQUFNLFNBQVMsR0FBYTtZQUMxQixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEVBQUUsb0JBQW9CO1lBQ25ELEVBQUUsRUFBNkIsZUFBZTtTQUMvQyxDQUFDO1FBQ0YsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsb0JBQW9CLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBRTVGLE1BQU0sZ0JBQWdCLEdBQXVCO1lBQzNDLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNYLEVBQUUsRUFBRSxrQkFBa0I7Z0JBQ3RCLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVE7YUFDNUIsQ0FBQztTQUNILENBQUM7UUFFRixtRkFBbUY7UUFDbkYsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRTtZQUMzQyx5QkFBeUIsRUFBRSxLQUFLLENBQUMseUJBQXlCO1lBQzFELGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtTQUNuQyxDQUFDLENBQUM7UUFFSCxvQ0FBb0M7UUFDcEMsTUFBTSxzQkFBc0IsR0FBRyxRQUFRLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRyxNQUFNLGVBQWUsR0FBRyxJQUFBLG9CQUFhLEVBQUMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUxRiwyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxlQUFlLENBQUMsQ0FBQztRQUV2RSw4RUFBOEU7UUFDOUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSwwQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7UUFFekUsbUVBQW1FO1FBQ25FLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLElBQUksMEJBQWdCLENBQUMsc0JBQXNCLENBQUMsRUFDcEUsYUFBYSxFQUNiLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsc0JBQXNCLENBQ3ZCLENBQUM7SUFDSixDQUFDOztBQTlFTCw0Q0ErRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBzbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXNucyc7XG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgKiBhcyBrbXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWttcyc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbi8vIE5vdGU6IFRvIGVuc3VyZSBDREt2MiBjb21wYXRpYmlsaXR5LCBrZWVwIHRoZSBpbXBvcnQgc3RhdGVtZW50IGZvciBDb25zdHJ1Y3Qgc2VwYXJhdGVcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgb3ZlcnJpZGVQcm9wcyB9IGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZSc7XG5pbXBvcnQgeyBTZXJ2aWNlUHJpbmNpcGFsIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRicmlkZ2VUb1Nuc1Byb3BzIHtcbiAgICAvKipcbiAgICAgKiBVc2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzIGZvciB0aGUgU05TIFRvcGljLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSBEZWZhdWx0IHByb3BzIGFyZSB1c2VkXG4gICAgICovXG4gICAgcmVhZG9ubHkgdG9waWNQcm9wcz86IHNucy5Ub3BpY1Byb3BzO1xuICAgIC8qKlxuICAgICAqIEV4aXN0aW5nIGluc3RhbmNlIG9mIGEgY3VzdG9tIEV2ZW50QnVzLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSBOb25lXG4gICAgICovXG4gICAgcmVhZG9ubHkgZXhpc3RpbmdFdmVudEJ1c0ludGVyZmFjZT86IGV2ZW50cy5JRXZlbnRCdXM7XG4gICAgLyoqXG4gICAgICogQSBuZXcgY3VzdG9tIEV2ZW50QnVzIGlzIGNyZWF0ZWQgd2l0aCBwcm92aWRlZCBwcm9wcy5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGV2ZW50QnVzUHJvcHM/OiBldmVudHMuRXZlbnRCdXNQcm9wcztcbiAgICAvKipcbiAgICAgKiBVc2VyIHByb3ZpZGVkIGV2ZW50UnVsZVByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0c1xuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSBOb25lXG4gICAgICovXG4gICAgcmVhZG9ubHkgZXZlbnRSdWxlUHJvcHM6IGV2ZW50cy5SdWxlUHJvcHM7XG4gICAgLyoqXG4gICAgICogRXhpc3RpbmcgaW5zdGFuY2Ugb2YgU05TIFRvcGljIG9iamVjdCwgcHJvdmlkaW5nIGJvdGggdGhpcyBhbmQgdG9waWNQcm9wcyB3aWxsIGNhdXNlIGFuIGVycm9yLi5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGV4aXN0aW5nVG9waWNPYmo/OiBzbnMuVG9waWM7XG4gICAgLyoqXG4gICAgICogSWYgbm8ga2V5IGlzIHByb3ZpZGVkLCB0aGlzIGZsYWcgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSB0b3BpYyBpcyBlbmNyeXB0ZWQgd2l0aCBhIG5ldyBDTUsgb3IgYW4gQVdTIG1hbmFnZWQga2V5LlxuICAgICAqIFRoaXMgZmxhZyBpcyBpZ25vcmVkIGlmIGFueSBvZiB0aGUgZm9sbG93aW5nIGFyZSBkZWZpbmVkOiB0b3BpY1Byb3BzLm1hc3RlcktleSwgZW5jcnlwdGlvbktleSBvciBlbmNyeXB0aW9uS2V5UHJvcHMuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIFRydWUgaWYgdG9waWNQcm9wcy5tYXN0ZXJLZXksIGVuY3J5cHRpb25LZXksIGFuZCBlbmNyeXB0aW9uS2V5UHJvcHMgYXJlIGFsbCB1bmRlZmluZWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZW5hYmxlRW5jcnlwdGlvbldpdGhDdXN0b21lck1hbmFnZWRLZXk/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEFuIG9wdGlvbmFsLCBpbXBvcnRlZCBlbmNyeXB0aW9uIGtleSB0byBlbmNyeXB0IHRoZSBTTlMgdG9waWMgd2l0aC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gTm9uZS5cbiAgICAgKi9cbiAgICByZWFkb25seSBlbmNyeXB0aW9uS2V5Pzoga21zLktleTtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BlcnRpZXMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcHJvcGVydGllcyBmb3IgdGhlIEtNUyBlbmNyeXB0aW9uIGtleSB1c2VkIHRvICBlbmNyeXB0IHRoZSBTTlMgdG9waWMgd2l0aC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGVuY3J5cHRpb25LZXlQcm9wcz86IGttcy5LZXlQcm9wcztcbn1cblxuZXhwb3J0IGNsYXNzIEV2ZW50YnJpZGdlVG9TbnMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAgIHB1YmxpYyByZWFkb25seSBzbnNUb3BpYzogc25zLlRvcGljO1xuICAgIHB1YmxpYyByZWFkb25seSBldmVudEJ1cz86IGV2ZW50cy5JRXZlbnRCdXM7XG4gICAgcHVibGljIHJlYWRvbmx5IGV2ZW50c1J1bGU6IGV2ZW50cy5SdWxlO1xuICAgIHB1YmxpYyByZWFkb25seSBlbmNyeXB0aW9uS2V5Pzoga21zLktleTtcblxuICAgIC8qKlxuICAgICAqIEBzdW1tYXJ5IENvbnN0cnVjdHMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIEV2ZW50YnJpZGdlVG9TbnMgY2xhc3MuXG4gICAgICogQHBhcmFtIHtjZGsuQXBwfSBzY29wZSAtIHJlcHJlc2VudHMgdGhlIHNjb3BlIGZvciBhbGwgdGhlIHJlc291cmNlcy5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gaWQgLSB0aGlzIGlzIGEgYSBzY29wZS11bmlxdWUgaWQuXG4gICAgICogQHBhcmFtIHtFdmVudGJyaWRnZVRvU25zUHJvcHN9IHByb3BzIC0gdXNlciBwcm92aWRlZCBwcm9wcyBmb3IgdGhlIGNvbnN0cnVjdC5cbiAgICAgKiBAYWNjZXNzIHB1YmxpY1xuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFdmVudGJyaWRnZVRvU25zUHJvcHMpIHtcbiAgICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgICBkZWZhdWx0cy5DaGVja1Nuc1Byb3BzKHByb3BzKTtcbiAgICAgIGRlZmF1bHRzLkNoZWNrRXZlbnRCcmlkZ2VQcm9wcyhwcm9wcyk7XG5cbiAgICAgIGxldCBlbmFibGVFbmNyeXB0aW9uUGFyYW0gPSBwcm9wcy5lbmFibGVFbmNyeXB0aW9uV2l0aEN1c3RvbWVyTWFuYWdlZEtleTtcbiAgICAgIGlmIChwcm9wcy5lbmFibGVFbmNyeXB0aW9uV2l0aEN1c3RvbWVyTWFuYWdlZEtleSA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgcHJvcHMuZW5hYmxlRW5jcnlwdGlvbldpdGhDdXN0b21lck1hbmFnZWRLZXkgPT09IHRydWUpIHtcbiAgICAgICAgZW5hYmxlRW5jcnlwdGlvblBhcmFtID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gU2V0dXAgdGhlIHNucyB0b3BpYy5cbiAgICAgIGNvbnN0IGJ1aWxkVG9waWNSZXNwb25zZSA9IGRlZmF1bHRzLmJ1aWxkVG9waWModGhpcywgaWQsIHtcbiAgICAgICAgZXhpc3RpbmdUb3BpY09iajogcHJvcHMuZXhpc3RpbmdUb3BpY09iaixcbiAgICAgICAgdG9waWNQcm9wczogcHJvcHMudG9waWNQcm9wcyxcbiAgICAgICAgZW5hYmxlRW5jcnlwdGlvbldpdGhDdXN0b21lck1hbmFnZWRLZXk6IGVuYWJsZUVuY3J5cHRpb25QYXJhbSxcbiAgICAgICAgZW5jcnlwdGlvbktleTogcHJvcHMuZW5jcnlwdGlvbktleSxcbiAgICAgICAgZW5jcnlwdGlvbktleVByb3BzOiBwcm9wcy5lbmNyeXB0aW9uS2V5UHJvcHNcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnNuc1RvcGljID0gYnVpbGRUb3BpY1Jlc3BvbnNlLnRvcGljO1xuICAgICAgdGhpcy5lbmNyeXB0aW9uS2V5ID0gYnVpbGRUb3BpY1Jlc3BvbnNlLmtleTtcblxuICAgICAgLy8gU2V0dXAgdGhlIGV2ZW50IHJ1bGUgdGFyZ2V0IGFzIHNucyB0b3BpYy5cblxuICAgICAgLy8gVGhlIENESyBnZW5lcmFsbHkgYXZvaWRzIHJlc291cmNlIG5hbWVzIHRoYXQgYXJlIHRvbyBsb25nLCBidXQgaW4gdGhpcyBjYXNlIHRoZSBtYXhpbXVtIFNOUyB0b3BpYyBuYW1lIGlzIDI1NiBjaGFyYWN0ZXJzIGFuZCB0aGUgbWF4aW11bVxuICAgICAgLy8gYmluZGluZyBpZCBpcyA2NCBjaGFyYWN0ZXJzLCBzbyBhIGxvbmcgU05TIHRvcGljIG5hbWUgKGRyaXZlbiBieSBTdGFjayBpZCwgQ29uc3RydWN0IGlkLCBldGMuKSBicmVha3MgdXBvbiBsYXVuY2guIEJlY2F1c2Ugb2YgdGhpcywgd2UgdGFrZVxuICAgICAgLy8gY29udHJvbCBvZiB0aGUgcGh5c2ljYWwgbmFtZSBvdXJzZWx2ZXMuXG4gICAgICBjb25zdCBtYXhCaW5kaW5nSWRMZW5ndGggPSA2NDtcbiAgICAgIGNvbnN0IG5hbWVQYXJ0czogc3RyaW5nW10gPSBbXG4gICAgICAgIGNkay5TdGFjay5vZihzY29wZSkuc3RhY2tOYW1lLCAvLyBOYW1lIG9mIHRoZSBzdGFja1xuICAgICAgICBpZCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29uc3RydWN0IElEXG4gICAgICBdO1xuICAgICAgY29uc3QgZ2VuZXJhdGVkVG9waWNOYW1lID0gZGVmYXVsdHMuZ2VuZXJhdGVQaHlzaWNhbE5hbWUoXCJcIiwgbmFtZVBhcnRzLCBtYXhCaW5kaW5nSWRMZW5ndGgpO1xuXG4gICAgICBjb25zdCB0b3BpY0V2ZW50VGFyZ2V0OiBldmVudHMuSVJ1bGVUYXJnZXQgPSB7XG4gICAgICAgIGJpbmQ6ICgpID0+ICh7XG4gICAgICAgICAgaWQ6IGdlbmVyYXRlZFRvcGljTmFtZSxcbiAgICAgICAgICBhcm46IHRoaXMuc25zVG9waWMudG9waWNBcm5cbiAgICAgICAgfSlcbiAgICAgIH07XG5cbiAgICAgIC8vIGJ1aWxkIGFuIGV2ZW50IGJ1cyBpZiBleGlzdGluZ0V2ZW50QnVzIGlzIHByb3ZpZGVkIG9yIGV2ZW50QnVzUHJvcHMgYXJlIHByb3ZpZGVkXG4gICAgICB0aGlzLmV2ZW50QnVzID0gZGVmYXVsdHMuYnVpbGRFdmVudEJ1cyh0aGlzLCB7XG4gICAgICAgIGV4aXN0aW5nRXZlbnRCdXNJbnRlcmZhY2U6IHByb3BzLmV4aXN0aW5nRXZlbnRCdXNJbnRlcmZhY2UsXG4gICAgICAgIGV2ZW50QnVzUHJvcHM6IHByb3BzLmV2ZW50QnVzUHJvcHNcbiAgICAgIH0pO1xuXG4gICAgICAvLyBTZXR1cCB1cCB0aGUgZXZlbnQgcnVsZSBwcm9wZXJ0eS5cbiAgICAgIGNvbnN0IGRlZmF1bHRFdmVudHNSdWxlUHJvcHMgPSBkZWZhdWx0cy5EZWZhdWx0RXZlbnRzUnVsZVByb3BzKFt0b3BpY0V2ZW50VGFyZ2V0XSwgdGhpcy5ldmVudEJ1cyk7XG4gICAgICBjb25zdCBldmVudHNSdWxlUHJvcHMgPSBvdmVycmlkZVByb3BzKGRlZmF1bHRFdmVudHNSdWxlUHJvcHMsIHByb3BzLmV2ZW50UnVsZVByb3BzLCB0cnVlKTtcblxuICAgICAgLy8gU2V0dXAgdXAgdGhlIGV2ZW50IHJ1bGUuXG4gICAgICB0aGlzLmV2ZW50c1J1bGUgPSBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ0V2ZW50c1J1bGUnLCBldmVudHNSdWxlUHJvcHMpO1xuXG4gICAgICAvLyBTZXR1cCB1cCB0aGUgZ3JhbnQgcG9saWN5IGZvciBldmVudCB0byBiZSBhYmxlIHRvIHB1Ymxpc2ggdG8gdGhlIHNucyB0b3BpYy5cbiAgICAgIHRoaXMuc25zVG9waWMuZ3JhbnRQdWJsaXNoKG5ldyBTZXJ2aWNlUHJpbmNpcGFsKCdldmVudHMuYW1hem9uYXdzLmNvbScpKTtcblxuICAgICAgLy8gR3JhbnQgRXZlbnRCcmlkZ2Ugc2VydmljZSBhY2Nlc3MgdG8gdGhlIFNOUyBUb3BpYyBlbmNyeXB0aW9uIGtleVxuICAgICAgdGhpcy5lbmNyeXB0aW9uS2V5Py5ncmFudChuZXcgU2VydmljZVByaW5jaXBhbCgnZXZlbnRzLmFtYXpvbmF3cy5jb20nKSxcbiAgICAgICAgXCJrbXM6RGVjcnlwdFwiLFxuICAgICAgICBcImttczpFbmNyeXB0XCIsXG4gICAgICAgIFwia21zOlJlRW5jcnlwdCpcIixcbiAgICAgICAgXCJrbXM6R2VuZXJhdGVEYXRhS2V5KlwiXG4gICAgICApO1xuICAgIH1cbn0iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-solutions-constructs/aws-eventbridge-sns",
3
- "version": "2.85.1",
3
+ "version": "2.85.3",
4
4
  "description": "CDK Constructs for deploying AWS Events Rule that invokes AWS SNS",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -11,12 +11,13 @@
11
11
  "test": "jest --coverage",
12
12
  "clean": "tsc -b --clean",
13
13
  "watch": "tsc -b -w",
14
+ "asciidoc": "asciidoctor --failure-level WARNING -o /dev/null README.adoc",
14
15
  "integ": "integ-runner --update-on-failed",
15
16
  "integ-no-clean": "integ-runner --update-on-failed --no-clean",
16
17
  "integ-assert": "integ-runner",
17
18
  "jsii": "jsii",
18
19
  "jsii-pacmak": "jsii-pacmak",
19
- "build+lint+test": "npm run jsii && npm run lint && npm test && npm run integ-assert",
20
+ "build+lint+test": "npm run jsii && npm run lint && npm run asciidoc && npm test && npm run integ-assert",
20
21
  "blt": "npm run build+lint+test",
21
22
  "snapshot-update": "npm run jsii && npm test -- -u && npm run integ-assert"
22
23
  },
@@ -54,7 +55,7 @@
54
55
  }
55
56
  },
56
57
  "dependencies": {
57
- "@aws-solutions-constructs/core": "2.85.1",
58
+ "@aws-solutions-constructs/core": "2.85.3",
58
59
  "constructs": "^10.0.0"
59
60
  },
60
61
  "devDependencies": {
@@ -78,7 +79,7 @@
78
79
  ]
79
80
  },
80
81
  "peerDependencies": {
81
- "@aws-solutions-constructs/core": "2.85.1",
82
+ "@aws-solutions-constructs/core": "2.85.3",
82
83
  "constructs": "^10.0.0",
83
84
  "aws-cdk-lib": "^2.193.0"
84
85
  },
File without changes