@aws-solutions-constructs/aws-eventbridge-sns 2.85.2 → 2.85.4
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 +4 -4
- package/README.adoc +229 -0
- package/README.md +1 -149
- package/lib/index.js +1 -1
- package/package.json +5 -4
- /package/{architecture.png → aws-eventbridge-sns.png} +0 -0
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.
|
|
11
|
+
"@aws-solutions-constructs/core": "2.85.4",
|
|
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": "
|
|
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.
|
|
4280
|
-
"fingerprint": "
|
|
4279
|
+
"version": "2.85.4",
|
|
4280
|
+
"fingerprint": "WwkHQ0L8yoY9AbZAG+I+PBVdGRj8BriQbjzSYYvgXao="
|
|
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
|
-
|
|
2
|
-
<!--BEGIN STABILITY BANNER-->
|
|
3
|
-
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-

|
|
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|`aws_solutions_constructs.aws_eventbridge_sns`|
|
|
18
|
-
| Typescript|`@aws-solutions-constructs/aws-eventbridge-sns`|
|
|
19
|
-
| 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
|
-

|
|
147
|
-
|
|
148
|
-
***
|
|
149
|
-
© 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.
|
|
74
|
+
EventbridgeToSns[_a] = { fqn: "@aws-solutions-constructs/aws-eventbridge-sns.EventbridgeToSns", version: "2.85.4" };
|
|
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.
|
|
3
|
+
"version": "2.85.4",
|
|
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.
|
|
58
|
+
"@aws-solutions-constructs/core": "2.85.4",
|
|
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.
|
|
82
|
+
"@aws-solutions-constructs/core": "2.85.4",
|
|
82
83
|
"constructs": "^10.0.0",
|
|
83
84
|
"aws-cdk-lib": "^2.193.0"
|
|
84
85
|
},
|
|
File without changes
|