@liflig/cdk 1.52.1 → 2.0.0
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/README.md +5 -7
- package/assets/cloudtrail-slack-integration-lambda/main.py +44 -26
- package/lib/alarms/service-alarms.d.ts +6 -5
- package/lib/alarms/service-alarms.js +8 -7
- package/lib/alarms/slack-alarm.d.ts +5 -5
- package/lib/alarms/slack-alarm.js +9 -9
- package/lib/bastion-host.d.ts +4 -4
- package/lib/bastion-host.js +6 -5
- package/lib/build-artifacts/index.d.ts +3 -3
- package/lib/build-artifacts/index.js +7 -6
- package/lib/cdk-deploy/cdk-deploy.d.ts +4 -3
- package/lib/cdk-deploy/cdk-deploy.js +9 -8
- package/lib/cdk-pipelines/liflig-cdk-pipeline.d.ts +7 -7
- package/lib/cdk-pipelines/liflig-cdk-pipeline.js +28 -23
- package/lib/cdk-pipelines/slack-notification.d.ts +4 -4
- package/lib/cdk-pipelines/slack-notification.js +7 -6
- package/lib/cloudtrail-slack-integration/cloudtrail-slack-integration.d.ts +10 -6
- package/lib/cloudtrail-slack-integration/cloudtrail-slack-integration.js +13 -12
- package/lib/configure-parameters/configure-parameters.d.ts +6 -6
- package/lib/configure-parameters/configure-parameters.js +5 -5
- package/lib/cross-region-ssm-parameter.d.ts +3 -3
- package/lib/cross-region-ssm-parameter.js +4 -4
- package/lib/ecs/cluster.d.ts +7 -7
- package/lib/ecs/cluster.js +9 -8
- package/lib/ecs/fargate-service.d.ts +8 -7
- package/lib/ecs/fargate-service.js +11 -10
- package/lib/ecs/listener-rule.d.ts +12 -5
- package/lib/ecs/listener-rule.js +8 -8
- package/lib/ecs-update-image/ecs-update-image.d.ts +6 -6
- package/lib/ecs-update-image/ecs-update-image.js +6 -5
- package/lib/ecs-update-image/tag.d.ts +4 -4
- package/lib/ecs-update-image/tag.js +5 -5
- package/lib/griid/artefact-bucket.d.ts +3 -3
- package/lib/griid/artefact-bucket.js +5 -5
- package/lib/griid/index.d.ts +3 -3
- package/lib/griid/index.js +3 -3
- package/lib/hosted-zone-with-param.d.ts +5 -5
- package/lib/hosted-zone-with-param.js +6 -5
- package/lib/kinesis/kinesis-to-datadog-stream.d.ts +4 -4
- package/lib/kinesis/kinesis-to-datadog-stream.js +10 -9
- package/lib/load-balancer/load-balancer.d.ts +7 -7
- package/lib/load-balancer/load-balancer.js +8 -7
- package/lib/pipelines/deploy-env.d.ts +6 -6
- package/lib/pipelines/deploy-env.js +11 -10
- package/lib/pipelines/liflig-cdk-deployer-deps.d.ts +3 -3
- package/lib/pipelines/liflig-cdk-deployer-deps.js +5 -4
- package/lib/pipelines/pipeline.d.ts +6 -6
- package/lib/pipelines/pipeline.js +11 -10
- package/lib/platform/platform.d.ts +6 -6
- package/lib/platform/platform.js +5 -5
- package/lib/rds/database.d.ts +7 -6
- package/lib/rds/database.js +6 -5
- package/lib/ses/configurationsetsnsdestination/index.d.ts +4 -4
- package/lib/ses/configurationsetsnsdestination/index.js +8 -7
- package/lib/ses/sesdomain/index.d.ts +5 -4
- package/lib/ses/sesdomain/index.js +9 -8
- package/lib/ses/sesverifyemail/index.d.ts +4 -3
- package/lib/ses/sesverifyemail/index.js +8 -7
- package/lib/ssm-parameter-backed-resource.d.ts +5 -5
- package/lib/ssm-parameter-backed-resource.js +5 -4
- package/lib/ssm-parameter-reader.d.ts +3 -3
- package/lib/ssm-parameter-reader.js +3 -3
- package/lib/tags.d.ts +3 -2
- package/lib/tags.js +3 -3
- package/lib/utils.d.ts +2 -2
- package/lib/utils.js +2 -2
- package/lib/webapp/security-headers.d.ts +4 -4
- package/lib/webapp/security-headers.js +4 -4
- package/lib/webapp/webapp.d.ts +8 -8
- package/lib/webapp/webapp.js +9 -9
- package/lib/webapp-deploy-via-role.d.ts +3 -3
- package/lib/webapp-deploy-via-role.js +5 -4
- package/package.json +24 -75
package/README.md
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
# Liflig CDK
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
This is a collection of reusable constructs and patterns for
|
|
4
|
+
CDK setups, for use within Liflig.
|
|
4
5
|
|
|
5
6
|
## State of repository and package
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
and as such will not be following semantic versioning strictly. There will be
|
|
10
|
-
breaking changes across both minor and patch releases, as we will be
|
|
11
|
-
coordinating changes internally.
|
|
8
|
+
We do not expect others to depend on this, and as such will not be following semantic versioning strictly.
|
|
9
|
+
There will be breaking changes across both minor and patch releases, as we will be coordinating changes internally.
|
|
12
10
|
|
|
13
11
|
CDK has some major issues for 3rd party library authors which
|
|
14
12
|
are not yet resolved. Some relevant information:
|
|
@@ -30,7 +28,7 @@ are not yet resolved. Some relevant information:
|
|
|
30
28
|
npm run test -- -u
|
|
31
29
|
```
|
|
32
30
|
|
|
33
|
-
Investigate any changes before
|
|
31
|
+
Investigate any changes before committing.
|
|
34
32
|
|
|
35
33
|
## Testing library changes before releasing
|
|
36
34
|
|
|
@@ -11,17 +11,29 @@ import os
|
|
|
11
11
|
import logging
|
|
12
12
|
import json
|
|
13
13
|
import urllib.request
|
|
14
|
+
import re
|
|
14
15
|
import boto3
|
|
15
16
|
|
|
16
17
|
logger = logging.getLogger()
|
|
17
18
|
logger.setLevel(logging.INFO)
|
|
18
19
|
|
|
20
|
+
def augment_strings_with_friendly_names(strings, friendly_names):
|
|
21
|
+
"""A helper method for augmenting various values (e.g., AWS account ID) in
|
|
22
|
+
a list of strings with a more friendly name"""
|
|
23
|
+
# We avoid replacing values that are directly prefixed and/or suffixed with ':'
|
|
24
|
+
# as it is most likely an ARN or similiar. We don't want to replace account IDs
|
|
25
|
+
# inside ARNs as this would look messy.This is a quite basic heuristic, but it should allow
|
|
26
|
+
# us to easily replace most relevant values (e.g., principal ID, account ID, etc.) with
|
|
27
|
+
# friendly names without a complicated regex.
|
|
28
|
+
pattern = re.compile("|".join([f"(?<!:)({re.escape(key)})(?!:)" for key in friendly_names]))
|
|
29
|
+
return [pattern.sub(lambda m: m[0] + f" ({friendly_names[m.string[m.start():m.end()]]})", s) for s in strings]
|
|
19
30
|
|
|
20
|
-
|
|
31
|
+
|
|
32
|
+
def get_slack_payload_for_assume_role_event(event, friendly_names):
|
|
21
33
|
"""Parse a CloudTrail event related to the API call sts:AssumeRole,
|
|
22
34
|
and return a Slack-formatted attachment"""
|
|
23
|
-
event_account_id = event["account"]
|
|
24
35
|
event_detail = event["detail"]
|
|
36
|
+
recipient_account_id = event_detail["recipientAccountId"]
|
|
25
37
|
request_parameters = event_detail.get("requestParameters", {}) or {}
|
|
26
38
|
|
|
27
39
|
timestamp = event_detail["eventTime"]
|
|
@@ -32,12 +44,14 @@ def get_slack_payload_for_assume_role_event(event, account_friendly_names):
|
|
|
32
44
|
source_ip = event_detail.get("sourceIPAddress", "")
|
|
33
45
|
role_arn = request_parameters.get("roleArn", "")
|
|
34
46
|
|
|
35
|
-
fallback = f"Sensitive role accessed in '{
|
|
36
|
-
pretext_messages = [f":warning: Sensitive role in `{
|
|
47
|
+
fallback = f"Sensitive role accessed in '{recipient_account_id}'"
|
|
48
|
+
pretext_messages = [f":warning: Sensitive role in `{recipient_account_id}` assumed by"]
|
|
37
49
|
if principal_id.startswith("AIDA"):
|
|
38
50
|
pretext_messages.append("IAM user")
|
|
39
51
|
elif principal_id.startswith("AROA"):
|
|
40
|
-
|
|
52
|
+
# The other part of the principal ID for a role is the name of the session
|
|
53
|
+
principal_id = principal_id.split(":")[0]
|
|
54
|
+
pretext_messages.append(f"IAM role")
|
|
41
55
|
else:
|
|
42
56
|
pretext_messages.append("principal")
|
|
43
57
|
pretext_messages.append(f"in `{principal_account_id}`")
|
|
@@ -52,9 +66,11 @@ def get_slack_payload_for_assume_role_event(event, account_friendly_names):
|
|
|
52
66
|
f"*Timestamp:* `{timestamp}`",
|
|
53
67
|
]
|
|
54
68
|
text = "\n".join(line for line in text if line)
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
fallback =
|
|
69
|
+
|
|
70
|
+
try:
|
|
71
|
+
pretext, fallback, text = augment_strings_with_friendly_names([pretext, fallback, text], friendly_names)
|
|
72
|
+
except:
|
|
73
|
+
logger.exception("Failed to augment strings with friendly names")
|
|
58
74
|
return {
|
|
59
75
|
"attachments": [
|
|
60
76
|
{
|
|
@@ -69,17 +85,17 @@ def get_slack_payload_for_assume_role_event(event, account_friendly_names):
|
|
|
69
85
|
|
|
70
86
|
|
|
71
87
|
def get_fallback_slack_payload_for_event(
|
|
72
|
-
event,
|
|
88
|
+
event, friendly_names, fallback_parse_behavior=""
|
|
73
89
|
):
|
|
74
90
|
"""Parse a generic CloudTrail event related to an API call
|
|
75
91
|
and return a Slack-formatted attachment"""
|
|
76
|
-
event_account_id = event["account"]
|
|
77
92
|
event_detail = event["detail"]
|
|
78
93
|
event_name = event_detail["eventName"]
|
|
79
94
|
event_type = event_detail["eventType"]
|
|
80
95
|
event_time = event_detail["eventTime"]
|
|
81
|
-
|
|
82
|
-
|
|
96
|
+
recipient_account_id = event_detail["recipientAccountId"]
|
|
97
|
+
pretext = f":warning: CloudTrail event in account `{recipient_account_id}`"
|
|
98
|
+
fallback = f"CloudTrail event in account '{recipient_account_id}'"
|
|
83
99
|
if fallback_parse_behavior == "DUMP_EVENT":
|
|
84
100
|
text = "\n".join(
|
|
85
101
|
["*Event:*", "```", json.dumps(event, sort_keys=True, indent=2), "```"]
|
|
@@ -117,9 +133,11 @@ def get_fallback_slack_payload_for_event(
|
|
|
117
133
|
# Filter out empty strings
|
|
118
134
|
text = "\n".join(line for line in text if line)
|
|
119
135
|
|
|
120
|
-
|
|
121
|
-
pretext = pretext
|
|
122
|
-
|
|
136
|
+
try:
|
|
137
|
+
pretext, fallback, text = augment_strings_with_friendly_names([pretext, fallback, text], friendly_names)
|
|
138
|
+
except:
|
|
139
|
+
logger.exception("Failed to augment strings with friendly names")
|
|
140
|
+
|
|
123
141
|
return {
|
|
124
142
|
"attachments": [
|
|
125
143
|
{
|
|
@@ -133,16 +151,16 @@ def get_fallback_slack_payload_for_event(
|
|
|
133
151
|
}
|
|
134
152
|
|
|
135
153
|
|
|
136
|
-
def
|
|
154
|
+
def get_augmented_friendly_names(event, friendly_names):
|
|
137
155
|
"""Return an augmented dictionary containing the alias of the current
|
|
138
|
-
AWS account if relevant"""
|
|
139
|
-
|
|
156
|
+
AWS account as a friendly name for the current account ID if relevant"""
|
|
157
|
+
augmented_friendly_names = {**friendly_names}
|
|
140
158
|
try:
|
|
141
159
|
event_account_id = event["account"]
|
|
142
160
|
event_detail = event["detail"]
|
|
143
161
|
recipient_account_id = event_detail["recipientAccountId"]
|
|
144
162
|
if (
|
|
145
|
-
not
|
|
163
|
+
not friendly_names.get(event_account_id, "")
|
|
146
164
|
and event_account_id == recipient_account_id
|
|
147
165
|
):
|
|
148
166
|
logger.info(
|
|
@@ -152,11 +170,11 @@ def get_augmented_account_friendly_names(event, account_friendly_names):
|
|
|
152
170
|
iam = boto3.client("iam")
|
|
153
171
|
aliases = iam.list_account_aliases()["AccountAliases"]
|
|
154
172
|
if len(aliases):
|
|
155
|
-
|
|
173
|
+
augmented_friendly_names[event_account_id] = aliases[0]
|
|
156
174
|
except:
|
|
157
175
|
logger.exception("Failed to look up alias of current AWS account")
|
|
158
176
|
|
|
159
|
-
return
|
|
177
|
+
return augmented_friendly_names
|
|
160
178
|
|
|
161
179
|
|
|
162
180
|
def post_to_slack(slack_payload, slack_webhook_url):
|
|
@@ -178,15 +196,15 @@ def handler_event_transformer(event, context):
|
|
|
178
196
|
"""Lambda handler for the event transformer Lambda"""
|
|
179
197
|
logger.info("Triggered with event: %s", json.dumps(event, indent=2))
|
|
180
198
|
|
|
181
|
-
|
|
199
|
+
friendly_names = json.loads(os.environ["FRIENDLY_NAMES"])
|
|
182
200
|
slack_webhook_url = os.environ["SLACK_WEBHOOK_URL"]
|
|
183
201
|
slack_channel = os.environ["SLACK_CHANNEL"]
|
|
184
202
|
sqs_queue_url = os.environ.get("SQS_QUEUE_URL", "")
|
|
185
203
|
fallback_parse_behavior = os.environ.get("FALLBACK_PARSE_BEHAVIOR", "")
|
|
186
204
|
deduplicate_events = os.environ.get("DEDUPLICATE_EVENTS", "false") == "true"
|
|
187
205
|
|
|
188
|
-
|
|
189
|
-
event,
|
|
206
|
+
friendly_names = get_augmented_friendly_names(
|
|
207
|
+
event, friendly_names
|
|
190
208
|
)
|
|
191
209
|
|
|
192
210
|
if not event["detail-type"].endswith("via CloudTrail"):
|
|
@@ -197,7 +215,7 @@ def handler_event_transformer(event, context):
|
|
|
197
215
|
try:
|
|
198
216
|
if event["detail"]["eventName"] == "AssumeRole":
|
|
199
217
|
slack_payload = get_slack_payload_for_assume_role_event(
|
|
200
|
-
event,
|
|
218
|
+
event, friendly_names
|
|
201
219
|
)
|
|
202
220
|
except:
|
|
203
221
|
logger.exception("Failed to parse event using predefined schema")
|
|
@@ -205,7 +223,7 @@ def handler_event_transformer(event, context):
|
|
|
205
223
|
logger.warn("Using a fallback schema to parse event")
|
|
206
224
|
slack_payload = get_fallback_slack_payload_for_event(
|
|
207
225
|
event,
|
|
208
|
-
|
|
226
|
+
friendly_names,
|
|
209
227
|
fallback_parse_behavior=fallback_parse_behavior,
|
|
210
228
|
)
|
|
211
229
|
slack_payload = {**slack_payload, "channel": slack_channel}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
3
|
-
import * as
|
|
1
|
+
import * as constructs from "constructs";
|
|
2
|
+
import * as cloudwatch from "aws-cdk-lib/aws-cloudwatch";
|
|
3
|
+
import * as logs from "aws-cdk-lib/aws-logs";
|
|
4
|
+
import * as cdk from "aws-cdk-lib";
|
|
4
5
|
export interface ServiceAlarmsProps extends cdk.StackProps {
|
|
5
6
|
action: cloudwatch.IAlarmAction;
|
|
6
7
|
serviceName: string;
|
|
@@ -13,10 +14,10 @@ export interface ServiceAlarmsProps extends cdk.StackProps {
|
|
|
13
14
|
*
|
|
14
15
|
* See SlackAlarm construct for SNS Action.
|
|
15
16
|
*/
|
|
16
|
-
export declare class ServiceAlarms extends
|
|
17
|
+
export declare class ServiceAlarms extends constructs.Construct {
|
|
17
18
|
private readonly action;
|
|
18
19
|
private readonly serviceName;
|
|
19
|
-
constructor(scope:
|
|
20
|
+
constructor(scope: constructs.Construct, id: string, props: ServiceAlarmsProps);
|
|
20
21
|
/**
|
|
21
22
|
* For logs stored as JSON, monitor log entries logged
|
|
22
23
|
* with level ERROR or higher, as well as any requests
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ServiceAlarms = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
4
|
+
const constructs = require("constructs");
|
|
5
|
+
const cloudwatch = require("aws-cdk-lib/aws-cloudwatch");
|
|
6
|
+
const logs = require("aws-cdk-lib/aws-logs");
|
|
7
|
+
const cdk = require("aws-cdk-lib");
|
|
7
8
|
/**
|
|
8
9
|
* Various alarms and monitoring.
|
|
9
10
|
*
|
|
@@ -12,7 +13,7 @@ const cdk = require("@aws-cdk/core");
|
|
|
12
13
|
*
|
|
13
14
|
* See SlackAlarm construct for SNS Action.
|
|
14
15
|
*/
|
|
15
|
-
class ServiceAlarms extends
|
|
16
|
+
class ServiceAlarms extends constructs.Construct {
|
|
16
17
|
constructor(scope, id, props) {
|
|
17
18
|
super(scope, id);
|
|
18
19
|
this.action = props.action;
|
|
@@ -59,7 +60,7 @@ class ServiceAlarms extends cdk.Construct {
|
|
|
59
60
|
namespace: "AWS/ApplicationELB",
|
|
60
61
|
statistic: "Average",
|
|
61
62
|
period: cdk.Duration.seconds(60),
|
|
62
|
-
|
|
63
|
+
dimensionsMap: {
|
|
63
64
|
TargetGroup: props.targetGroupFullName,
|
|
64
65
|
LoadBalancer: props.loadBalancerFullName,
|
|
65
66
|
},
|
|
@@ -77,7 +78,7 @@ class ServiceAlarms extends cdk.Construct {
|
|
|
77
78
|
namespace: "AWS/ApplicationELB",
|
|
78
79
|
statistic: "Sum",
|
|
79
80
|
period: cdk.Duration.seconds(60),
|
|
80
|
-
|
|
81
|
+
dimensionsMap: {
|
|
81
82
|
TargetGroup: props.targetGroupFullName,
|
|
82
83
|
LoadBalancer: props.loadBalancerFullName,
|
|
83
84
|
},
|
|
@@ -93,4 +94,4 @@ class ServiceAlarms extends cdk.Construct {
|
|
|
93
94
|
}
|
|
94
95
|
}
|
|
95
96
|
exports.ServiceAlarms = ServiceAlarms;
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1hbGFybXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWxhcm1zL3NlcnZpY2UtYWxhcm1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF3QztBQUN4Qyx5REFBd0Q7QUFDeEQsNkNBQTRDO0FBQzVDLG1DQUFrQztBQU9sQzs7Ozs7OztHQU9HO0FBQ0gsTUFBYSxhQUFjLFNBQVEsVUFBVSxDQUFDLFNBQVM7SUFJckQsWUFDRSxLQUEyQixFQUMzQixFQUFVLEVBQ1YsS0FBeUI7UUFFekIsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUE7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFBO0lBQ3RDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsaUJBQWlCLENBQUMsS0FHakI7O1FBQ0MsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FDdEQsbUJBQW1CLEVBQ25CO1lBQ0UsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQztZQUN2RCwyREFBMkQ7WUFDM0QsZ0RBQWdEO1lBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLEVBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVztZQUM1QixzQkFBc0I7WUFDdEIsMkJBQTJCLEVBQzNCLEdBQUcsRUFDSCx1QkFBdUIsQ0FDeEIsQ0FDRjtZQUNELFVBQVUsRUFBRSxRQUFRO1lBQ3BCLGVBQWUsRUFBRSxTQUFTLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsSUFDcEQsSUFBSSxDQUFDLFdBQ1AsU0FBUztTQUNWLENBQ0YsQ0FBQTtRQUVELE1BQU0sVUFBVSxHQUFHLGlCQUFpQjthQUNqQyxNQUFNLEVBQUU7YUFDUixJQUFJLENBQUM7WUFDSixTQUFTLEVBQUUsS0FBSztZQUNoQixNQUFNLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1NBQ2pDLENBQUM7YUFDRCxXQUFXLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRTtZQUNsQyxnQkFBZ0IsRUFDZCxNQUFBLEtBQUssQ0FBQyxnQkFBZ0IsbUNBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxrQkFBa0I7WUFDakUsaUJBQWlCLEVBQUUsQ0FBQztZQUNwQixTQUFTLEVBQUUsQ0FBQztZQUNaLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhO1NBQzVELENBQUMsQ0FBQTtRQUVKLFVBQVUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3RDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNILG1CQUFtQixDQUFDLEtBR25CO1FBQ0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQ3hDLFVBQVUsRUFBRSxrQkFBa0I7WUFDOUIsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixTQUFTLEVBQUUsU0FBUztZQUNwQixNQUFNLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2hDLGFBQWEsRUFBRTtnQkFDYixXQUFXLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtnQkFDdEMsWUFBWSxFQUFFLEtBQUssQ0FBQyxvQkFBb0I7YUFDekM7U0FDRixDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDbEMsZ0JBQWdCLEVBQ2Qsc0VBQXNFO1lBQ3hFLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUI7WUFDckUsaUJBQWlCLEVBQUUsQ0FBQztZQUNwQixTQUFTLEVBQUUsQ0FBQztZQUNaLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTO1NBQ3hELENBQUMsQ0FBQTtRQUVGLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3ZDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRXBDLE1BQU0sZUFBZSxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUM1QyxVQUFVLEVBQUUsNEJBQTRCO1lBQ3hDLFNBQVMsRUFBRSxvQkFBb0I7WUFDL0IsU0FBUyxFQUFFLEtBQUs7WUFDaEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxhQUFhLEVBQUU7Z0JBQ2IsV0FBVyxFQUFFLEtBQUssQ0FBQyxtQkFBbUI7Z0JBQ3RDLFlBQVksRUFBRSxLQUFLLENBQUMsb0JBQW9CO2FBQ3pDO1NBQ0YsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7WUFDdEMsY0FBYyxFQUFFLElBQUk7WUFDcEIsZ0JBQWdCLEVBQUUsMkNBQTJDO1lBQzdELGlCQUFpQixFQUFFLENBQUM7WUFDcEIsU0FBUyxFQUFFLENBQUM7WUFDWixnQkFBZ0IsRUFBRSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsYUFBYTtTQUM1RCxDQUFDLENBQUE7UUFFRixlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMzQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0NBQ0Y7QUFoSEQsc0NBZ0hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgKiBhcyBjbG91ZHdhdGNoIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiXG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbG9nc1wiXG5pbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCJcblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2aWNlQWxhcm1zUHJvcHMgZXh0ZW5kcyBjZGsuU3RhY2tQcm9wcyB7XG4gIGFjdGlvbjogY2xvdWR3YXRjaC5JQWxhcm1BY3Rpb25cbiAgc2VydmljZU5hbWU6IHN0cmluZ1xufVxuXG4vKipcbiAqIFZhcmlvdXMgYWxhcm1zIGFuZCBtb25pdG9yaW5nLlxuICpcbiAqIEJ5IGl0c2VsZiBubyBhbGFybXMgaXMgY3JlYXRlZC4gVXNlIHRoZSBtZXRob2RzIGF2YWlsYWJsZVxuICogdG8gYWRkIGFsYXJtcy5cbiAqXG4gKiBTZWUgU2xhY2tBbGFybSBjb25zdHJ1Y3QgZm9yIFNOUyBBY3Rpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBTZXJ2aWNlQWxhcm1zIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvbjogY2xvdWR3YXRjaC5JQWxhcm1BY3Rpb25cbiAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nXG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IFNlcnZpY2VBbGFybXNQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgdGhpcy5hY3Rpb24gPSBwcm9wcy5hY3Rpb25cbiAgICB0aGlzLnNlcnZpY2VOYW1lID0gcHJvcHMuc2VydmljZU5hbWVcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3IgbG9ncyBzdG9yZWQgYXMgSlNPTiwgbW9uaXRvciBsb2cgZW50cmllcyBsb2dnZWRcbiAgICogd2l0aCBsZXZlbCBFUlJPUiBvciBoaWdoZXIsIGFzIHdlbGwgYXMgYW55IHJlcXVlc3RzXG4gICAqIHRoYXQgY2F1c2VzIDUwMCBmb3IgbG9nZ2luZyB3aXRoIGxpZmxpZy1sb2dnaW5nLlxuICAgKi9cbiAgYWRkSnNvbkVycm9yQWxhcm0ocHJvcHM6IHtcbiAgICBsb2dHcm91cDogbG9ncy5JTG9nR3JvdXBcbiAgICBhbGFybURlc2NyaXB0aW9uPzogc3RyaW5nXG4gIH0pOiB2b2lkIHtcbiAgICBjb25zdCBlcnJvck1ldHJpY0ZpbHRlciA9IHByb3BzLmxvZ0dyb3VwLmFkZE1ldHJpY0ZpbHRlcihcbiAgICAgIFwiRXJyb3JNZXRyaWNGaWx0ZXJcIixcbiAgICAgIHtcbiAgICAgICAgZmlsdGVyUGF0dGVybjogbG9ncy5GaWx0ZXJQYXR0ZXJuLmFueShcbiAgICAgICAgICBsb2dzLkZpbHRlclBhdHRlcm4uc3RyaW5nVmFsdWUoXCIkLmxldmVsXCIsIFwiPVwiLCBcIkVSUk9SXCIpLFxuICAgICAgICAgIC8vIEZBVEFMIGNvdmVycyBzb21lIGFwcGxpY2F0aW9ucyB3ZSBydW4gdGhhdCB1c2VzIGxvZzRqIG9yXG4gICAgICAgICAgLy8gb3RoZXIgbGlicmFyaWVzLiBJdCBpcyBub3QgZXhpc3RlbnQgaW4gc2xmNGouXG4gICAgICAgICAgbG9ncy5GaWx0ZXJQYXR0ZXJuLnN0cmluZ1ZhbHVlKFwiJC5sZXZlbFwiLCBcIj1cIiwgXCJGQVRBTFwiKSxcbiAgICAgICAgICBsb2dzLkZpbHRlclBhdHRlcm4uc3RyaW5nVmFsdWUoXG4gICAgICAgICAgICAvLyBGb3IgbGlmbGlnLWxvZ2dpbmcuXG4gICAgICAgICAgICBcIiQucmVxdWVzdEluZm8uc3RhdHVzLmNvZGVcIixcbiAgICAgICAgICAgIFwiPVwiLFxuICAgICAgICAgICAgXCJJTlRFUk5BTF9TRVJWRVJfRVJST1JcIixcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBtZXRyaWNOYW1lOiBcIkVycm9yc1wiLFxuICAgICAgICBtZXRyaWNOYW1lc3BhY2U6IGBzdGFjay8ke2Nkay5TdGFjay5vZih0aGlzKS5zdGFja05hbWV9LyR7XG4gICAgICAgICAgdGhpcy5zZXJ2aWNlTmFtZVxuICAgICAgICB9L0Vycm9yc2AsXG4gICAgICB9LFxuICAgIClcblxuICAgIGNvbnN0IGVycm9yQWxhcm0gPSBlcnJvck1ldHJpY0ZpbHRlclxuICAgICAgLm1ldHJpYygpXG4gICAgICAud2l0aCh7XG4gICAgICAgIHN0YXRpc3RpYzogXCJTdW1cIixcbiAgICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgICB9KVxuICAgICAgLmNyZWF0ZUFsYXJtKHRoaXMsIFwiRXJyb3JMb2dBbGFybVwiLCB7XG4gICAgICAgIGFsYXJtRGVzY3JpcHRpb246XG4gICAgICAgICAgcHJvcHMuYWxhcm1EZXNjcmlwdGlvbiA/PyBgJHt0aGlzLnNlcnZpY2VOYW1lfSBsb2dnZWQgYW4gZXJyb3JgLFxuICAgICAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICAgICAgdGhyZXNob2xkOiAxLFxuICAgICAgICB0cmVhdE1pc3NpbmdEYXRhOiBjbG91ZHdhdGNoLlRyZWF0TWlzc2luZ0RhdGEuTk9UX0JSRUFDSElORyxcbiAgICAgIH0pXG5cbiAgICBlcnJvckFsYXJtLmFkZEFsYXJtQWN0aW9uKHRoaXMuYWN0aW9uKVxuICAgIGVycm9yQWxhcm0uYWRkT2tBY3Rpb24odGhpcy5hY3Rpb24pXG4gIH1cblxuICAvKipcbiAgICogTW9uaXRvciBoZWFsdGh5IGhvc3QgY291bnQgYW5kIGNvbm5lY3Rpb24gZXJyb3JzIGZyb20gbG9hZCBiYWxhbmNlci5cbiAgICovXG4gIGFkZFRhcmdldEdyb3VwQWxhcm0ocHJvcHM6IHtcbiAgICB0YXJnZXRHcm91cEZ1bGxOYW1lOiBzdHJpbmdcbiAgICBsb2FkQmFsYW5jZXJGdWxsTmFtZTogc3RyaW5nXG4gIH0pOiB2b2lkIHtcbiAgICBjb25zdCBoZWFsdGhBbGFybSA9IG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBtZXRyaWNOYW1lOiBcIkhlYWx0aHlIb3N0Q291bnRcIixcbiAgICAgIG5hbWVzcGFjZTogXCJBV1MvQXBwbGljYXRpb25FTEJcIixcbiAgICAgIHN0YXRpc3RpYzogXCJBdmVyYWdlXCIsXG4gICAgICBwZXJpb2Q6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgVGFyZ2V0R3JvdXA6IHByb3BzLnRhcmdldEdyb3VwRnVsbE5hbWUsXG4gICAgICAgIExvYWRCYWxhbmNlcjogcHJvcHMubG9hZEJhbGFuY2VyRnVsbE5hbWUsXG4gICAgICB9LFxuICAgIH0pLmNyZWF0ZUFsYXJtKHRoaXMsIFwiSGVhbHRoQWxhcm1cIiwge1xuICAgICAgYWxhcm1EZXNjcmlwdGlvbjpcbiAgICAgICAgXCJTZXJ2aWNlIG1pZ2h0IGJlIHVuYXZhaWxhYmxlISBJdCBpcyBub3QgcmVzcG9uZGluZyB0byBoZWFsdGggY2hlY2tzLlwiLFxuICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5MRVNTX1RIQU5fVEhSRVNIT0xELFxuICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgICB0aHJlc2hvbGQ6IDEsXG4gICAgICB0cmVhdE1pc3NpbmdEYXRhOiBjbG91ZHdhdGNoLlRyZWF0TWlzc2luZ0RhdGEuQlJFQUNISU5HLFxuICAgIH0pXG5cbiAgICBoZWFsdGhBbGFybS5hZGRBbGFybUFjdGlvbih0aGlzLmFjdGlvbilcbiAgICBoZWFsdGhBbGFybS5hZGRPa0FjdGlvbih0aGlzLmFjdGlvbilcblxuICAgIGNvbnN0IGNvbm5lY3Rpb25BbGFybSA9IG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBtZXRyaWNOYW1lOiBcIlRhcmdldENvbm5lY3Rpb25FcnJvckNvdW50XCIsXG4gICAgICBuYW1lc3BhY2U6IFwiQVdTL0FwcGxpY2F0aW9uRUxCXCIsXG4gICAgICBzdGF0aXN0aWM6IFwiU3VtXCIsXG4gICAgICBwZXJpb2Q6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgVGFyZ2V0R3JvdXA6IHByb3BzLnRhcmdldEdyb3VwRnVsbE5hbWUsXG4gICAgICAgIExvYWRCYWxhbmNlcjogcHJvcHMubG9hZEJhbGFuY2VyRnVsbE5hbWUsXG4gICAgICB9LFxuICAgIH0pLmNyZWF0ZUFsYXJtKHRoaXMsIFwiQ29ubmVjdGlvbkFsYXJtXCIsIHtcbiAgICAgIGFjdGlvbnNFbmFibGVkOiB0cnVlLFxuICAgICAgYWxhcm1EZXNjcmlwdGlvbjogXCJMb2FkIGJhbGFuY2VyIGNvdWxkIG5vdCBjb25uZWN0IHRvIHRhcmdldFwiLFxuICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgICB0aHJlc2hvbGQ6IDEsXG4gICAgICB0cmVhdE1pc3NpbmdEYXRhOiBjbG91ZHdhdGNoLlRyZWF0TWlzc2luZ0RhdGEuTk9UX0JSRUFDSElORyxcbiAgICB9KVxuXG4gICAgY29ubmVjdGlvbkFsYXJtLmFkZEFsYXJtQWN0aW9uKHRoaXMuYWN0aW9uKVxuICAgIGNvbm5lY3Rpb25BbGFybS5hZGRPa0FjdGlvbih0aGlzLmFjdGlvbilcbiAgfVxufVxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
3
|
-
import * as
|
|
1
|
+
import * as constructs from "constructs";
|
|
2
|
+
import * as cloudwatchActions from "aws-cdk-lib/aws-cloudwatch-actions";
|
|
3
|
+
import * as sns from "aws-cdk-lib/aws-sns";
|
|
4
4
|
export interface SlackAlarmProps {
|
|
5
5
|
projectName: string;
|
|
6
6
|
envName: string;
|
|
@@ -11,8 +11,8 @@ export interface SlackAlarmProps {
|
|
|
11
11
|
* SNS Topic that can be used to action alarms, with a Lambda
|
|
12
12
|
* that will send a message to Slack for the alarm.
|
|
13
13
|
*/
|
|
14
|
-
export declare class SlackAlarm extends
|
|
14
|
+
export declare class SlackAlarm extends constructs.Construct {
|
|
15
15
|
readonly alarmTopic: sns.Topic;
|
|
16
16
|
readonly snsAction: cloudwatchActions.SnsAction;
|
|
17
|
-
constructor(scope:
|
|
17
|
+
constructor(scope: constructs.Construct, id: string, props: SlackAlarmProps);
|
|
18
18
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SlackAlarm = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
4
|
+
const constructs = require("constructs");
|
|
5
|
+
const cloudwatchActions = require("aws-cdk-lib/aws-cloudwatch-actions");
|
|
6
|
+
const iam = require("aws-cdk-lib/aws-iam");
|
|
7
|
+
const lambda = require("aws-cdk-lib/aws-lambda");
|
|
8
|
+
const sns = require("aws-cdk-lib/aws-sns");
|
|
9
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
10
10
|
const path = require("path");
|
|
11
11
|
/**
|
|
12
12
|
* SNS Topic that can be used to action alarms, with a Lambda
|
|
13
13
|
* that will send a message to Slack for the alarm.
|
|
14
14
|
*/
|
|
15
|
-
class SlackAlarm extends
|
|
15
|
+
class SlackAlarm extends constructs.Construct {
|
|
16
16
|
constructor(scope, id, props) {
|
|
17
17
|
super(scope, id);
|
|
18
18
|
this.alarmTopic = new sns.Topic(this, "Topic");
|
|
@@ -23,7 +23,7 @@ class SlackAlarm extends cdk.Construct {
|
|
|
23
23
|
handler: "index.handler",
|
|
24
24
|
memorySize: 128,
|
|
25
25
|
runtime: lambda.Runtime.PYTHON_3_8,
|
|
26
|
-
timeout:
|
|
26
|
+
timeout: aws_cdk_lib_1.Duration.seconds(6),
|
|
27
27
|
environment: {
|
|
28
28
|
SLACK_URL: props.slackUrl,
|
|
29
29
|
SLACK_CHANNEL: props.slackChannel,
|
|
@@ -44,4 +44,4 @@ class SlackAlarm extends cdk.Construct {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
exports.SlackAlarm = SlackAlarm;
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhY2stYWxhcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWxhcm1zL3NsYWNrLWFsYXJtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF3QztBQUN4Qyx3RUFBdUU7QUFDdkUsMkNBQTBDO0FBQzFDLGlEQUFnRDtBQUNoRCwyQ0FBMEM7QUFDMUMsNkNBQXNDO0FBQ3RDLDZCQUE0QjtBQVM1Qjs7O0dBR0c7QUFDSCxNQUFhLFVBQVcsU0FBUSxVQUFVLENBQUMsU0FBUztJQUlsRCxZQUFZLEtBQTJCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQ3pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFaEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBRTlDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBRWpFLE1BQU0sV0FBVyxHQUFHLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3hELElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsaUNBQWlDLENBQUMsQ0FDeEQ7WUFDRCxXQUFXLEVBQ1QsK0VBQStFO1lBQ2pGLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFVBQVUsRUFBRSxHQUFHO1lBQ2YsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVTtZQUNsQyxPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzVCLFdBQVcsRUFBRTtnQkFDWCxTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVE7Z0JBQ3pCLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWTtnQkFDakMsWUFBWSxFQUFFLEtBQUssQ0FBQyxXQUFXO2dCQUMvQixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsT0FBTzthQUNoQztTQUNGLENBQUMsQ0FBQTtRQUVGLFdBQVcsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLEVBQUU7WUFDNUMsTUFBTSxFQUFFLHVCQUF1QjtZQUMvQixTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUM7WUFDeEQsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUTtTQUNwQyxDQUFDLENBQUE7UUFFRixJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUN6QyxRQUFRLEVBQUUsV0FBVyxDQUFDLFdBQVc7WUFDakMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNO1lBQ3pDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVTtTQUN2QixDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0Y7QUF6Q0QsZ0NBeUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgKiBhcyBjbG91ZHdhdGNoQWN0aW9ucyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gtYWN0aW9uc1wiXG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIlxuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCJcbmltcG9ydCAqIGFzIHNucyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNuc1wiXG5pbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCJcblxuZXhwb3J0IGludGVyZmFjZSBTbGFja0FsYXJtUHJvcHMge1xuICBwcm9qZWN0TmFtZTogc3RyaW5nXG4gIGVudk5hbWU6IHN0cmluZ1xuICBzbGFja0NoYW5uZWw6IHN0cmluZ1xuICBzbGFja1VybDogc3RyaW5nXG59XG5cbi8qKlxuICogU05TIFRvcGljIHRoYXQgY2FuIGJlIHVzZWQgdG8gYWN0aW9uIGFsYXJtcywgd2l0aCBhIExhbWJkYVxuICogdGhhdCB3aWxsIHNlbmQgYSBtZXNzYWdlIHRvIFNsYWNrIGZvciB0aGUgYWxhcm0uXG4gKi9cbmV4cG9ydCBjbGFzcyBTbGFja0FsYXJtIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgYWxhcm1Ub3BpYzogc25zLlRvcGljXG4gIHB1YmxpYyByZWFkb25seSBzbnNBY3Rpb246IGNsb3Vkd2F0Y2hBY3Rpb25zLlNuc0FjdGlvblxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNsYWNrQWxhcm1Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIHRoaXMuYWxhcm1Ub3BpYyA9IG5ldyBzbnMuVG9waWModGhpcywgXCJUb3BpY1wiKVxuXG4gICAgdGhpcy5zbnNBY3Rpb24gPSBuZXcgY2xvdWR3YXRjaEFjdGlvbnMuU25zQWN0aW9uKHRoaXMuYWxhcm1Ub3BpYylcblxuICAgIGNvbnN0IHNsYWNrTGFtYmRhID0gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCBcIkZ1bmN0aW9uXCIsIHtcbiAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChcbiAgICAgICAgcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLi8uLi9hc3NldHMvc2xhY2stYWxhcm0tbGFtYmRhXCIpLFxuICAgICAgKSxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIlJlY2VpdmVzIENsb3VkV2F0Y2ggQWxhcm1zIHRocm91Z2ggU05TIGFuZCBzZW5kcyBhIGZvcm1hdHRlZCB2ZXJzaW9uIHRvIFNsYWNrXCIsXG4gICAgICBoYW5kbGVyOiBcImluZGV4LmhhbmRsZXJcIixcbiAgICAgIG1lbW9yeVNpemU6IDEyOCxcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzgsXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDYpLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgU0xBQ0tfVVJMOiBwcm9wcy5zbGFja1VybCxcbiAgICAgICAgU0xBQ0tfQ0hBTk5FTDogcHJvcHMuc2xhY2tDaGFubmVsLFxuICAgICAgICBQUk9KRUNUX05BTUU6IHByb3BzLnByb2plY3ROYW1lLFxuICAgICAgICBFTlZJUk9OTUVOVF9OQU1FOiBwcm9wcy5lbnZOYW1lLFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgc2xhY2tMYW1iZGEuYWRkUGVybWlzc2lvbihcIkludm9rZVBlcm1pc3Npb25cIiwge1xuICAgICAgYWN0aW9uOiBcImxhbWJkYTpJbnZva2VGdW5jdGlvblwiLFxuICAgICAgcHJpbmNpcGFsOiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoXCJzbnMuYW1hem9uYXdzLmNvbVwiKSxcbiAgICAgIHNvdXJjZUFybjogdGhpcy5hbGFybVRvcGljLnRvcGljQXJuLFxuICAgIH0pXG5cbiAgICBuZXcgc25zLlN1YnNjcmlwdGlvbih0aGlzLCBcIlN1YnNjcmlwdGlvblwiLCB7XG4gICAgICBlbmRwb2ludDogc2xhY2tMYW1iZGEuZnVuY3Rpb25Bcm4sXG4gICAgICBwcm90b2NvbDogc25zLlN1YnNjcmlwdGlvblByb3RvY29sLkxBTUJEQSxcbiAgICAgIHRvcGljOiB0aGlzLmFsYXJtVG9waWMsXG4gICAgfSlcbiAgfVxufVxuIl19
|
package/lib/bastion-host.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
1
|
+
import * as constructs from "constructs";
|
|
2
|
+
import * as ec2 from "aws-cdk-lib/aws-ec2";
|
|
3
3
|
interface Props {
|
|
4
4
|
vpc: ec2.IVpc;
|
|
5
5
|
/**
|
|
@@ -34,8 +34,8 @@ interface Props {
|
|
|
34
34
|
* For more internal details, see
|
|
35
35
|
* https://confluence.capraconsulting.no/x/q8UBC
|
|
36
36
|
*/
|
|
37
|
-
export declare class BastionHost extends
|
|
37
|
+
export declare class BastionHost extends constructs.Construct {
|
|
38
38
|
readonly securityGroup: ec2.ISecurityGroup;
|
|
39
|
-
constructor(scope:
|
|
39
|
+
constructor(scope: constructs.Construct, id: string, props: Props);
|
|
40
40
|
}
|
|
41
41
|
export {};
|
package/lib/bastion-host.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BastionHost = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
4
|
+
const constructs = require("constructs");
|
|
5
|
+
const ec2 = require("aws-cdk-lib/aws-ec2");
|
|
6
|
+
const iam = require("aws-cdk-lib/aws-iam");
|
|
7
|
+
const cdk = require("aws-cdk-lib");
|
|
7
8
|
/**
|
|
8
9
|
* This creates a EC2 bastion host that can be used to connect
|
|
9
10
|
* to database instances and other internal resources.
|
|
@@ -17,7 +18,7 @@ const cdk = require("@aws-cdk/core");
|
|
|
17
18
|
* For more internal details, see
|
|
18
19
|
* https://confluence.capraconsulting.no/x/q8UBC
|
|
19
20
|
*/
|
|
20
|
-
class BastionHost extends
|
|
21
|
+
class BastionHost extends constructs.Construct {
|
|
21
22
|
constructor(scope, id, props) {
|
|
22
23
|
var _a, _b;
|
|
23
24
|
super(scope, id);
|
|
@@ -82,4 +83,4 @@ class BastionHost extends cdk.Construct {
|
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
85
|
exports.BastionHost = BastionHost;
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzdGlvbi1ob3N0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Jhc3Rpb24taG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBd0M7QUFDeEMsMkNBQTBDO0FBQzFDLDJDQUEwQztBQUMxQyxtQ0FBa0M7QUF3QmxDOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQWEsV0FBWSxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBR25ELFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBWTs7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUE7UUFFeEMsSUFBSSxDQUFDLGFBQWE7WUFDaEIsTUFBQSxLQUFLLENBQUMsYUFBYSxtQ0FDbkIsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7Z0JBQzNDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRzthQUNmLENBQUMsQ0FBQTtRQUVKLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ2xELEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLFVBQVUsRUFBRSxNQUFBLEtBQUssQ0FBQyxlQUFlLG1DQUFJO2dCQUNuQyxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNO2FBQ2xDO1lBQ0QsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLFlBQVksRUFBRSxTQUFTO1lBQ3ZCLFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FDL0IsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQ3BCLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN0QjtZQUNELFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDO2dCQUMvQyxVQUFVLEVBQUUsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGNBQWM7YUFDckQsQ0FBQztTQUNILENBQUMsQ0FBQTtRQUVGLFFBQVEsQ0FBQyxXQUFXLENBQ2xCLHFDQUFxQyxNQUFNLG9GQUFvRixDQUNoSSxDQUFBO1FBRUQsZUFBZTtRQUNmLFFBQVEsQ0FBQyxlQUFlO1FBQ3RCLDZDQUE2QztRQUM3QywwQ0FBMEM7UUFDMUMsRUFBRTtRQUNGLGlFQUFpRTtRQUNqRSxrRUFBa0U7UUFDbEUsbUVBQW1FO1FBQ25FLDJEQUEyRDtRQUMzRCxFQUFFO1FBQ0YsOERBQThEO1FBQzlELG9HQUFvRztRQUNwRyxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDdEIsT0FBTyxFQUFFO2dCQUNQLDJHQUEyRztnQkFDM0csK0VBQStFO2dCQUMvRSw4QkFBOEI7Z0JBQzlCLCtCQUErQjtnQkFDL0IsaUJBQWlCO2dCQUNqQixrQkFBa0I7Z0JBQ2xCLHFDQUFxQztnQkFDckMsMkdBQTJHO2dCQUMzRyxrQ0FBa0M7Z0JBQ2xDLCtCQUErQjtnQkFDL0IsZ0NBQWdDO2dCQUNoQyw2QkFBNkI7Z0JBQzdCLDBGQUEwRjtnQkFDMUYsZ0NBQWdDO2dCQUNoQywyQkFBMkI7Z0JBQzNCLHlCQUF5QjtnQkFDekIseUJBQXlCO2dCQUN6Qix5QkFBeUI7Z0JBQ3pCLHVCQUF1QjthQUN4QjtZQUNELDhDQUE4QztZQUM5QyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7U0FDakIsQ0FBQyxDQUNILENBQUE7UUFFRCxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLG1CQUFtQixFQUFFO1lBQzNDLEtBQUssRUFBRSxRQUFRLENBQUMsVUFBVTtTQUMzQixDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0Y7QUE3RUQsa0NBNkVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgKiBhcyBlYzIgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIlxuaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCJcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIlxuXG5pbnRlcmZhY2UgUHJvcHMge1xuICB2cGM6IGVjMi5JVnBjXG4gIC8qKlxuICAgKiBUaGUgc2VjdXJpdHkgZ3JvdXAgdXNlZCBmb3IgdGhlIEVDMiBpbnN0YW5jZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhIHNlY3VyaXR5IGdyb3VwIHdpbGwgYmUgY3JlYXRlZFxuICAgKi9cbiAgc2VjdXJpdHlHcm91cD86IGVjMi5JU2VjdXJpdHlHcm91cFxuICAvKipcbiAgICogVGhlIHN1Ym5ldHMgdG8gcGxhY2UgdGhlIGJhc3Rpb24gaG9zdC5cbiAgICpcbiAgICogTm90ZSB0aGF0IGlmIHBsYWNlZCBpbnNpZGUgcHJpdmF0ZSBzdWJuZXQsIHRoZSBWUEMgbXVzdCBoYXZlXG4gICAqIFZQQyBlbmRwb2ludHMgdG8gYWNjZXNzIHJlbGV2YW50IEFXUyBzZXJ2aWNlcyBmb3IgU3lzdGVtcyBNYW5hZ2VyXG4gICAqIHRvIHdvcmsgaW4gb3JkZXIgdG8gYmUgYWJsZSB0byBjb25uZWN0IHRvIHRoZSBpbnN0YW5jZS5cbiAgICpcbiAgICogU2VlIGh0dHBzOi8vYXdzLmFtYXpvbi5jb20vcHJlbWl1bXN1cHBvcnQva25vd2xlZGdlLWNlbnRlci9lYzItc3lzdGVtcy1tYW5hZ2VyLXZwYy1lbmRwb2ludHMvXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcHVibGljIHN1Ym5ldHNcbiAgICovXG4gIHN1Ym5ldFNlbGVjdGlvbj86IGVjMi5TdWJuZXRTZWxlY3Rpb25cbn1cblxuLyoqXG4gKiBUaGlzIGNyZWF0ZXMgYSBFQzIgYmFzdGlvbiBob3N0IHRoYXQgY2FuIGJlIHVzZWQgdG8gY29ubmVjdFxuICogdG8gZGF0YWJhc2UgaW5zdGFuY2VzIGFuZCBvdGhlciBpbnRlcm5hbCByZXNvdXJjZXMuXG4gKlxuICogVGhlIGluc3RhbmNlIGlzIHN1cHBvc2VkIHRvIGhhdmUgbm8gb3BlbiBpbmdyZXNzIHBvcnRzLCBhbmQgdXNlcnNcbiAqIGFyZSBzdXBwb3NlZCB0byBjb25uZWN0IG9ubHkgdGhyb3VnaCBTU00gU2Vzc2lvbiBNYW5hZ2VyLlxuICpcbiAqIFRoZSByZXNvdXJjZXMgdGhhdCB0aGUgYmFzdGlvbiBob3N0IHNob3VsZCBiZSBhbGxvd2VkIHRvIGFjY2Vzc1xuICogbXVzdCBoYXZlIHRoZSBiYXN0aW9uIGhvc3Qgc2VjdXJpdHkgZ3JvdXAgYXMgYWxsb3dlZCBpbmdyZXNzLlxuICpcbiAqIEZvciBtb3JlIGludGVybmFsIGRldGFpbHMsIHNlZVxuICogaHR0cHM6Ly9jb25mbHVlbmNlLmNhcHJhY29uc3VsdGluZy5uby94L3E4VUJDXG4gKi9cbmV4cG9ydCBjbGFzcyBCYXN0aW9uSG9zdCBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXA6IGVjMi5JU2VjdXJpdHlHcm91cFxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgY29uc3QgcmVnaW9uID0gY2RrLlN0YWNrLm9mKHRoaXMpLnJlZ2lvblxuXG4gICAgdGhpcy5zZWN1cml0eUdyb3VwID1cbiAgICAgIHByb3BzLnNlY3VyaXR5R3JvdXAgPz9cbiAgICAgIG5ldyBlYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBcIlNlY3VyaXR5R3JvdXBcIiwge1xuICAgICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIH0pXG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBlYzIuSW5zdGFuY2UodGhpcywgXCJJbnN0YW5jZVwiLCB7XG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHByb3BzLnN1Ym5ldFNlbGVjdGlvbiA/PyB7XG4gICAgICAgIHN1Ym5ldFR5cGU6IGVjMi5TdWJuZXRUeXBlLlBVQkxJQyxcbiAgICAgIH0sXG4gICAgICBzZWN1cml0eUdyb3VwOiB0aGlzLnNlY3VyaXR5R3JvdXAsXG4gICAgICBpbnN0YW5jZU5hbWU6IFwiQmFzdGlvblwiLFxuICAgICAgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlLm9mKFxuICAgICAgICBlYzIuSW5zdGFuY2VDbGFzcy5UMyxcbiAgICAgICAgZWMyLkluc3RhbmNlU2l6ZS5OQU5PLFxuICAgICAgKSxcbiAgICAgIG1hY2hpbmVJbWFnZTogZWMyLk1hY2hpbmVJbWFnZS5sYXRlc3RBbWF6b25MaW51eCh7XG4gICAgICAgIGdlbmVyYXRpb246IGVjMi5BbWF6b25MaW51eEdlbmVyYXRpb24uQU1BWk9OX0xJTlVYXzIsXG4gICAgICB9KSxcbiAgICB9KVxuXG4gICAgaW5zdGFuY2UuYWRkVXNlckRhdGEoXG4gICAgICBgeXVtIGluc3RhbGwgLXkgaHR0cHM6Ly9hbWF6b24tc3NtLSR7cmVnaW9ufS5zMy5hbWF6b25hd3MuY29tL2xhdGVzdC9saW51eF9hbWQ2NC9hbWF6b24tc3NtLWFnZW50LnJwbSBzb2NhdCBwb3N0Z3Jlc3FsIG1hcmlhZGJgLFxuICAgIClcblxuICAgIC8vIFNTTSBzdXBwb3J0LlxuICAgIGluc3RhbmNlLmFkZFRvUm9sZVBvbGljeShcbiAgICAgIC8vIFRoaXMgbWltaWNzIHRoZSBBbWF6b25FQzJSb2xlZm9yU1NNIHBvbGljeVxuICAgICAgLy8gd2hpbGUgZ3JhbnRpbmcgbGVhc3QgcHJpdmlsZWdlcyBuZWVkZWQuXG4gICAgICAvL1xuICAgICAgLy8gVGhlIGRlZmF1bHQgQW1hem9uRUMyUm9sZWZvclNTTSBwb2xpY3kgZ2l2ZXMgcmVhZC93cml0ZSBhY2Nlc3NcbiAgICAgIC8vIHRvIGFsbCBvYmplY3RzIGluIFMzLCBhbGwgcGFyYW1ldGVycyBpbiBQYXJhbWV0ZXIgU3RvcmUsIGFtb3VuZ1xuICAgICAgLy8gbW9yZS4gV2UgcHJpbWFyaWx5IHVzZSB0aGUgU1NNIGFnZW50IGZvciBsaW1pdGVkIHJlbW90ZSBjb250cm9sLFxuICAgICAgLy8gYW5kIHRoZSBwb2xpY3kgaGVyZSBjb3ZlcnMgdGhhdCBhcyB0aGUgcHJpbWFyeSB1c2UgY2FzZS5cbiAgICAgIC8vXG4gICAgICAvLyBTZWUgaHR0cHM6Ly93d3cuY2ZsZWUuY29tL3Bvc3RzL2F3cy1zc20taWFtLXBvbGljeS1jYXZlYXRzL1xuICAgICAgLy8gU2VlIGFsc28gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3N5c3RlbXMtbWFuYWdlci9sYXRlc3QvdXNlcmd1aWRlL3NldHVwLWluc3RhbmNlLXByb2ZpbGUuaHRtbFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3N5c3RlbXMtbWFuYWdlci9sYXRlc3QvdXNlcmd1aWRlL3N5c3RlbXMtbWFuYWdlci1zZXR0aW5nLXVwLW1lc3NhZ2VBUElzLmh0bWxcbiAgICAgICAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvbGlzdF9hd3NzeXN0ZW1zbWFuYWdlci5odG1sXG4gICAgICAgICAgXCJzc206TGlzdEluc3RhbmNlQXNzb2NpYXRpb25zXCIsXG4gICAgICAgICAgXCJzc206VXBkYXRlSW5zdGFuY2VJbmZvcm1hdGlvblwiLFxuICAgICAgICAgIFwic3NtOkdldERvY3VtZW50XCIsXG4gICAgICAgICAgXCJzc206UHV0SW52ZW50b3J5XCIsXG4gICAgICAgICAgXCJzc206VXBkYXRlSW5zdGFuY2VBc3NvY2lhdGlvblN0YXR1c1wiLFxuICAgICAgICAgIC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zeXN0ZW1zLW1hbmFnZXIvbGF0ZXN0L3VzZXJndWlkZS9zeXN0ZW1zLW1hbmFnZXItc2V0dGluZy11cC1tZXNzYWdlQVBJcy5odG1sXG4gICAgICAgICAgXCJzc21tZXNzYWdlczpDcmVhdGVDb250cm9sQ2hhbm5lbFwiLFxuICAgICAgICAgIFwic3NtbWVzc2FnZXM6Q3JlYXRlRGF0YUNoYW5uZWxcIixcbiAgICAgICAgICBcInNzbW1lc3NhZ2VzOk9wZW5Db250cm9sQ2hhbm5lbFwiLFxuICAgICAgICAgIFwic3NtbWVzc2FnZXM6T3BlbkRhdGFDaGFubmVsXCIsXG4gICAgICAgICAgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL2xpc3RfYW1hem9ubWVzc2FnZWRlbGl2ZXJ5c2VydmljZS5odG1sXG4gICAgICAgICAgXCJlYzJtZXNzYWdlczpBY2tub3dsZWRnZU1lc3NhZ2VcIixcbiAgICAgICAgICBcImVjMm1lc3NhZ2VzOkRlbGV0ZU1lc3NhZ2VcIixcbiAgICAgICAgICBcImVjMm1lc3NhZ2VzOkZhaWxNZXNzYWdlXCIsXG4gICAgICAgICAgXCJlYzJtZXNzYWdlczpHZXRFbmRwb2ludFwiLFxuICAgICAgICAgIFwiZWMybWVzc2FnZXM6R2V0TWVzc2FnZXNcIixcbiAgICAgICAgICBcImVjMm1lc3NhZ2VzOlNlbmRSZXBseVwiLFxuICAgICAgICBdLFxuICAgICAgICAvLyBTZWVtcyB0aGlzIGlzIG5lZWRlZCBmb3IgdGhlIGdpdmVuIGFjdGlvbnMuXG4gICAgICAgIHJlc291cmNlczogW1wiKlwiXSxcbiAgICAgIH0pLFxuICAgIClcblxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiQmFzdGlvbkluc3RhbmNlSWRcIiwge1xuICAgICAgdmFsdWU6IGluc3RhbmNlLmluc3RhbmNlSWQsXG4gICAgfSlcbiAgfVxufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as constructs from "constructs";
|
|
2
2
|
interface Props {
|
|
3
3
|
/**
|
|
4
4
|
* The name to use for the S3 Bucket. Should include both account and region
|
|
@@ -52,10 +52,10 @@ interface Props {
|
|
|
52
52
|
*
|
|
53
53
|
* @experimental
|
|
54
54
|
*/
|
|
55
|
-
export declare class BuildArtifacts extends
|
|
55
|
+
export declare class BuildArtifacts extends constructs.Construct {
|
|
56
56
|
readonly bucketName: string | undefined;
|
|
57
57
|
readonly ecrRepositoryArn: string;
|
|
58
58
|
readonly ecrRepositoryName: string;
|
|
59
|
-
constructor(scope:
|
|
59
|
+
constructor(scope: constructs.Construct, id: string, props: Props);
|
|
60
60
|
}
|
|
61
61
|
export {};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BuildArtifacts = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
4
|
+
const constructs = require("constructs");
|
|
5
|
+
const ecr = require("aws-cdk-lib/aws-ecr");
|
|
6
|
+
const iam = require("aws-cdk-lib/aws-iam");
|
|
7
|
+
const s3 = require("aws-cdk-lib/aws-s3");
|
|
8
|
+
const cdk = require("aws-cdk-lib");
|
|
8
9
|
const griid_1 = require("../griid");
|
|
9
10
|
/**
|
|
10
11
|
* Build artifacts.
|
|
@@ -18,7 +19,7 @@ const griid_1 = require("../griid");
|
|
|
18
19
|
*
|
|
19
20
|
* @experimental
|
|
20
21
|
*/
|
|
21
|
-
class BuildArtifacts extends
|
|
22
|
+
class BuildArtifacts extends constructs.Construct {
|
|
22
23
|
constructor(scope, id, props) {
|
|
23
24
|
var _a;
|
|
24
25
|
super(scope, id);
|
|
@@ -107,4 +108,4 @@ class BuildArtifacts extends cdk.Construct {
|
|
|
107
108
|
}
|
|
108
109
|
}
|
|
109
110
|
exports.BuildArtifacts = BuildArtifacts;
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQtYXJ0aWZhY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdDQUF1QztBQUN2Qyx3Q0FBdUM7QUFDdkMsc0NBQXFDO0FBQ3JDLHFDQUFvQztBQUNwQyxvQ0FBeUM7QUE0Q3pDOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsR0FBRyxDQUFDLFNBQVM7SUFLL0MsWUFBWSxLQUFvQixFQUFFLEVBQVUsRUFBRSxLQUFZOztRQUN4RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQTtRQUNsQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFBO1FBQ2hELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FDcEM7WUFDRSxPQUFPLEVBQUUsS0FBSztZQUNkLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFlBQVksRUFBRSxJQUFJLENBQUMsaUJBQWlCO1NBQ3JDLEVBQ0QsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQ25CLENBQUE7UUFFRCxNQUFNLGVBQWUsR0FDbkIsTUFBQSxLQUFLLENBQUMsZUFBZSxtQ0FDckIsaUZBQWlGLENBQUE7UUFFbkYsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUE7UUFFakQsSUFBSSxNQUFNLEdBQTBCLFNBQVMsQ0FBQTtRQUU3QyxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDcEIsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUN2QyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7Z0JBQzVCLFVBQVUsRUFBRSxFQUFFLENBQUMs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R0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO2dCQUNwQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFVBQVU7YUFDekIsQ0FBQyxDQUFBO1NBQ0g7UUFFRCxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUNuQyxLQUFLLEVBQUUsTUFBTSxDQUFDLE9BQU87YUFDdEIsQ0FBQyxDQUFBO1NBQ0g7SUFDSCxDQUFDO0NBQ0Y7QUFqSEQsd0NBaUhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZWNyIGZyb20gXCJAYXdzLWNkay9hd3MtZWNyXCJcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiQGF3cy1jZGsvYXdzLWlhbVwiXG5pbXBvcnQgKiBhcyBzMyBmcm9tIFwiQGF3cy1jZGsvYXdzLXMzXCJcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiQGF3cy1jZGsvY29yZVwiXG5pbXBvcnQgeyBnZXRHcmlpZENpUm9sZSB9IGZyb20gXCIuLi9ncmlpZFwiXG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSB0byB1c2UgZm9yIHRoZSBTMyBCdWNrZXQuIFNob3VsZCBpbmNsdWRlIGJvdGggYWNjb3VudCBhbmQgcmVnaW9uXG4gICAqIHNvIHRoYXQgaXQgd2lsbCBub3QgY29uZmxpY3Qgd2l0aCBvdGhlciBhY2NvdW50cy9yZWdpb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGJ1Y2tldCB3aWxsIGJlIGNyZWF0ZWRcbiAgICovXG4gIGJ1Y2tldE5hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBuYW1lIHRvIHVzZSBmb3IgdGhlIEVDUiBSZXBvc2l0b3J5LlxuICAgKi9cbiAgZWNyUmVwb3NpdG9yeU5hbWU6IHN0cmluZ1xuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBJQU0gUm9sZSB0aGF0IHdpbGwgYmUgZ3JhbnRlZCBwZXJtaXNzaW9uIHRvXG4gICAqIGFzc3VtZSB0aGUgQ0kgcm9sZS4gVGhpcyByb2xlIG11c3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFzc3VtZVxuICAgKiB0aGUgQ0kgcm9sZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1c2UgTGlmbGlnIEplbmtpbnMgcm9sZVxuICAgKi9cbiAgZXh0ZXJuYWxSb2xlQXJuPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcm9sZSB0aGF0IHdpbGwgYmUgY3JlYXRlZCB0aGF0IHdpbGwgYmUgYXNzdW1lZFxuICAgKiBmcm9tIHRoZSBDSSBzeXN0ZW0uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcm9sZSB3aWxsIGJlIGNyZWF0ZWRcbiAgICovXG4gIGNpUm9sZU5hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBBV1MgQWNjb3VudHMgdGhhdCB3aWxsIGJlIGdyYW50ZWQgcGVybWlzc2lvbiB0byByZWFkIGZyb21cbiAgICogdGhlIGFydGlmYWN0IHJlcG9zLlxuICAgKi9cbiAgdGFyZ2V0QWNjb3VudElkczogc3RyaW5nW11cbiAgLyoqXG4gICAqIEZsYWcgaWYgR3JpaWQgaXMgYm9vdHN0cmFwcGVkIGFuZCB0aGUgYWNjb3VudCB0aGlzIGNvbnN0cnVjdCBpc1xuICAgKiBkZXBsb3llZCB0byBpcyB0aGUgYnVpbGQgYWNjb3VudC4gV2lsbCBhdHRhY2ggcG9saWNpZXMgYW5kXG4gICAqIHJlZmVyZW5jZSBleGlzdGluZyBhcnRpZmFjdHMgYW5kIHJvbGVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgZ3JpaWQ/OiBib29sZWFuXG59XG5cbi8qKlxuICogQnVpbGQgYXJ0aWZhY3RzLlxuICpcbiAqIFRoaXMgaG9sZHMgYSBTMyBCdWNrZXQsIGEgRUNSIFJlcG9zaXRvcnkgYW5kIHJvbGVzIHRvIGJlIHVzZWRcbiAqIGZyb20gQ0kgc3lzdGVtIGZvciB1cGxvYWRpbmcuXG4gKlxuICogVE9ETzogSG93IGNhbiB3ZSBjbGVhbnVwIHN0dWZmIHRoYXQgZ29lcyBpbnRvIHRoaXMgUzMgQnVja2V0IGFuZFxuICogIEVDUiBSZXBvc2l0b3J5PyBDYW4gd2UgZXZlciByZWxpYWJseSBjbGVhbnVwPyBXZSBwcm9iYWJseSBuZWVkXG4gKiAgc29tZSBzdHJhdGVneSBmb3IgaG93IHdlIHB1dCBzdHVmZiBoZXJlIHRvIGJlIGFibGUgdG8gZG8gaXQuXG4gKlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgY2xhc3MgQnVpbGRBcnRpZmFjdHMgZXh0ZW5kcyBjZGsuQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgYnVja2V0TmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkXG4gIHJlYWRvbmx5IGVjclJlcG9zaXRvcnlBcm46IHN0cmluZ1xuICByZWFkb25seSBlY3JSZXBvc2l0b3J5TmFtZTogc3RyaW5nXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNkay5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIHRoaXMuYnVja2V0TmFtZSA9IHByb3BzLmJ1Y2tldE5hbWVcbiAgICB0aGlzLmVjclJlcG9zaXRvcnlOYW1lID0gcHJvcHMuZWNyUmVwb3NpdG9yeU5hbWVcbiAgICB0aGlzLmVjclJlcG9zaXRvcnlBcm4gPSBjZGsuQXJuLmZvcm1hdChcbiAgICAgIHtcbiAgICAgICAgc2VydmljZTogXCJlY3JcIixcbiAgICAgICAgcmVzb3VyY2U6IFwicmVwb3NpdG9yeVwiLFxuICAgICAgICByZXNvdXJjZU5hbWU6IHRoaXMuZWNyUmVwb3NpdG9yeU5hbWUsXG4gICAgICB9LFxuICAgICAgY2RrLlN0YWNrLm9mKHRoaXMpLFxuICAgIClcblxuICAgIGNvbnN0IGV4dGVybmFsUm9sZUFybiA9XG4gICAgICBwcm9wcy5leHRlcm5hbFJvbGVBcm4gPz9cbiAgICAgIFwiYXJuOmF3czppYW06OjkyMzQwMjA5NzA0Njpyb2xlL2J1aWxkdG9vbHMtamVua2lucy1Sb2xlSmVua2luc1NsYXZlLUpRR1lIUjVXRTZDNVwiXG5cbiAgICBjb25zdCBlY3JSZXBvc2l0b3J5TmFtZSA9IHByb3BzLmVjclJlcG9zaXRvcnlOYW1lXG5cbiAgICBsZXQgYnVja2V0OiBzMy5CdWNrZXQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcblxuICAgIGlmIChwcm9wcy5idWNrZXROYW1lKSB7XG4gICAgICBidWNrZXQgPSBuZXcgczMuQnVja2V0KHRoaXMsIFwiUzNCdWNrZXRcIiwge1xuICAgICAgICBidWNrZXROYW1lOiBwcm9wcy5idWNrZXROYW1lLFxuICAgICAgICBlbmNyeXB0aW9uOiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBzMy5CbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICAgIHZlcnNpb25lZDogdHJ1ZSxcbiAgICAgICAgbGlmZWN5Y2xlUnVsZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBub25jdXJyZW50VmVyc2lvbkV4cGlyYXRpb246IGNkay5EdXJhdGlvbi5kYXlzKDEwKSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBjb25zdCBjaVJvbGU6IGlhbS5Sb2xlIHwgdW5kZWZpbmVkID0gcHJvcHMuY2lSb2xlTmFtZVxuICAgICAgPyBuZXcgaWFtLlJvbGUodGhpcywgXCJDaVJvbGVcIiwge1xuICAgICAgICAgIHJvbGVOYW1lOiBwcm9wcy5jaVJvbGVOYW1lLFxuICAgICAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5Bcm5QcmluY2lwYWwoZXh0ZXJuYWxSb2xlQXJuKSxcbiAgICAgICAgfSlcbiAgICAgIDogdW5kZWZpbmVkXG5cbiAgICBjb25zdCBncmlpZENpUm9sZTogaWFtLklSb2xlIHwgdW5kZWZpbmVkID0gcHJvcHMuZ3JpaWRcbiAgICAgID8gZ2V0R3JpaWRDaVJvbGUodGhpcylcbiAgICAgIDogdW5kZWZpbmVkXG5cbiAgICBpZiAoYnVja2V0ICYmIGNpUm9sZSkge1xuICAgICAgYnVja2V0LmdyYW50UmVhZFdyaXRlKGNpUm9sZSlcbiAgICB9XG5cbiAgICBpZiAoYnVja2V0ICYmIGdyaWlkQ2lSb2xlKSB7XG4gICAgICBidWNrZXQuZ3JhbnRSZWFkV3JpdGUoZ3JpaWRDaVJvbGUpXG4gICAgfVxuXG4gICAgY29uc3QgZWNyUmVwbyA9IG5ldyBlY3IuUmVwb3NpdG9yeSh0aGlzLCBcIkVjclJlcG9zaXRvcnlcIiwge1xuICAgICAgcmVwb3NpdG9yeU5hbWU6IGVjclJlcG9zaXRvcnlOYW1lLFxuICAgIH0pXG5cbiAgICBpZiAoY2lSb2xlKSB7XG4gICAgICBlY3JSZXBvLmdyYW50UHVsbFB1c2goY2lSb2xlKVxuICAgIH1cblxuICAgIGlmIChncmlpZENpUm9sZSkge1xuICAgICAgZWNyUmVwby5ncmFudFB1bGxQdXNoKGdyaWlkQ2lSb2xlKVxuICAgIH1cblxuICAgIC8vIEFsbG93IGEgdGFyZ2V0IHRvIHJlYWQgZnJvbSB0aGUgcmVwb3MuIEFzIGFueSBzcGVjaWZpYyByb2xlcyBuZWVkXG4gICAgLy8gdG8gZXhpc3QgYmVmb3JlIHdlIGNhbiBncmFudCBhY2Nlc3MsIHdlIGRlbGVnYXRlIHRoYXQgcmVzcG9uc2liaWxpdHlcbiAgICAvLyB0byB0aGUgdGFyZ2V0IGFjY291bnQuXG4gICAgZm9yIChjb25zdCB0YXJnZXRBY2NvdW50SWQgb2YgcHJvcHMudGFyZ2V0QWNjb3VudElkcykge1xuICAgICAgaWYgKGJ1Y2tldCkge1xuICAgICAgICBidWNrZXQuZ3JhbnRSZWFkKG5ldyBpYW0uQWNjb3VudFByaW5jaXBhbCh0YXJnZXRBY2NvdW50SWQpKVxuICAgICAgfVxuICAgICAgZWNyUmVwby5ncmFudFB1bGwobmV3IGlhbS5BY2NvdW50UHJpbmNpcGFsKHRhcmdldEFjY291bnRJZCkpXG4gICAgfVxuXG4gICAgLy8gR3JhbnQgcGVybWlzc2lvbnMgdG8gd3JpdGUgcGlwZWxpbmUgdmFyaWFibGVzLlxuICAgIGlmIChjaVJvbGUgfHwgZ3JpaWRDaVJvbGUpIHtcbiAgICAgIGNvbnN0IGFjY291bnQgPSBjZGsuU3RhY2sub2YodGhpcykuYWNjb3VudFxuICAgICAgY29uc3QgcmVnaW9uID0gY2RrLlN0YWNrLm9mKHRoaXMpLnJlZ2lvblxuICAgICAgY29uc3Qgc3RhdGVtZW50ID0gbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXCJzc206UHV0UGFyYW1ldGVyXCJdLFxuICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICBgYXJuOmF3czpzc206JHtyZWdpb259OiR7YWNjb3VudH06cGFyYW1ldGVyL2xpZmxpZy1jZGsvKi9waXBlbGluZS12YXJpYWJsZXMvKmAsXG4gICAgICAgIF0sXG4gICAgICB9KVxuXG4gICAgICBjaVJvbGU/LmdyYW50UHJpbmNpcGFsLmFkZFRvUHJpbmNpcGFsUG9saWN5KHN0YXRlbWVudClcbiAgICAgIGdyaWlkQ2lSb2xlPy5ncmFudFByaW5jaXBhbC5hZGRUb1ByaW5jaXBhbFBvbGljeShzdGF0ZW1lbnQpXG4gICAgfVxuXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgXCJFY3JSZXBvVXJpXCIsIHtcbiAgICAgIHZhbHVlOiBlY3JSZXBvLnJlcG9zaXRvcnlVcmksXG4gICAgfSlcblxuICAgIGlmIChidWNrZXQpIHtcbiAgICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiQnVja2V0TmFtZVwiLCB7XG4gICAgICAgIHZhbHVlOiBidWNrZXQuYnVja2V0TmFtZSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGNpUm9sZSkge1xuICAgICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgXCJDaVJvbGVBcm5cIiwge1xuICAgICAgICB2YWx1ZTogY2lSb2xlLnJvbGVBcm4sXG4gICAgICB9KVxuICAgIH1cbiAgfVxufVxuIl19
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQtYXJ0aWZhY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF3QztBQUN4QywyQ0FBMEM7QUFDMUMsMkNBQTBDO0FBQzFDLHlDQUF3QztBQUN4QyxtQ0FBa0M7QUFDbEMsb0NBQXlDO0FBNEN6Qzs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQWEsY0FBZSxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBS3RELFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBWTs7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUE7UUFDbEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQTtRQUNoRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQ3BDO1lBQ0UsT0FBTyxFQUFFLEtBQUs7WUFDZCxRQUFRLEVBQUUsWUFBWTtZQUN0QixZQUFZLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtTQUNyQyxFQUNELEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUNuQixDQUFBO1FBRUQsTUFBTSxlQUFlLEdBQ25CLE1BQUEsS0FBSyxDQUFDLGVBQWUsbUNBQ3JCLGlGQUFpRixDQUFBO1FBRW5GLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFBO1FBRWpELElBQUksTUFBTSxHQUEwQixTQUFTLENBQUE7UUFFN0MsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDdkMsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO2dCQUM1QixVQUFVLEVB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QUU7WUFDVixJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtnQkFDcEMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxVQUFVO2FBQ3pCLENBQUMsQ0FBQTtTQUNIO1FBRUQsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDbkMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxPQUFPO2FBQ3RCLENBQUMsQ0FBQTtTQUNIO0lBQ0gsQ0FBQztDQUNGO0FBakhELHdDQWlIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0ICogYXMgZWNyIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNyXCJcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiXG5pbXBvcnQgKiBhcyBzMyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCJcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0IHsgZ2V0R3JpaWRDaVJvbGUgfSBmcm9tIFwiLi4vZ3JpaWRcIlxuXG5pbnRlcmZhY2UgUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgdG8gdXNlIGZvciB0aGUgUzMgQnVja2V0LiBTaG91bGQgaW5jbHVkZSBib3RoIGFjY291bnQgYW5kIHJlZ2lvblxuICAgKiBzbyB0aGF0IGl0IHdpbGwgbm90IGNvbmZsaWN0IHdpdGggb3RoZXIgYWNjb3VudHMvcmVnaW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBidWNrZXQgd2lsbCBiZSBjcmVhdGVkXG4gICAqL1xuICBidWNrZXROYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgbmFtZSB0byB1c2UgZm9yIHRoZSBFQ1IgUmVwb3NpdG9yeS5cbiAgICovXG4gIGVjclJlcG9zaXRvcnlOYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgSUFNIFJvbGUgdGhhdCB3aWxsIGJlIGdyYW50ZWQgcGVybWlzc2lvbiB0b1xuICAgKiBhc3N1bWUgdGhlIENJIHJvbGUuIFRoaXMgcm9sZSBtdXN0IGhhdmUgcGVybWlzc2lvbiB0byBhc3N1bWVcbiAgICogdGhlIENJIHJvbGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdXNlIExpZmxpZyBKZW5raW5zIHJvbGVcbiAgICovXG4gIGV4dGVybmFsUm9sZUFybj86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJvbGUgdGhhdCB3aWxsIGJlIGNyZWF0ZWQgdGhhdCB3aWxsIGJlIGFzc3VtZWRcbiAgICogZnJvbSB0aGUgQ0kgc3lzdGVtLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHJvbGUgd2lsbCBiZSBjcmVhdGVkXG4gICAqL1xuICBjaVJvbGVOYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgQVdTIEFjY291bnRzIHRoYXQgd2lsbCBiZSBncmFudGVkIHBlcm1pc3Npb24gdG8gcmVhZCBmcm9tXG4gICAqIHRoZSBhcnRpZmFjdCByZXBvcy5cbiAgICovXG4gIHRhcmdldEFjY291bnRJZHM6IHN0cmluZ1tdXG4gIC8qKlxuICAgKiBGbGFnIGlmIEdyaWlkIGlzIGJvb3RzdHJhcHBlZCBhbmQgdGhlIGFjY291bnQgdGhpcyBjb25zdHJ1Y3QgaXNcbiAgICogZGVwbG95ZWQgdG8gaXMgdGhlIGJ1aWxkIGFjY291bnQuIFdpbGwgYXR0YWNoIHBvbGljaWVzIGFuZFxuICAgKiByZWZlcmVuY2UgZXhpc3RpbmcgYXJ0aWZhY3RzIGFuZCByb2xlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGdyaWlkPzogYm9vbGVhblxufVxuXG4vKipcbiAqIEJ1aWxkIGFydGlmYWN0cy5cbiAqXG4gKiBUaGlzIGhvbGRzIGEgUzMgQnVja2V0LCBhIEVDUiBSZXBvc2l0b3J5IGFuZCByb2xlcyB0byBiZSB1c2VkXG4gKiBmcm9tIENJIHN5c3RlbSBmb3IgdXBsb2FkaW5nLlxuICpcbiAqIFRPRE86IEhvdyBjYW4gd2UgY2xlYW51cCBzdHVmZiB0aGF0IGdvZXMgaW50byB0aGlzIFMzIEJ1Y2tldCBhbmRcbiAqICBFQ1IgUmVwb3NpdG9yeT8gQ2FuIHdlIGV2ZXIgcmVsaWFibHkgY2xlYW51cD8gV2UgcHJvYmFibHkgbmVlZFxuICogIHNvbWUgc3RyYXRlZ3kgZm9yIGhvdyB3ZSBwdXQgc3R1ZmYgaGVyZSB0byBiZSBhYmxlIHRvIGRvIGl0LlxuICpcbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGNsYXNzIEJ1aWxkQXJ0aWZhY3RzIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICByZWFkb25seSBidWNrZXROYW1lOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgcmVhZG9ubHkgZWNyUmVwb3NpdG9yeUFybjogc3RyaW5nXG4gIHJlYWRvbmx5IGVjclJlcG9zaXRvcnlOYW1lOiBzdHJpbmdcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIHRoaXMuYnVja2V0TmFtZSA9IHByb3BzLmJ1Y2tldE5hbWVcbiAgICB0aGlzLmVjclJlcG9zaXRvcnlOYW1lID0gcHJvcHMuZWNyUmVwb3NpdG9yeU5hbWVcbiAgICB0aGlzLmVjclJlcG9zaXRvcnlBcm4gPSBjZGsuQXJuLmZvcm1hdChcbiAgICAgIHtcbiAgICAgICAgc2VydmljZTogXCJlY3JcIixcbiAgICAgICAgcmVzb3VyY2U6IFwicmVwb3NpdG9yeVwiLFxuICAgICAgICByZXNvdXJjZU5hbWU6IHRoaXMuZWNyUmVwb3NpdG9yeU5hbWUsXG4gICAgICB9LFxuICAgICAgY2RrLlN0YWNrLm9mKHRoaXMpLFxuICAgIClcblxuICAgIGNvbnN0IGV4dGVybmFsUm9sZUFybiA9XG4gICAgICBwcm9wcy5leHRlcm5hbFJvbGVBcm4gPz9cbiAgICAgIFwiYXJuOmF3czppYW06OjkyMzQwMjA5NzA0Njpyb2xlL2J1aWxkdG9vbHMtamVua2lucy1Sb2xlSmVua2luc1NsYXZlLUpRR1lIUjVXRTZDNVwiXG5cbiAgICBjb25zdCBlY3JSZXBvc2l0b3J5TmFtZSA9IHByb3BzLmVjclJlcG9zaXRvcnlOYW1lXG5cbiAgICBsZXQgYnVja2V0OiBzMy5CdWNrZXQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcblxuICAgIGlmIChwcm9wcy5idWNrZXROYW1lKSB7XG4gICAgICBidWNrZXQgPSBuZXcgczMuQnVja2V0KHRoaXMsIFwiUzNCdWNrZXRcIiwge1xuICAgICAgICBidWNrZXROYW1lOiBwcm9wcy5idWNrZXROYW1lLFxuICAgICAgICBlbmNyeXB0aW9uOiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBzMy5CbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICAgIHZlcnNpb25lZDogdHJ1ZSxcbiAgICAgICAgbGlmZWN5Y2xlUnVsZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBub25jdXJyZW50VmVyc2lvbkV4cGlyYXRpb246IGNkay5EdXJhdGlvbi5kYXlzKDEwKSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBjb25zdCBjaVJvbGU6IGlhbS5Sb2xlIHwgdW5kZWZpbmVkID0gcHJvcHMuY2lSb2xlTmFtZVxuICAgICAgPyBuZXcgaWFtLlJvbGUodGhpcywgXCJDaVJvbGVcIiwge1xuICAgICAgICAgIHJvbGVOYW1lOiBwcm9wcy5jaVJvbGVOYW1lLFxuICAgICAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5Bcm5QcmluY2lwYWwoZXh0ZXJuYWxSb2xlQXJuKSxcbiAgICAgICAgfSlcbiAgICAgIDogdW5kZWZpbmVkXG5cbiAgICBjb25zdCBncmlpZENpUm9sZTogaWFtLklSb2xlIHwgdW5kZWZpbmVkID0gcHJvcHMuZ3JpaWRcbiAgICAgID8gZ2V0R3JpaWRDaVJvbGUodGhpcylcbiAgICAgIDogdW5kZWZpbmVkXG5cbiAgICBpZiAoYnVja2V0ICYmIGNpUm9sZSkge1xuICAgICAgYnVja2V0LmdyYW50UmVhZFdyaXRlKGNpUm9sZSlcbiAgICB9XG5cbiAgICBpZiAoYnVja2V0ICYmIGdyaWlkQ2lSb2xlKSB7XG4gICAgICBidWNrZXQuZ3JhbnRSZWFkV3JpdGUoZ3JpaWRDaVJvbGUpXG4gICAgfVxuXG4gICAgY29uc3QgZWNyUmVwbyA9IG5ldyBlY3IuUmVwb3NpdG9yeSh0aGlzLCBcIkVjclJlcG9zaXRvcnlcIiwge1xuICAgICAgcmVwb3NpdG9yeU5hbWU6IGVjclJlcG9zaXRvcnlOYW1lLFxuICAgIH0pXG5cbiAgICBpZiAoY2lSb2xlKSB7XG4gICAgICBlY3JSZXBvLmdyYW50UHVsbFB1c2goY2lSb2xlKVxuICAgIH1cblxuICAgIGlmIChncmlpZENpUm9sZSkge1xuICAgICAgZWNyUmVwby5ncmFudFB1bGxQdXNoKGdyaWlkQ2lSb2xlKVxuICAgIH1cblxuICAgIC8vIEFsbG93IGEgdGFyZ2V0IHRvIHJlYWQgZnJvbSB0aGUgcmVwb3MuIEFzIGFueSBzcGVjaWZpYyByb2xlcyBuZWVkXG4gICAgLy8gdG8gZXhpc3QgYmVmb3JlIHdlIGNhbiBncmFudCBhY2Nlc3MsIHdlIGRlbGVnYXRlIHRoYXQgcmVzcG9uc2liaWxpdHlcbiAgICAvLyB0byB0aGUgdGFyZ2V0IGFjY291bnQuXG4gICAgZm9yIChjb25zdCB0YXJnZXRBY2NvdW50SWQgb2YgcHJvcHMudGFyZ2V0QWNjb3VudElkcykge1xuICAgICAgaWYgKGJ1Y2tldCkge1xuICAgICAgICBidWNrZXQuZ3JhbnRSZWFkKG5ldyBpYW0uQWNjb3VudFByaW5jaXBhbCh0YXJnZXRBY2NvdW50SWQpKVxuICAgICAgfVxuICAgICAgZWNyUmVwby5ncmFudFB1bGwobmV3IGlhbS5BY2NvdW50UHJpbmNpcGFsKHRhcmdldEFjY291bnRJZCkpXG4gICAgfVxuXG4gICAgLy8gR3JhbnQgcGVybWlzc2lvbnMgdG8gd3JpdGUgcGlwZWxpbmUgdmFyaWFibGVzLlxuICAgIGlmIChjaVJvbGUgfHwgZ3JpaWRDaVJvbGUpIHtcbiAgICAgIGNvbnN0IGFjY291bnQgPSBjZGsuU3RhY2sub2YodGhpcykuYWNjb3VudFxuICAgICAgY29uc3QgcmVnaW9uID0gY2RrLlN0YWNrLm9mKHRoaXMpLnJlZ2lvblxuICAgICAgY29uc3Qgc3RhdGVtZW50ID0gbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXCJzc206UHV0UGFyYW1ldGVyXCJdLFxuICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICBgYXJuOmF3czpzc206JHtyZWdpb259OiR7YWNjb3VudH06cGFyYW1ldGVyL2xpZmxpZy1jZGsvKi9waXBlbGluZS12YXJpYWJsZXMvKmAsXG4gICAgICAgIF0sXG4gICAgICB9KVxuXG4gICAgICBjaVJvbGU/LmdyYW50UHJpbmNpcGFsLmFkZFRvUHJpbmNpcGFsUG9saWN5KHN0YXRlbWVudClcbiAgICAgIGdyaWlkQ2lSb2xlPy5ncmFudFByaW5jaXBhbC5hZGRUb1ByaW5jaXBhbFBvbGljeShzdGF0ZW1lbnQpXG4gICAgfVxuXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgXCJFY3JSZXBvVXJpXCIsIHtcbiAgICAgIHZhbHVlOiBlY3JSZXBvLnJlcG9zaXRvcnlVcmksXG4gICAgfSlcblxuICAgIGlmIChidWNrZXQpIHtcbiAgICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiQnVja2V0TmFtZVwiLCB7XG4gICAgICAgIHZhbHVlOiBidWNrZXQuYnVja2V0TmFtZSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGNpUm9sZSkge1xuICAgICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgXCJDaVJvbGVBcm5cIiwge1xuICAgICAgICB2YWx1ZTogY2lSb2xlLnJvbGVBcm4sXG4gICAgICB9KVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as constructs from "constructs";
|
|
2
|
+
import * as cdk from "aws-cdk-lib";
|
|
2
3
|
interface Props extends cdk.StackProps {
|
|
3
4
|
/**
|
|
4
5
|
* The role that will be granted permission to assume the deploy
|
|
@@ -56,7 +57,7 @@ interface Props extends cdk.StackProps {
|
|
|
56
57
|
* The "status" lambda can be used to poll for completion, and will
|
|
57
58
|
* also return logs from the job upon completion.
|
|
58
59
|
*/
|
|
59
|
-
export declare class CdkDeploy extends
|
|
60
|
-
constructor(scope:
|
|
60
|
+
export declare class CdkDeploy extends constructs.Construct {
|
|
61
|
+
constructor(scope: constructs.Construct, id: string, props: Props);
|
|
61
62
|
}
|
|
62
63
|
export {};
|