@aws-cdk/aws-glue-alpha 2.176.0-alpha.0 → 2.178.0-alpha.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/.jsii +6187 -3907
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +525 -235
- package/README.md +422 -159
- package/awslint.json +5 -5
- package/lib/code.js +4 -5
- package/lib/connection.js +15 -3
- package/lib/constants.d.ts +261 -0
- package/lib/constants.js +281 -0
- package/lib/data-format.js +5 -5
- package/lib/data-quality-ruleset.js +6 -3
- package/lib/database.js +5 -2
- package/lib/external-table.js +20 -2
- package/lib/index.d.ts +13 -2
- package/lib/index.js +14 -3
- package/lib/jobs/job.d.ts +393 -0
- package/lib/jobs/job.js +298 -0
- package/lib/jobs/pyspark-etl-job.d.ts +81 -0
- package/lib/jobs/pyspark-etl-job.js +130 -0
- package/lib/jobs/pyspark-flex-etl-job.d.ts +83 -0
- package/lib/jobs/pyspark-flex-etl-job.js +137 -0
- package/lib/jobs/pyspark-streaming-job.d.ts +81 -0
- package/lib/jobs/pyspark-streaming-job.js +130 -0
- package/lib/jobs/python-shell-job.d.ts +55 -0
- package/lib/jobs/python-shell-job.js +99 -0
- package/lib/jobs/ray-job.d.ts +44 -0
- package/lib/jobs/ray-job.js +89 -0
- package/lib/jobs/scala-spark-etl-job.d.ts +78 -0
- package/lib/jobs/scala-spark-etl-job.js +134 -0
- package/lib/jobs/scala-spark-flex-etl-job.d.ts +109 -0
- package/lib/jobs/scala-spark-flex-etl-job.js +143 -0
- package/lib/jobs/scala-spark-streaming-job.d.ts +77 -0
- package/lib/jobs/scala-spark-streaming-job.js +131 -0
- package/lib/jobs/spark-ui-utils.d.ts +53 -0
- package/lib/jobs/spark-ui-utils.js +26 -0
- package/lib/s3-table.d.ts +4 -4
- package/lib/s3-table.js +20 -2
- package/lib/schema.d.ts +1 -1
- package/lib/schema.js +2 -2
- package/lib/security-configuration.js +5 -2
- package/lib/storage-parameter.js +1 -1
- package/lib/table-base.d.ts +1 -1
- package/lib/table-base.js +2 -2
- package/lib/table-deprecated.js +1 -1
- package/lib/triggers/trigger-options.d.ts +205 -0
- package/lib/triggers/trigger-options.js +39 -0
- package/lib/triggers/workflow.d.ts +203 -0
- package/lib/triggers/workflow.js +371 -0
- package/package.json +8 -8
- package/rosetta/default.ts-fixture +1 -1
- package/lib/job-executable.d.ts +0 -384
- package/lib/job-executable.js +0 -348
- package/lib/job.d.ts +0 -574
- package/lib/job.js +0 -531
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a, _b;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Workflow = exports.WorkflowBase = void 0;
|
|
5
|
+
const jsiiDeprecationWarnings = require("../../.warnings.jsii.js");
|
|
6
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
7
|
+
const cdk = require("aws-cdk-lib/core");
|
|
8
|
+
const aws_glue_1 = require("aws-cdk-lib/aws-glue");
|
|
9
|
+
const constants_1 = require("../constants");
|
|
10
|
+
const trigger_options_1 = require("./trigger-options");
|
|
11
|
+
const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
|
|
12
|
+
/**
|
|
13
|
+
* Base abstract class for Workflow
|
|
14
|
+
*
|
|
15
|
+
* @see https://docs.aws.amazon.com/glue/latest/dg/about-triggers.html
|
|
16
|
+
*/
|
|
17
|
+
class WorkflowBase extends cdk.Resource {
|
|
18
|
+
/**
|
|
19
|
+
* Extract workflowName from arn
|
|
20
|
+
*/
|
|
21
|
+
static extractNameFromArn(scope, workflowArn) {
|
|
22
|
+
return cdk.Stack.of(scope).splitArn(workflowArn, cdk.ArnFormat.SLASH_RESOURCE_NAME).resourceName;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Add an on-demand trigger to the workflow.
|
|
26
|
+
*
|
|
27
|
+
* @param id The id of the trigger.
|
|
28
|
+
* @param options Additional options for the trigger.
|
|
29
|
+
* @throws If both job and crawler are provided, or if neither job nor crawler is provided.
|
|
30
|
+
* @returns The created CfnTrigger resource.
|
|
31
|
+
*/
|
|
32
|
+
addOnDemandTrigger(id, options) {
|
|
33
|
+
try {
|
|
34
|
+
jsiiDeprecationWarnings._aws_cdk_aws_glue_alpha_OnDemandTriggerOptions(options);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
38
|
+
Error.captureStackTrace(error, this.addOnDemandTrigger);
|
|
39
|
+
}
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
const trigger = new aws_glue_1.CfnTrigger(this, id, {
|
|
43
|
+
...options,
|
|
44
|
+
workflowName: this.workflowName,
|
|
45
|
+
type: 'ON_DEMAND',
|
|
46
|
+
actions: options.actions?.map(this.renderAction),
|
|
47
|
+
description: options.description || undefined,
|
|
48
|
+
});
|
|
49
|
+
return trigger;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Add a daily-scheduled trigger to the workflow.
|
|
53
|
+
*
|
|
54
|
+
* @param id The id of the trigger.
|
|
55
|
+
* @param options Additional options for the trigger.
|
|
56
|
+
* @throws If both job and crawler are provided, or if neither job nor crawler is provided.
|
|
57
|
+
* @returns The created CfnTrigger resource.
|
|
58
|
+
*/
|
|
59
|
+
addDailyScheduledTrigger(id, options) {
|
|
60
|
+
try {
|
|
61
|
+
jsiiDeprecationWarnings._aws_cdk_aws_glue_alpha_DailyScheduleTriggerOptions(options);
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
65
|
+
Error.captureStackTrace(error, this.addDailyScheduledTrigger);
|
|
66
|
+
}
|
|
67
|
+
throw error;
|
|
68
|
+
}
|
|
69
|
+
const dailySchedule = trigger_options_1.TriggerSchedule.cron({
|
|
70
|
+
minute: '0',
|
|
71
|
+
hour: '0',
|
|
72
|
+
});
|
|
73
|
+
const trigger = new aws_glue_1.CfnTrigger(this, id, {
|
|
74
|
+
...options,
|
|
75
|
+
workflowName: this.workflowName,
|
|
76
|
+
type: 'SCHEDULED',
|
|
77
|
+
actions: options.actions?.map(this.renderAction),
|
|
78
|
+
schedule: dailySchedule.expressionString,
|
|
79
|
+
startOnCreation: options.startOnCreation ?? false,
|
|
80
|
+
});
|
|
81
|
+
return trigger;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Add a weekly-scheduled trigger to the workflow.
|
|
85
|
+
*
|
|
86
|
+
* @param id The id of the trigger.
|
|
87
|
+
* @param options Additional options for the trigger.
|
|
88
|
+
* @throws If both job and crawler are provided, or if neither job nor crawler is provided.
|
|
89
|
+
* @returns The created CfnTrigger resource.
|
|
90
|
+
*/
|
|
91
|
+
addWeeklyScheduledTrigger(id, options) {
|
|
92
|
+
try {
|
|
93
|
+
jsiiDeprecationWarnings._aws_cdk_aws_glue_alpha_WeeklyScheduleTriggerOptions(options);
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
97
|
+
Error.captureStackTrace(error, this.addWeeklyScheduledTrigger);
|
|
98
|
+
}
|
|
99
|
+
throw error;
|
|
100
|
+
}
|
|
101
|
+
const weeklySchedule = trigger_options_1.TriggerSchedule.cron({
|
|
102
|
+
minute: '0',
|
|
103
|
+
hour: '0',
|
|
104
|
+
weekDay: 'SUN',
|
|
105
|
+
});
|
|
106
|
+
const trigger = new aws_glue_1.CfnTrigger(this, id, {
|
|
107
|
+
...options,
|
|
108
|
+
workflowName: this.workflowName,
|
|
109
|
+
type: 'SCHEDULED',
|
|
110
|
+
actions: options.actions?.map(this.renderAction),
|
|
111
|
+
schedule: weeklySchedule.expressionString,
|
|
112
|
+
startOnCreation: options.startOnCreation ?? false,
|
|
113
|
+
});
|
|
114
|
+
return trigger;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Add a custom-scheduled trigger to the workflow.
|
|
118
|
+
*
|
|
119
|
+
* @param id The id of the trigger.
|
|
120
|
+
* @param options Additional options for the trigger.
|
|
121
|
+
* @throws If both job and crawler are provided, or if neither job nor crawler is provided.
|
|
122
|
+
* @returns The created CfnTrigger resource.
|
|
123
|
+
*/
|
|
124
|
+
addCustomScheduledTrigger(id, options) {
|
|
125
|
+
try {
|
|
126
|
+
jsiiDeprecationWarnings._aws_cdk_aws_glue_alpha_CustomScheduledTriggerOptions(options);
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
130
|
+
Error.captureStackTrace(error, this.addCustomScheduledTrigger);
|
|
131
|
+
}
|
|
132
|
+
throw error;
|
|
133
|
+
}
|
|
134
|
+
const trigger = new aws_glue_1.CfnTrigger(this, id, {
|
|
135
|
+
...options,
|
|
136
|
+
workflowName: this.workflowName,
|
|
137
|
+
type: 'SCHEDULED',
|
|
138
|
+
actions: options.actions?.map(this.renderAction),
|
|
139
|
+
schedule: options.schedule.expressionString,
|
|
140
|
+
startOnCreation: options.startOnCreation ?? false,
|
|
141
|
+
});
|
|
142
|
+
return trigger;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Add an Event Bridge based trigger to the workflow.
|
|
146
|
+
*
|
|
147
|
+
* @param id The id of the trigger.
|
|
148
|
+
* @param options Additional options for the trigger.
|
|
149
|
+
* @throws If both job and crawler are provided, or if neither job nor crawler is provided.
|
|
150
|
+
* @returns The created CfnTrigger resource.
|
|
151
|
+
*/
|
|
152
|
+
addNotifyEventTrigger(id, options) {
|
|
153
|
+
try {
|
|
154
|
+
jsiiDeprecationWarnings._aws_cdk_aws_glue_alpha_NotifyEventTriggerOptions(options);
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
158
|
+
Error.captureStackTrace(error, this.addNotifyEventTrigger);
|
|
159
|
+
}
|
|
160
|
+
throw error;
|
|
161
|
+
}
|
|
162
|
+
const trigger = new aws_glue_1.CfnTrigger(this, id, {
|
|
163
|
+
...options,
|
|
164
|
+
workflowName: this.workflowName,
|
|
165
|
+
type: 'EVENT',
|
|
166
|
+
actions: options.actions?.map(this.renderAction),
|
|
167
|
+
eventBatchingCondition: this.renderEventBatchingCondition(options),
|
|
168
|
+
description: options.description ?? undefined,
|
|
169
|
+
});
|
|
170
|
+
return trigger;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Add a Condition (Predicate) based trigger to the workflow.
|
|
174
|
+
*
|
|
175
|
+
* @param id The id of the trigger.
|
|
176
|
+
* @param options Additional options for the trigger.
|
|
177
|
+
* @throws If both job and crawler are provided, or if neither job nor crawler is provided for any condition.
|
|
178
|
+
* @throws If a job is provided without a job state, or if a crawler is provided without a crawler state for any condition.
|
|
179
|
+
* @returns The created CfnTrigger resource.
|
|
180
|
+
*/
|
|
181
|
+
addconditionalTrigger(id, options) {
|
|
182
|
+
try {
|
|
183
|
+
jsiiDeprecationWarnings._aws_cdk_aws_glue_alpha_ConditionalTriggerOptions(options);
|
|
184
|
+
}
|
|
185
|
+
catch (error) {
|
|
186
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
187
|
+
Error.captureStackTrace(error, this.addconditionalTrigger);
|
|
188
|
+
}
|
|
189
|
+
throw error;
|
|
190
|
+
}
|
|
191
|
+
const trigger = new aws_glue_1.CfnTrigger(this, id, {
|
|
192
|
+
...options,
|
|
193
|
+
workflowName: this.workflowName,
|
|
194
|
+
type: 'CONDITIONAL',
|
|
195
|
+
actions: options.actions?.map(this.renderAction),
|
|
196
|
+
predicate: this.renderPredicate(options),
|
|
197
|
+
eventBatchingCondition: this.renderEventBatchingCondition(options),
|
|
198
|
+
description: options.description ?? undefined,
|
|
199
|
+
});
|
|
200
|
+
return trigger;
|
|
201
|
+
}
|
|
202
|
+
renderAction(action) {
|
|
203
|
+
// Validate that either job or crawler is provided, but not both
|
|
204
|
+
if (!action.job && !action.crawler) {
|
|
205
|
+
throw new Error('You must provide either a job or a crawler for the action.');
|
|
206
|
+
}
|
|
207
|
+
else if (action.job && action.crawler) {
|
|
208
|
+
throw new Error('You cannot provide both a job and a crawler for the action.');
|
|
209
|
+
}
|
|
210
|
+
return {
|
|
211
|
+
jobName: action.job?.jobName,
|
|
212
|
+
arguments: action.arguments,
|
|
213
|
+
timeout: action.timeout?.toMinutes(),
|
|
214
|
+
securityConfiguration: action.securityConfiguration?.securityConfigurationName,
|
|
215
|
+
crawlerName: action.crawler?.name,
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
renderPredicate(props) {
|
|
219
|
+
const conditions = props.predicate.conditions?.map(condition => {
|
|
220
|
+
// Validate that either job or crawler is provided, but not both
|
|
221
|
+
if (!condition.job && !condition.crawlerName) {
|
|
222
|
+
throw new Error('You must provide either a job or a crawler for the condition.');
|
|
223
|
+
}
|
|
224
|
+
else if (condition.job && condition.crawlerName) {
|
|
225
|
+
throw new Error('You cannot provide both a job and a crawler for the condition.');
|
|
226
|
+
}
|
|
227
|
+
// Validate that if job is provided, job state is also provided
|
|
228
|
+
if (condition.job && !condition.state) {
|
|
229
|
+
throw new Error('If you provide a job for the condition, you must also provide a job state.');
|
|
230
|
+
}
|
|
231
|
+
// Validate that if crawler is provided, crawler state is also provided
|
|
232
|
+
if (condition.crawlerName && !condition.crawlState) {
|
|
233
|
+
throw new Error('If you provide a crawler for the condition, you must also provide a crawler state.');
|
|
234
|
+
}
|
|
235
|
+
return {
|
|
236
|
+
logicalOperator: condition.logicalOperator ?? constants_1.ConditionLogicalOperator.EQUALS,
|
|
237
|
+
jobName: condition.job?.jobName ?? undefined,
|
|
238
|
+
state: condition.state ?? undefined,
|
|
239
|
+
crawlerName: condition.crawlerName ?? undefined,
|
|
240
|
+
crawlState: condition.crawlState ?? undefined,
|
|
241
|
+
};
|
|
242
|
+
});
|
|
243
|
+
return {
|
|
244
|
+
logical: props.predicate.conditions?.length === 1 ? undefined : props.predicate.logical ?? constants_1.PredicateLogical.AND,
|
|
245
|
+
conditions: conditions,
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
renderEventBatchingCondition(props) {
|
|
249
|
+
const defaultBatchSize = 1;
|
|
250
|
+
const defaultBatchWindow = cdk.Duration.seconds(900).toSeconds();
|
|
251
|
+
if (!props.eventBatchingCondition) {
|
|
252
|
+
return {
|
|
253
|
+
batchSize: defaultBatchSize,
|
|
254
|
+
batchWindow: defaultBatchWindow,
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
return {
|
|
258
|
+
batchSize: props.eventBatchingCondition.batchSize || defaultBatchSize,
|
|
259
|
+
batchWindow: props.eventBatchingCondition.batchWindow?.toSeconds() || defaultBatchWindow,
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
buildWorkflowArn(scope, workflowName) {
|
|
263
|
+
return cdk.Stack.of(scope).formatArn({
|
|
264
|
+
service: 'glue',
|
|
265
|
+
resource: 'workflow',
|
|
266
|
+
resourceName: workflowName,
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
exports.WorkflowBase = WorkflowBase;
|
|
271
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
272
|
+
WorkflowBase[_a] = { fqn: "@aws-cdk/aws-glue-alpha.WorkflowBase", version: "2.178.0-alpha.0" };
|
|
273
|
+
/**
|
|
274
|
+
* This module defines a construct for creating and managing AWS Glue Workflows and Triggers.
|
|
275
|
+
*
|
|
276
|
+
* AWS Glue Workflows are orchestration services that allow you to create, manage, and monitor complex extract, transform, and load (ETL) activities involving multiple crawlers, jobs, and triggers. Workflows are designed to allow you to manage interdependent jobs and crawlers as a single unit, making it easier to orchestrate and monitor complex ETL pipelines.
|
|
277
|
+
*
|
|
278
|
+
* Triggers are used to initiate an AWS Glue Workflow. You can configure different types of triggers, such as on-demand, scheduled, event-based, or conditional triggers, to start your Workflow based on specific conditions or events.
|
|
279
|
+
*
|
|
280
|
+
* @see https://docs.aws.amazon.com/glue/latest/dg/workflows_overview.html
|
|
281
|
+
* @see https://docs.aws.amazon.com/glue/latest/dg/about-triggers.html
|
|
282
|
+
*
|
|
283
|
+
* ## Usage Example
|
|
284
|
+
*
|
|
285
|
+
* ```ts
|
|
286
|
+
* const app = new App();
|
|
287
|
+
* const stack = new Stack(app, 'TestStack');
|
|
288
|
+
*
|
|
289
|
+
* // Create a Glue Job
|
|
290
|
+
* declare const role: iam.IRole;
|
|
291
|
+
* declare const script: glue.Code;
|
|
292
|
+
* const job = new glue.PySparkStreamingJob(stack, 'ImportedJob', { role, script });
|
|
293
|
+
*
|
|
294
|
+
* // Create a Glue Workflow
|
|
295
|
+
* const workflow = new glue.Workflow(stack, 'TestWorkflow');
|
|
296
|
+
*
|
|
297
|
+
* // Add an on-demand trigger to the Workflow
|
|
298
|
+
* workflow.addOnDemandTrigger('OnDemandTrigger', {
|
|
299
|
+
* actions: [{ job: job }],
|
|
300
|
+
* });
|
|
301
|
+
* ```
|
|
302
|
+
*/
|
|
303
|
+
class Workflow extends WorkflowBase {
|
|
304
|
+
/**
|
|
305
|
+
* Import a workflow from its name
|
|
306
|
+
*/
|
|
307
|
+
static fromWorkflowName(scope, id, workflowName) {
|
|
308
|
+
return this.fromWorkflowAttributes(scope, id, {
|
|
309
|
+
workflowName,
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Import an workflow from it's name
|
|
314
|
+
*/
|
|
315
|
+
static fromWorkflowArn(scope, id, workflowArn) {
|
|
316
|
+
return this.fromWorkflowAttributes(scope, id, {
|
|
317
|
+
workflowName: this.extractNameFromArn(scope, workflowArn),
|
|
318
|
+
workflowArn,
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Import an existing workflow
|
|
323
|
+
*/
|
|
324
|
+
static fromWorkflowAttributes(scope, id, attrs) {
|
|
325
|
+
try {
|
|
326
|
+
jsiiDeprecationWarnings._aws_cdk_aws_glue_alpha_WorkflowAttributes(attrs);
|
|
327
|
+
}
|
|
328
|
+
catch (error) {
|
|
329
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
330
|
+
Error.captureStackTrace(error, this.fromWorkflowAttributes);
|
|
331
|
+
}
|
|
332
|
+
throw error;
|
|
333
|
+
}
|
|
334
|
+
class Import extends WorkflowBase {
|
|
335
|
+
constructor() {
|
|
336
|
+
super(...arguments);
|
|
337
|
+
this.workflowName = attrs.workflowName;
|
|
338
|
+
this.workflowArn = this.buildWorkflowArn(scope, this.workflowName);
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
return new Import(scope, id);
|
|
342
|
+
}
|
|
343
|
+
constructor(scope, id, props) {
|
|
344
|
+
super(scope, id, {
|
|
345
|
+
physicalName: props?.workflowName,
|
|
346
|
+
});
|
|
347
|
+
try {
|
|
348
|
+
jsiiDeprecationWarnings._aws_cdk_aws_glue_alpha_WorkflowProps(props);
|
|
349
|
+
}
|
|
350
|
+
catch (error) {
|
|
351
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
352
|
+
Error.captureStackTrace(error, Workflow);
|
|
353
|
+
}
|
|
354
|
+
throw error;
|
|
355
|
+
}
|
|
356
|
+
// Enhanced CDK Analytics Telemetry
|
|
357
|
+
(0, metadata_resource_1.addConstructMetadata)(this, props);
|
|
358
|
+
const resource = new aws_glue_1.CfnWorkflow(this, 'Resource', {
|
|
359
|
+
name: this.physicalName,
|
|
360
|
+
description: props?.description,
|
|
361
|
+
defaultRunProperties: props?.defaultRunProperties,
|
|
362
|
+
maxConcurrentRuns: props?.maxConcurrentRuns,
|
|
363
|
+
});
|
|
364
|
+
this.workflowName = this.getResourceNameAttribute(resource.ref);
|
|
365
|
+
this.workflowArn = this.buildWorkflowArn(this, this.workflowName);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
exports.Workflow = Workflow;
|
|
369
|
+
_b = JSII_RTTI_SYMBOL_1;
|
|
370
|
+
Workflow[_b] = { fqn: "@aws-cdk/aws-glue-alpha.Workflow", version: "2.178.0-alpha.0" };
|
|
371
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx3Q0FBd0M7QUFFeEMsbURBQStEO0FBQy9ELDRDQUdzQjtBQUN0Qix1REFTMkI7QUFDM0IsOEVBQThFO0FBMkY5RTs7OztHQUlHO0FBQ0gsTUFBc0IsWUFBYSxTQUFRLEdBQUcsQ0FBQyxRQUFRO0lBQ3JEOztPQUVHO0lBQ08sTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQTJCLEVBQUUsV0FBbUI7UUFDbEYsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQ2pDLFdBQVcsRUFDWCxHQUFHLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUMsWUFBYSxDQUFDO0tBQ3BEO0lBS0Q7Ozs7Ozs7T0FPRztJQUNJLGtCQUFrQixDQUFDLEVBQVUsRUFBRSxPQUErQjs7Ozs7Ozs7OztRQUNuRSxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN2QyxHQUFHLE9BQU87WUFDVixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsSUFBSSxFQUFFLFdBQVc7WUFDakIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDaEQsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXLElBQUksU0FBUztTQUM5QyxDQUFDLENBQUM7UUFFSCxPQUFPLE9BQU8sQ0FBQztLQUNoQjtJQUVEOzs7Ozs7O09BT0c7SUFDSSx3QkFBd0IsQ0FBQyxFQUFVLEVBQUUsT0FBb0M7Ozs7Ozs7Ozs7UUFDOUUsTUFBTSxhQUFhLEdBQUcsaUNBQWUsQ0FBQyxJQUFJLENBQUM7WUFDekMsTUFBTSxFQUFFLEdBQUc7WUFDWCxJQUFJLEVBQUUsR0FBRztTQUNWLENBQUMsQ0FBQztRQUVILE1B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OztBQW5ESCw0QkFvREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQ2ZuV29ya2Zsb3csIENmblRyaWdnZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZ2x1ZSc7XG5pbXBvcnQge1xuICBDb25kaXRpb25Mb2dpY2FsT3BlcmF0b3IsXG4gIFByZWRpY2F0ZUxvZ2ljYWwsXG59IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBBY3Rpb24sXG4gIFRyaWdnZXJTY2hlZHVsZSxcbiAgT25EZW1hbmRUcmlnZ2VyT3B0aW9ucyxcbiAgV2Vla2x5U2NoZWR1bGVUcmlnZ2VyT3B0aW9ucyxcbiAgRGFpbHlTY2hlZHVsZVRyaWdnZXJPcHRpb25zLFxuICBDdXN0b21TY2hlZHVsZWRUcmlnZ2VyT3B0aW9ucyxcbiAgTm90aWZ5RXZlbnRUcmlnZ2VyT3B0aW9ucyxcbiAgQ29uZGl0aW9uYWxUcmlnZ2VyT3B0aW9ucyxcbn0gZnJvbSAnLi90cmlnZ2VyLW9wdGlvbnMnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5cbi8qKlxuICogVGhlIGJhc2UgaW50ZXJmYWNlIGZvciBHbHVlIFdvcmtmbG93XG4gKlxuICogQHNlZSB7QGxpbmsgV29ya2Zsb3d9XG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy93b3JrZmxvd3Nfb3ZlcnZpZXcuaHRtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElXb3JrZmxvdyBleHRlbmRzIGNkay5JUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHdvcmtmbG93XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSB3b3JrZmxvd1xuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd0Fybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGQgYW4gb24tZGVtYW5kIHRyaWdnZXIgdG8gdGhlIHdvcmtmbG93XG4gICAqL1xuICBhZGRPbkRlbWFuZFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogT25EZW1hbmRUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXI7XG5cbiAgLyoqXG4gICAqIEFkZCBhbiBkYWlseS1zY2hlZHVsZWQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3dcbiAgICovXG4gIGFkZERhaWx5U2NoZWR1bGVkVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBEYWlseVNjaGVkdWxlVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyO1xuXG4gIC8qKlxuICAgKiBBZGQgYW4gd2Vla2x5LXNjaGVkdWxlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvd1xuICAgKi9cbiAgYWRkV2Vla2x5U2NoZWR1bGVkVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBXZWVrbHlTY2hlZHVsZVRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlcjtcblxuICAvKipcbiAgICogQWRkIGFuIGN1c3RvbS1zY2hlZHVsZWQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3dcbiAgICovXG4gIGFkZEN1c3RvbVNjaGVkdWxlZFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogQ3VzdG9tU2NoZWR1bGVkVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGltcG9ydGluZyBhIFdvcmtmbG93IHVzaW5nIGl0cyBhdHRyaWJ1dGVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB3b3JrZmxvdyB0byBpbXBvcnRcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93TmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgd29ya2Zsb3cgdG8gaW1wb3J0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVyaXZlZCBmcm9tIHRoZSB3b3JrZmxvdyBuYW1lXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd0Fybj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBhIFdvcmtmbG93XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dQcm9wcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSB3b3JrZmxvd1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIGEgbmFtZSB3aWxsIGJlIGdlbmVyYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSB3b3JrZmxvd1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQSBtYXAgb2YgcHJvcGVydGllcyB0byB1c2Ugd2hlbiB0aGlzIHdvcmtmbG93IGlzIGV4ZWN1dGVkXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZGVmYXVsdCBydW4gcHJvcGVydGllc1xuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFJ1blByb3BlcnRpZXM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgY29uY3VycmVudCBydW5zIGFsbG93ZWQgZm9yIHRoZSB3b3JrZmxvd1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGxpbWl0XG4gICAqL1xuICByZWFkb25seSBtYXhDb25jdXJyZW50UnVucz86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBCYXNlIGFic3RyYWN0IGNsYXNzIGZvciBXb3JrZmxvd1xuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dsdWUvbGF0ZXN0L2RnL2Fib3V0LXRyaWdnZXJzLmh0bWxcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFdvcmtmbG93QmFzZSBleHRlbmRzIGNkay5SZXNvdXJjZSBpbXBsZW1lbnRzIElXb3JrZmxvdyB7XG4gIC8qKlxuICAgKiBFeHRyYWN0IHdvcmtmbG93TmFtZSBmcm9tIGFyblxuICAgKi9cbiAgcHJvdGVjdGVkIHN0YXRpYyBleHRyYWN0TmFtZUZyb21Bcm4oc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCB3b3JrZmxvd0Fybjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY2RrLlN0YWNrLm9mKHNjb3BlKS5zcGxpdEFybihcbiAgICAgIHdvcmtmbG93QXJuLFxuICAgICAgY2RrLkFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FKS5yZXNvdXJjZU5hbWUhO1xuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHdvcmtmbG93TmFtZTogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgd29ya2Zsb3dBcm46IHN0cmluZztcblxuICAvKipcbiAgICogQWRkIGFuIG9uLWRlbWFuZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkLlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBDZm5UcmlnZ2VyIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE9uRGVtYW5kVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBPbkRlbWFuZFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlciB7XG4gICAgY29uc3QgdHJpZ2dlciA9IG5ldyBDZm5UcmlnZ2VyKHRoaXMsIGlkLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgd29ya2Zsb3dOYW1lOiB0aGlzLndvcmtmbG93TmFtZSxcbiAgICAgIHR5cGU6ICdPTl9ERU1BTkQnLFxuICAgICAgYWN0aW9uczogb3B0aW9ucy5hY3Rpb25zPy5tYXAodGhpcy5yZW5kZXJBY3Rpb24pLFxuICAgICAgZGVzY3JpcHRpb246IG9wdGlvbnMuZGVzY3JpcHRpb24gfHwgdW5kZWZpbmVkLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyaWdnZXI7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgZGFpbHktc2NoZWR1bGVkIHRyaWdnZXIgdG8gdGhlIHdvcmtmbG93LlxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGlkIG9mIHRoZSB0cmlnZ2VyLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIHRoZSB0cmlnZ2VyLlxuICAgKiBAdGhyb3dzIElmIGJvdGggam9iIGFuZCBjcmF3bGVyIGFyZSBwcm92aWRlZCwgb3IgaWYgbmVpdGhlciBqb2Igbm9yIGNyYXdsZXIgaXMgcHJvdmlkZWQuXG4gICAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIENmblRyaWdnZXIgcmVzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkRGFpbHlTY2hlZHVsZWRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IERhaWx5U2NoZWR1bGVUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIge1xuICAgIGNvbnN0IGRhaWx5U2NoZWR1bGUgPSBUcmlnZ2VyU2NoZWR1bGUuY3Jvbih7XG4gICAgICBtaW51dGU6ICcwJyxcbiAgICAgIGhvdXI6ICcwJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHRyaWdnZXIgPSBuZXcgQ2ZuVHJpZ2dlcih0aGlzLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHdvcmtmbG93TmFtZTogdGhpcy53b3JrZmxvd05hbWUsXG4gICAgICB0eXBlOiAnU0NIRURVTEVEJyxcbiAgICAgIGFjdGlvbnM6IG9wdGlvbnMuYWN0aW9ucz8ubWFwKHRoaXMucmVuZGVyQWN0aW9uKSxcbiAgICAgIHNjaGVkdWxlOiBkYWlseVNjaGVkdWxlLmV4cHJlc3Npb25TdHJpbmcsXG4gICAgICBzdGFydE9uQ3JlYXRpb246IG9wdGlvbnMuc3RhcnRPbkNyZWF0aW9uID8/IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyaWdnZXI7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgd2Vla2x5LXNjaGVkdWxlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkLlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBDZm5UcmlnZ2VyIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZFdlZWtseVNjaGVkdWxlZFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogV2Vla2x5U2NoZWR1bGVUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIge1xuICAgIGNvbnN0IHdlZWtseVNjaGVkdWxlID0gVHJpZ2dlclNjaGVkdWxlLmNyb24oe1xuICAgICAgbWludXRlOiAnMCcsXG4gICAgICBob3VyOiAnMCcsXG4gICAgICB3ZWVrRGF5OiAnU1VOJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHRyaWdnZXIgPSBuZXcgQ2ZuVHJpZ2dlcih0aGlzLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHdvcmtmbG93TmFtZTogdGhpcy53b3JrZmxvd05hbWUsXG4gICAgICB0eXBlOiAnU0NIRURVTEVEJyxcbiAgICAgIGFjdGlvbnM6IG9wdGlvbnMuYWN0aW9ucz8ubWFwKHRoaXMucmVuZGVyQWN0aW9uKSxcbiAgICAgIHNjaGVkdWxlOiB3ZWVrbHlTY2hlZHVsZS5leHByZXNzaW9uU3RyaW5nLFxuICAgICAgc3RhcnRPbkNyZWF0aW9uOiBvcHRpb25zLnN0YXJ0T25DcmVhdGlvbiA/PyBmYWxzZSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmlnZ2VyO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGN1c3RvbS1zY2hlZHVsZWQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgdGhlIHRyaWdnZXIuXG4gICAqIEBwYXJhbSBvcHRpb25zIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIHRyaWdnZXIuXG4gICAqIEB0aHJvd3MgSWYgYm90aCBqb2IgYW5kIGNyYXdsZXIgYXJlIHByb3ZpZGVkLCBvciBpZiBuZWl0aGVyIGpvYiBub3IgY3Jhd2xlciBpcyBwcm92aWRlZC5cbiAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgQ2ZuVHJpZ2dlciByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGRDdXN0b21TY2hlZHVsZWRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IEN1c3RvbVNjaGVkdWxlZFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlciB7XG4gICAgY29uc3QgdHJpZ2dlciA9IG5ldyBDZm5UcmlnZ2VyKHRoaXMsIGlkLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgd29ya2Zsb3dOYW1lOiB0aGlzLndvcmtmbG93TmFtZSxcbiAgICAgIHR5cGU6ICdTQ0hFRFVMRUQnLFxuICAgICAgYWN0aW9uczogb3B0aW9ucy5hY3Rpb25zPy5tYXAodGhpcy5yZW5kZXJBY3Rpb24pLFxuICAgICAgc2NoZWR1bGU6IG9wdGlvbnMuc2NoZWR1bGUuZXhwcmVzc2lvblN0cmluZyxcbiAgICAgIHN0YXJ0T25DcmVhdGlvbjogb3B0aW9ucy5zdGFydE9uQ3JlYXRpb24gPz8gZmFsc2UsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdHJpZ2dlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYW4gRXZlbnQgQnJpZGdlIGJhc2VkIHRyaWdnZXIgdG8gdGhlIHdvcmtmbG93LlxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGlkIG9mIHRoZSB0cmlnZ2VyLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIHRoZSB0cmlnZ2VyLlxuICAgKiBAdGhyb3dzIElmIGJvdGggam9iIGFuZCBjcmF3bGVyIGFyZSBwcm92aWRlZCwgb3IgaWYgbmVpdGhlciBqb2Igbm9yIGNyYXdsZXIgaXMgcHJvdmlkZWQuXG4gICAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIENmblRyaWdnZXIgcmVzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkTm90aWZ5RXZlbnRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IE5vdGlmeUV2ZW50VHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyIHtcbiAgICBjb25zdCB0cmlnZ2VyID0gbmV3IENmblRyaWdnZXIodGhpcywgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB3b3JrZmxvd05hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxuICAgICAgdHlwZTogJ0VWRU5UJyxcbiAgICAgIGFjdGlvbnM6IG9wdGlvbnMuYWN0aW9ucz8ubWFwKHRoaXMucmVuZGVyQWN0aW9uKSxcbiAgICAgIGV2ZW50QmF0Y2hpbmdDb25kaXRpb246IHRoaXMucmVuZGVyRXZlbnRCYXRjaGluZ0NvbmRpdGlvbihvcHRpb25zKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb25zLmRlc2NyaXB0aW9uID8/IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmlnZ2VyO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIENvbmRpdGlvbiAoUHJlZGljYXRlKSBiYXNlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkIGZvciBhbnkgY29uZGl0aW9uLlxuICAgKiBAdGhyb3dzIElmIGEgam9iIGlzIHByb3ZpZGVkIHdpdGhvdXQgYSBqb2Igc3RhdGUsIG9yIGlmIGEgY3Jhd2xlciBpcyBwcm92aWRlZCB3aXRob3V0IGEgY3Jhd2xlciBzdGF0ZSBmb3IgYW55IGNvbmRpdGlvbi5cbiAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgQ2ZuVHJpZ2dlciByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGRjb25kaXRpb25hbFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogQ29uZGl0aW9uYWxUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIge1xuICAgIGNvbnN0IHRyaWdnZXIgPSBuZXcgQ2ZuVHJpZ2dlcih0aGlzLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHdvcmtmbG93TmFtZTogdGhpcy53b3JrZmxvd05hbWUsXG4gICAgICB0eXBlOiAnQ09ORElUSU9OQUwnLFxuICAgICAgYWN0aW9uczogb3B0aW9ucy5hY3Rpb25zPy5tYXAodGhpcy5yZW5kZXJBY3Rpb24pLFxuICAgICAgcHJlZGljYXRlOiB0aGlzLnJlbmRlclByZWRpY2F0ZShvcHRpb25zKSxcbiAgICAgIGV2ZW50QmF0Y2hpbmdDb25kaXRpb246IHRoaXMucmVuZGVyRXZlbnRCYXRjaGluZ0NvbmRpdGlvbihvcHRpb25zKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb25zLmRlc2NyaXB0aW9uID8/IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmlnZ2VyO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJBY3Rpb24oYWN0aW9uOiBBY3Rpb24pOiBDZm5UcmlnZ2VyLkFjdGlvblByb3BlcnR5IHtcbiAgICAvLyBWYWxpZGF0ZSB0aGF0IGVpdGhlciBqb2Igb3IgY3Jhd2xlciBpcyBwcm92aWRlZCwgYnV0IG5vdCBib3RoXG4gICAgaWYgKCFhY3Rpb24uam9iICYmICFhY3Rpb24uY3Jhd2xlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgbXVzdCBwcm92aWRlIGVpdGhlciBhIGpvYiBvciBhIGNyYXdsZXIgZm9yIHRoZSBhY3Rpb24uJyk7XG4gICAgfSBlbHNlIGlmIChhY3Rpb24uam9iICYmIGFjdGlvbi5jcmF3bGVyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW5ub3QgcHJvdmlkZSBib3RoIGEgam9iIGFuZCBhIGNyYXdsZXIgZm9yIHRoZSBhY3Rpb24uJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGpvYk5hbWU6IGFjdGlvbi5qb2I/LmpvYk5hbWUsXG4gICAgICBhcmd1bWVudHM6IGFjdGlvbi5hcmd1bWVudHMsXG4gICAgICB0aW1lb3V0OiBhY3Rpb24udGltZW91dD8udG9NaW51dGVzKCksXG4gICAgICBzZWN1cml0eUNvbmZpZ3VyYXRpb246IGFjdGlvbi5zZWN1cml0eUNvbmZpZ3VyYXRpb24/LnNlY3VyaXR5Q29uZmlndXJhdGlvbk5hbWUsXG4gICAgICBjcmF3bGVyTmFtZTogYWN0aW9uLmNyYXdsZXI/Lm5hbWUsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyUHJlZGljYXRlKHByb3BzOiBDb25kaXRpb25hbFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlci5QcmVkaWNhdGVQcm9wZXJ0eSB7XG4gICAgY29uc3QgY29uZGl0aW9ucyA9IHByb3BzLnByZWRpY2F0ZS5jb25kaXRpb25zPy5tYXAoY29uZGl0aW9uID0+IHtcbiAgICAgIC8vIFZhbGlkYXRlIHRoYXQgZWl0aGVyIGpvYiBvciBjcmF3bGVyIGlzIHByb3ZpZGVkLCBidXQgbm90IGJvdGhcbiAgICAgIGlmICghY29uZGl0aW9uLmpvYiAmJiAhY29uZGl0aW9uLmNyYXdsZXJOYW1lKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignWW91IG11c3QgcHJvdmlkZSBlaXRoZXIgYSBqb2Igb3IgYSBjcmF3bGVyIGZvciB0aGUgY29uZGl0aW9uLicpO1xuICAgICAgfSBlbHNlIGlmIChjb25kaXRpb24uam9iICYmIGNvbmRpdGlvbi5jcmF3bGVyTmFtZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW5ub3QgcHJvdmlkZSBib3RoIGEgam9iIGFuZCBhIGNyYXdsZXIgZm9yIHRoZSBjb25kaXRpb24uJyk7XG4gICAgICB9XG5cbiAgICAgIC8vIFZhbGlkYXRlIHRoYXQgaWYgam9iIGlzIHByb3ZpZGVkLCBqb2Igc3RhdGUgaXMgYWxzbyBwcm92aWRlZFxuICAgICAgaWYgKGNvbmRpdGlvbi5qb2IgJiYgIWNvbmRpdGlvbi5zdGF0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0lmIHlvdSBwcm92aWRlIGEgam9iIGZvciB0aGUgY29uZGl0aW9uLCB5b3UgbXVzdCBhbHNvIHByb3ZpZGUgYSBqb2Igc3RhdGUuJyk7XG4gICAgICB9XG5cbiAgICAgIC8vIFZhbGlkYXRlIHRoYXQgaWYgY3Jhd2xlciBpcyBwcm92aWRlZCwgY3Jhd2xlciBzdGF0ZSBpcyBhbHNvIHByb3ZpZGVkXG4gICAgICBpZiAoY29uZGl0aW9uLmNyYXdsZXJOYW1lICYmICFjb25kaXRpb24uY3Jhd2xTdGF0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0lmIHlvdSBwcm92aWRlIGEgY3Jhd2xlciBmb3IgdGhlIGNvbmRpdGlvbiwgeW91IG11c3QgYWxzbyBwcm92aWRlIGEgY3Jhd2xlciBzdGF0ZS4nKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbG9naWNhbE9wZXJhdG9yOiBjb25kaXRpb24ubG9naWNhbE9wZXJhdG9yID8/IENvbmRpdGlvbkxvZ2ljYWxPcGVyYXRvci5FUVVBTFMsXG4gICAgICAgIGpvYk5hbWU6IGNvbmRpdGlvbi5qb2I/LmpvYk5hbWUgPz8gdW5kZWZpbmVkLFxuICAgICAgICBzdGF0ZTogY29uZGl0aW9uLnN0YXRlID8/IHVuZGVmaW5lZCxcbiAgICAgICAgY3Jhd2xlck5hbWU6IGNvbmRpdGlvbi5jcmF3bGVyTmFtZSA/PyB1bmRlZmluZWQsXG4gICAgICAgIGNyYXdsU3RhdGU6IGNvbmRpdGlvbi5jcmF3bFN0YXRlID8/IHVuZGVmaW5lZCxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbG9naWNhbDogcHJvcHMucHJlZGljYXRlLmNvbmRpdGlvbnM/Lmxlbmd0aCA9PT0gMSA/IHVuZGVmaW5lZCA6IHByb3BzLnByZWRpY2F0ZS5sb2dpY2FsID8/IFByZWRpY2F0ZUxvZ2ljYWwuQU5ELFxuICAgICAgY29uZGl0aW9uczogY29uZGl0aW9ucyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJFdmVudEJhdGNoaW5nQ29uZGl0aW9uKHByb3BzOiBOb3RpZnlFdmVudFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlci5FdmVudEJhdGNoaW5nQ29uZGl0aW9uUHJvcGVydHkge1xuICAgIGNvbnN0IGRlZmF1bHRCYXRjaFNpemUgPSAxO1xuICAgIGNvbnN0IGRlZmF1bHRCYXRjaFdpbmRvdyA9IGNkay5EdXJhdGlvbi5zZWNvbmRzKDkwMCkudG9TZWNvbmRzKCk7XG5cbiAgICBpZiAoIXByb3BzLmV2ZW50QmF0Y2hpbmdDb25kaXRpb24pIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJhdGNoU2l6ZTogZGVmYXVsdEJhdGNoU2l6ZSxcbiAgICAgICAgYmF0Y2hXaW5kb3c6IGRlZmF1bHRCYXRjaFdpbmRvdyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGJhdGNoU2l6ZTogcHJvcHMuZXZlbnRCYXRjaGluZ0NvbmRpdGlvbi5iYXRjaFNpemUgfHwgZGVmYXVsdEJhdGNoU2l6ZSxcbiAgICAgIGJhdGNoV2luZG93OiBwcm9wcy5ldmVudEJhdGNoaW5nQ29uZGl0aW9uLmJhdGNoV2luZG93Py50b1NlY29uZHMoKSB8fCBkZWZhdWx0QmF0Y2hXaW5kb3csXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZFdvcmtmbG93QXJuKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgd29ya2Zsb3dOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBjZGsuU3RhY2sub2Yoc2NvcGUpLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnZ2x1ZScsXG4gICAgICByZXNvdXJjZTogJ3dvcmtmbG93JyxcbiAgICAgIHJlc291cmNlTmFtZTogd29ya2Zsb3dOYW1lLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGNvbnN0cnVjdCBmb3IgY3JlYXRpbmcgYW5kIG1hbmFnaW5nIEFXUyBHbHVlIFdvcmtmbG93cyBhbmQgVHJpZ2dlcnMuXG4gKlxuICogQVdTIEdsdWUgV29ya2Zsb3dzIGFyZSBvcmNoZXN0cmF0aW9uIHNlcnZpY2VzIHRoYXQgYWxsb3cgeW91IHRvIGNyZWF0ZSwgbWFuYWdlLCBhbmQgbW9uaXRvciBjb21wbGV4IGV4dHJhY3QsIHRyYW5zZm9ybSwgYW5kIGxvYWQgKEVUTCkgYWN0aXZpdGllcyBpbnZvbHZpbmcgbXVsdGlwbGUgY3Jhd2xlcnMsIGpvYnMsIGFuZCB0cmlnZ2Vycy4gV29ya2Zsb3dzIGFyZSBkZXNpZ25lZCB0byBhbGxvdyB5b3UgdG8gbWFuYWdlIGludGVyZGVwZW5kZW50IGpvYnMgYW5kIGNyYXdsZXJzIGFzIGEgc2luZ2xlIHVuaXQsIG1ha2luZyBpdCBlYXNpZXIgdG8gb3JjaGVzdHJhdGUgYW5kIG1vbml0b3IgY29tcGxleCBFVEwgcGlwZWxpbmVzLlxuICpcbiAqIFRyaWdnZXJzIGFyZSB1c2VkIHRvIGluaXRpYXRlIGFuIEFXUyBHbHVlIFdvcmtmbG93LiBZb3UgY2FuIGNvbmZpZ3VyZSBkaWZmZXJlbnQgdHlwZXMgb2YgdHJpZ2dlcnMsIHN1Y2ggYXMgb24tZGVtYW5kLCBzY2hlZHVsZWQsIGV2ZW50LWJhc2VkLCBvciBjb25kaXRpb25hbCB0cmlnZ2VycywgdG8gc3RhcnQgeW91ciBXb3JrZmxvdyBiYXNlZCBvbiBzcGVjaWZpYyBjb25kaXRpb25zIG9yIGV2ZW50cy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy93b3JrZmxvd3Nfb3ZlcnZpZXcuaHRtbFxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvYWJvdXQtdHJpZ2dlcnMuaHRtbFxuICpcbiAqICMjIFVzYWdlIEV4YW1wbGVcbiAqXG4gKiBgYGB0c1xuICogY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuICogY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnVGVzdFN0YWNrJyk7XG4gKlxuICogLy8gQ3JlYXRlIGEgR2x1ZSBKb2JcbiAqIGRlY2xhcmUgY29uc3Qgcm9sZTogaWFtLklSb2xlO1xuICogZGVjbGFyZSBjb25zdCBzY3JpcHQ6IGdsdWUuQ29kZTtcbiAqIGNvbnN0IGpvYiA9IG5ldyBnbHVlLlB5U3BhcmtTdHJlYW1pbmdKb2Ioc3RhY2ssICdJbXBvcnRlZEpvYicsIHsgcm9sZSwgc2NyaXB0IH0pO1xuICpcbiAqIC8vIENyZWF0ZSBhIEdsdWUgV29ya2Zsb3dcbiAqIGNvbnN0IHdvcmtmbG93ID0gbmV3IGdsdWUuV29ya2Zsb3coc3RhY2ssICdUZXN0V29ya2Zsb3cnKTtcbiAqXG4gKiAvLyBBZGQgYW4gb24tZGVtYW5kIHRyaWdnZXIgdG8gdGhlIFdvcmtmbG93XG4gKiB3b3JrZmxvdy5hZGRPbkRlbWFuZFRyaWdnZXIoJ09uRGVtYW5kVHJpZ2dlcicsIHtcbiAqICAgYWN0aW9uczogW3sgam9iOiBqb2IgfV0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgV29ya2Zsb3cgZXh0ZW5kcyBXb3JrZmxvd0Jhc2Uge1xuICAvKipcbiAgICogSW1wb3J0IGEgd29ya2Zsb3cgZnJvbSBpdHMgbmFtZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tV29ya2Zsb3dOYW1lKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgd29ya2Zsb3dOYW1lOiBzdHJpbmcpOiBJV29ya2Zsb3cge1xuICAgIHJldHVybiB0aGlzLmZyb21Xb3JrZmxvd0F0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7XG4gICAgICB3b3JrZmxvd05hbWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIHdvcmtmbG93IGZyb20gaXQncyBuYW1lXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Xb3JrZmxvd0FybihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHdvcmtmbG93QXJuOiBzdHJpbmcpOiBJV29ya2Zsb3cge1xuICAgIHJldHVybiB0aGlzLmZyb21Xb3JrZmxvd0F0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7XG4gICAgICB3b3JrZmxvd05hbWU6IHRoaXMuZXh0cmFjdE5hbWVGcm9tQXJuKHNjb3BlLCB3b3JrZmxvd0FybiksXG4gICAgICB3b3JrZmxvd0FybixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3Rpbmcgd29ya2Zsb3dcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVdvcmtmbG93QXR0cmlidXRlcyhzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGF0dHJzOiBXb3JrZmxvd0F0dHJpYnV0ZXMpOiBJV29ya2Zsb3cge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIFdvcmtmbG93QmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgd29ya2Zsb3dOYW1lID0gYXR0cnMud29ya2Zsb3dOYW1lO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHdvcmtmbG93QXJuID0gdGhpcy5idWlsZFdvcmtmbG93QXJuKHNjb3BlLCB0aGlzLndvcmtmbG93TmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSB3b3JrZmxvd05hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHdvcmtmbG93QXJuOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFdvcmtmbG93UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHM/LndvcmtmbG93TmFtZSxcbiAgICB9KTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IENmbldvcmtmbG93KHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIG5hbWU6IHRoaXMucGh5c2ljYWxOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzPy5kZXNjcmlwdGlvbixcbiAgICAgIGRlZmF1bHRSdW5Qcm9wZXJ0aWVzOiBwcm9wcz8uZGVmYXVsdFJ1blByb3BlcnRpZXMsXG4gICAgICBtYXhDb25jdXJyZW50UnVuczogcHJvcHM/Lm1heENvbmN1cnJlbnRSdW5zLFxuICAgIH0pO1xuXG4gICAgdGhpcy53b3JrZmxvd05hbWUgPSB0aGlzLmdldFJlc291cmNlTmFtZUF0dHJpYnV0ZShyZXNvdXJjZS5yZWYpO1xuICAgIHRoaXMud29ya2Zsb3dBcm4gPSB0aGlzLmJ1aWxkV29ya2Zsb3dBcm4odGhpcywgdGhpcy53b3JrZmxvd05hbWUpO1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-cdk/aws-glue-alpha",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.178.0-alpha.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "The CDK Construct Library for AWS::Glue",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -81,18 +81,18 @@
|
|
|
81
81
|
},
|
|
82
82
|
"license": "Apache-2.0",
|
|
83
83
|
"devDependencies": {
|
|
84
|
-
"@aws-cdk/cdk-build-tools": "2.
|
|
85
|
-
"@aws-cdk/integ-runner": "2.
|
|
86
|
-
"@aws-cdk/integ-tests-alpha": "2.
|
|
87
|
-
"@aws-cdk/pkglint": "2.
|
|
88
|
-
"@types/jest": "^29.5.
|
|
89
|
-
"aws-cdk-lib": "2.
|
|
84
|
+
"@aws-cdk/cdk-build-tools": "2.178.0-alpha.0",
|
|
85
|
+
"@aws-cdk/integ-runner": "2.178.0-alpha.0",
|
|
86
|
+
"@aws-cdk/integ-tests-alpha": "2.178.0-alpha.0",
|
|
87
|
+
"@aws-cdk/pkglint": "2.178.0-alpha.0",
|
|
88
|
+
"@types/jest": "^29.5.12",
|
|
89
|
+
"aws-cdk-lib": "2.178.0",
|
|
90
90
|
"constructs": "^10.0.0",
|
|
91
91
|
"jest": "^29.7.0"
|
|
92
92
|
},
|
|
93
93
|
"homepage": "https://github.com/aws/aws-cdk",
|
|
94
94
|
"peerDependencies": {
|
|
95
|
-
"aws-cdk-lib": "^2.
|
|
95
|
+
"aws-cdk-lib": "^2.178.0",
|
|
96
96
|
"constructs": "^10.0.0"
|
|
97
97
|
},
|
|
98
98
|
"engines": {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Fixture with packages imported, but nothing else
|
|
2
2
|
import * as path from 'path';
|
|
3
3
|
import { Construct } from 'constructs';
|
|
4
|
-
import { Stack } from 'aws-cdk-lib';
|
|
4
|
+
import { App, Stack } from 'aws-cdk-lib';
|
|
5
5
|
import * as glue from '@aws-cdk/aws-glue-alpha';
|
|
6
6
|
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
7
7
|
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|