@aws-cdk/aws-glue-alpha 2.0.0-alpha.5 → 2.0.0-alpha.9

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.
@@ -0,0 +1,277 @@
1
+ function _aws_cdk_aws_glue_alpha_JobState(p) {
2
+ }
3
+ function _aws_cdk_aws_glue_alpha_MetricType(p) {
4
+ }
5
+ function _aws_cdk_aws_glue_alpha_JobLanguage(p) {
6
+ }
7
+ function _aws_cdk_aws_glue_alpha_PythonVersion(p) {
8
+ }
9
+ function _aws_cdk_aws_glue_alpha_S3EncryptionMode(p) {
10
+ }
11
+ function _aws_cdk_aws_glue_alpha_CloudWatchEncryptionMode(p) {
12
+ }
13
+ function _aws_cdk_aws_glue_alpha_JobBookmarksEncryptionMode(p) {
14
+ }
15
+ function _aws_cdk_aws_glue_alpha_TableEncryption(p) {
16
+ }
17
+ function _aws_cdk_aws_glue_alpha_Type(p) {
18
+ }
19
+ function _aws_cdk_aws_glue_alpha_TableAttributes(p) {
20
+ }
21
+ function _aws_cdk_aws_glue_alpha_DatabaseProps(p) {
22
+ }
23
+ function _aws_cdk_aws_glue_alpha_Column(p) {
24
+ if (p == null)
25
+ return;
26
+ visitedObjects.add(p);
27
+ if (!visitedObjects.has(p.type))
28
+ _aws_cdk_aws_glue_alpha_Type(p.type);
29
+ visitedObjects.delete(p);
30
+ }
31
+ function _aws_cdk_aws_glue_alpha_IConnection(p) {
32
+ }
33
+ function _aws_cdk_aws_glue_alpha_IDatabase(p) {
34
+ }
35
+ function _aws_cdk_aws_glue_alpha_ISecurityConfiguration(p) {
36
+ }
37
+ function _aws_cdk_aws_glue_alpha_ITable(p) {
38
+ }
39
+ function _aws_cdk_aws_glue_alpha_SparkUILoggingLocation(p) {
40
+ }
41
+ function _aws_cdk_aws_glue_alpha_CodeConfig(p) {
42
+ }
43
+ function _aws_cdk_aws_glue_alpha_ContinuousLoggingProps(p) {
44
+ }
45
+ function _aws_cdk_aws_glue_alpha_JobAttributes(p) {
46
+ }
47
+ function _aws_cdk_aws_glue_alpha_SparkUIProps(p) {
48
+ }
49
+ function _aws_cdk_aws_glue_alpha_ConnectionProps(p) {
50
+ if (p == null)
51
+ return;
52
+ visitedObjects.add(p);
53
+ if (!visitedObjects.has(p.type))
54
+ _aws_cdk_aws_glue_alpha_ConnectionType(p.type);
55
+ if (!visitedObjects.has(p.securityGroups))
56
+ require("aws-cdk-lib/.warnings.jsii.js").aws_cdk_lib_aws_ec2_ISecurityGroup(p.securityGroups);
57
+ visitedObjects.delete(p);
58
+ }
59
+ function _aws_cdk_aws_glue_alpha_S3Encryption(p) {
60
+ if (p == null)
61
+ return;
62
+ visitedObjects.add(p);
63
+ if (!visitedObjects.has(p.mode))
64
+ _aws_cdk_aws_glue_alpha_S3EncryptionMode(p.mode);
65
+ visitedObjects.delete(p);
66
+ }
67
+ function _aws_cdk_aws_glue_alpha_JobBookmarksEncryption(p) {
68
+ if (p == null)
69
+ return;
70
+ visitedObjects.add(p);
71
+ if (!visitedObjects.has(p.mode))
72
+ _aws_cdk_aws_glue_alpha_JobBookmarksEncryptionMode(p.mode);
73
+ visitedObjects.delete(p);
74
+ }
75
+ function _aws_cdk_aws_glue_alpha_CloudWatchEncryption(p) {
76
+ if (p == null)
77
+ return;
78
+ visitedObjects.add(p);
79
+ if (!visitedObjects.has(p.mode))
80
+ _aws_cdk_aws_glue_alpha_CloudWatchEncryptionMode(p.mode);
81
+ visitedObjects.delete(p);
82
+ }
83
+ function _aws_cdk_aws_glue_alpha_ConnectionOptions(p) {
84
+ if (p == null)
85
+ return;
86
+ visitedObjects.add(p);
87
+ if (!visitedObjects.has(p.securityGroups))
88
+ require("aws-cdk-lib/.warnings.jsii.js").aws_cdk_lib_aws_ec2_ISecurityGroup(p.securityGroups);
89
+ visitedObjects.delete(p);
90
+ }
91
+ function _aws_cdk_aws_glue_alpha_SecurityConfigurationProps(p) {
92
+ if (p == null)
93
+ return;
94
+ visitedObjects.add(p);
95
+ if (!visitedObjects.has(p.cloudWatchEncryption))
96
+ _aws_cdk_aws_glue_alpha_CloudWatchEncryption(p.cloudWatchEncryption);
97
+ if (!visitedObjects.has(p.jobBookmarksEncryption))
98
+ _aws_cdk_aws_glue_alpha_JobBookmarksEncryption(p.jobBookmarksEncryption);
99
+ if (!visitedObjects.has(p.s3Encryption))
100
+ _aws_cdk_aws_glue_alpha_S3Encryption(p.s3Encryption);
101
+ visitedObjects.delete(p);
102
+ }
103
+ function _aws_cdk_aws_glue_alpha_OutputFormat(p) {
104
+ }
105
+ function _aws_cdk_aws_glue_alpha_ConnectionType(p) {
106
+ }
107
+ function _aws_cdk_aws_glue_alpha_WorkerType(p) {
108
+ }
109
+ function _aws_cdk_aws_glue_alpha_JobType(p) {
110
+ }
111
+ function _aws_cdk_aws_glue_alpha_DataFormatProps(p) {
112
+ if (p == null)
113
+ return;
114
+ visitedObjects.add(p);
115
+ if (!visitedObjects.has(p.inputFormat))
116
+ _aws_cdk_aws_glue_alpha_InputFormat(p.inputFormat);
117
+ if (!visitedObjects.has(p.outputFormat))
118
+ _aws_cdk_aws_glue_alpha_OutputFormat(p.outputFormat);
119
+ if (!visitedObjects.has(p.serializationLibrary))
120
+ _aws_cdk_aws_glue_alpha_SerializationLibrary(p.serializationLibrary);
121
+ if (!visitedObjects.has(p.classificationString))
122
+ _aws_cdk_aws_glue_alpha_ClassificationString(p.classificationString);
123
+ visitedObjects.delete(p);
124
+ }
125
+ function _aws_cdk_aws_glue_alpha_ScalaJobExecutableProps(p) {
126
+ if (p == null)
127
+ return;
128
+ visitedObjects.add(p);
129
+ if (!visitedObjects.has(p.glueVersion))
130
+ _aws_cdk_aws_glue_alpha_GlueVersion(p.glueVersion);
131
+ if (!visitedObjects.has(p.script))
132
+ _aws_cdk_aws_glue_alpha_Code(p.script);
133
+ if (!visitedObjects.has(p.extraFiles))
134
+ _aws_cdk_aws_glue_alpha_Code(p.extraFiles);
135
+ if (!visitedObjects.has(p.extraJars))
136
+ _aws_cdk_aws_glue_alpha_Code(p.extraJars);
137
+ visitedObjects.delete(p);
138
+ }
139
+ function _aws_cdk_aws_glue_alpha_S3Code(p) {
140
+ }
141
+ function _aws_cdk_aws_glue_alpha_AssetCode(p) {
142
+ }
143
+ function _aws_cdk_aws_glue_alpha_InputFormat(p) {
144
+ }
145
+ function _aws_cdk_aws_glue_alpha_GlueVersion(p) {
146
+ }
147
+ function _aws_cdk_aws_glue_alpha_PythonShellExecutableProps(p) {
148
+ if (p == null)
149
+ return;
150
+ visitedObjects.add(p);
151
+ if (!visitedObjects.has(p.glueVersion))
152
+ _aws_cdk_aws_glue_alpha_GlueVersion(p.glueVersion);
153
+ if (!visitedObjects.has(p.pythonVersion))
154
+ _aws_cdk_aws_glue_alpha_PythonVersion(p.pythonVersion);
155
+ if (!visitedObjects.has(p.script))
156
+ _aws_cdk_aws_glue_alpha_Code(p.script);
157
+ if (!visitedObjects.has(p.extraFiles))
158
+ _aws_cdk_aws_glue_alpha_Code(p.extraFiles);
159
+ if (!visitedObjects.has(p.extraPythonFiles))
160
+ _aws_cdk_aws_glue_alpha_Code(p.extraPythonFiles);
161
+ visitedObjects.delete(p);
162
+ }
163
+ function _aws_cdk_aws_glue_alpha_ClassificationString(p) {
164
+ }
165
+ function _aws_cdk_aws_glue_alpha_PythonSparkJobExecutableProps(p) {
166
+ if (p == null)
167
+ return;
168
+ visitedObjects.add(p);
169
+ if (!visitedObjects.has(p.glueVersion))
170
+ _aws_cdk_aws_glue_alpha_GlueVersion(p.glueVersion);
171
+ if (!visitedObjects.has(p.pythonVersion))
172
+ _aws_cdk_aws_glue_alpha_PythonVersion(p.pythonVersion);
173
+ if (!visitedObjects.has(p.script))
174
+ _aws_cdk_aws_glue_alpha_Code(p.script);
175
+ if (!visitedObjects.has(p.extraFiles))
176
+ _aws_cdk_aws_glue_alpha_Code(p.extraFiles);
177
+ if (!visitedObjects.has(p.extraJars))
178
+ _aws_cdk_aws_glue_alpha_Code(p.extraJars);
179
+ if (!visitedObjects.has(p.extraPythonFiles))
180
+ _aws_cdk_aws_glue_alpha_Code(p.extraPythonFiles);
181
+ visitedObjects.delete(p);
182
+ }
183
+ function _aws_cdk_aws_glue_alpha_Database(p) {
184
+ }
185
+ function _aws_cdk_aws_glue_alpha_Code(p) {
186
+ }
187
+ function _aws_cdk_aws_glue_alpha_Connection(p) {
188
+ }
189
+ function _aws_cdk_aws_glue_alpha_JobExecutableConfig(p) {
190
+ if (p == null)
191
+ return;
192
+ visitedObjects.add(p);
193
+ if (!visitedObjects.has(p.glueVersion))
194
+ _aws_cdk_aws_glue_alpha_GlueVersion(p.glueVersion);
195
+ if (!visitedObjects.has(p.language))
196
+ _aws_cdk_aws_glue_alpha_JobLanguage(p.language);
197
+ if (!visitedObjects.has(p.script))
198
+ _aws_cdk_aws_glue_alpha_Code(p.script);
199
+ if (!visitedObjects.has(p.type))
200
+ _aws_cdk_aws_glue_alpha_JobType(p.type);
201
+ if (!visitedObjects.has(p.extraFiles))
202
+ _aws_cdk_aws_glue_alpha_Code(p.extraFiles);
203
+ if (!visitedObjects.has(p.extraJars))
204
+ _aws_cdk_aws_glue_alpha_Code(p.extraJars);
205
+ if (!visitedObjects.has(p.extraPythonFiles))
206
+ _aws_cdk_aws_glue_alpha_Code(p.extraPythonFiles);
207
+ if (!visitedObjects.has(p.pythonVersion))
208
+ _aws_cdk_aws_glue_alpha_PythonVersion(p.pythonVersion);
209
+ visitedObjects.delete(p);
210
+ }
211
+ function _aws_cdk_aws_glue_alpha_JobProps(p) {
212
+ if (p == null)
213
+ return;
214
+ visitedObjects.add(p);
215
+ if (!visitedObjects.has(p.executable))
216
+ _aws_cdk_aws_glue_alpha_JobExecutable(p.executable);
217
+ if (!visitedObjects.has(p.connections))
218
+ _aws_cdk_aws_glue_alpha_IConnection(p.connections);
219
+ if (!visitedObjects.has(p.continuousLogging))
220
+ _aws_cdk_aws_glue_alpha_ContinuousLoggingProps(p.continuousLogging);
221
+ if (!visitedObjects.has(p.securityConfiguration))
222
+ _aws_cdk_aws_glue_alpha_ISecurityConfiguration(p.securityConfiguration);
223
+ if (!visitedObjects.has(p.sparkUI))
224
+ _aws_cdk_aws_glue_alpha_SparkUIProps(p.sparkUI);
225
+ if (!visitedObjects.has(p.workerType))
226
+ _aws_cdk_aws_glue_alpha_WorkerType(p.workerType);
227
+ visitedObjects.delete(p);
228
+ }
229
+ function _aws_cdk_aws_glue_alpha_SecurityConfiguration(p) {
230
+ }
231
+ function _aws_cdk_aws_glue_alpha_SerializationLibrary(p) {
232
+ }
233
+ function _aws_cdk_aws_glue_alpha_TableProps(p) {
234
+ if (p == null)
235
+ return;
236
+ visitedObjects.add(p);
237
+ if (!visitedObjects.has(p.columns))
238
+ _aws_cdk_aws_glue_alpha_Column(p.columns);
239
+ if (!visitedObjects.has(p.database))
240
+ _aws_cdk_aws_glue_alpha_IDatabase(p.database);
241
+ if (!visitedObjects.has(p.dataFormat))
242
+ _aws_cdk_aws_glue_alpha_DataFormat(p.dataFormat);
243
+ if (!visitedObjects.has(p.encryption))
244
+ _aws_cdk_aws_glue_alpha_TableEncryption(p.encryption);
245
+ if (!visitedObjects.has(p.partitionKeys))
246
+ _aws_cdk_aws_glue_alpha_Column(p.partitionKeys);
247
+ visitedObjects.delete(p);
248
+ }
249
+ function _aws_cdk_aws_glue_alpha_JobExecutable(p) {
250
+ }
251
+ function _aws_cdk_aws_glue_alpha_DataFormat(p) {
252
+ }
253
+ function _aws_cdk_aws_glue_alpha_Schema(p) {
254
+ }
255
+ function _aws_cdk_aws_glue_alpha_IJob(p) {
256
+ }
257
+ function _aws_cdk_aws_glue_alpha_Table(p) {
258
+ }
259
+ function _aws_cdk_aws_glue_alpha_Job(p) {
260
+ }
261
+ function print(name, deprecationMessage) {
262
+ const deprecated = process.env.JSII_DEPRECATED;
263
+ const deprecationMode = ["warn", "fail", "quiet"].includes(deprecated) ? deprecated : "warn";
264
+ const message = `${name} is deprecated.\n ${deprecationMessage}\n This API will be removed in the next major release.`;
265
+ switch (deprecationMode) {
266
+ case "fail":
267
+ throw new DeprecationError(message);
268
+ case "warn":
269
+ console.warn("[WARNING]", message);
270
+ break;
271
+ }
272
+ }
273
+ const visitedObjects = new Set();
274
+ class DeprecationError extends Error {
275
+ }
276
+ module.exports = { print, _aws_cdk_aws_glue_alpha_JobState, _aws_cdk_aws_glue_alpha_MetricType, _aws_cdk_aws_glue_alpha_JobLanguage, _aws_cdk_aws_glue_alpha_PythonVersion, _aws_cdk_aws_glue_alpha_S3EncryptionMode, _aws_cdk_aws_glue_alpha_CloudWatchEncryptionMode, _aws_cdk_aws_glue_alpha_JobBookmarksEncryptionMode, _aws_cdk_aws_glue_alpha_TableEncryption, _aws_cdk_aws_glue_alpha_Type, _aws_cdk_aws_glue_alpha_TableAttributes, _aws_cdk_aws_glue_alpha_DatabaseProps, _aws_cdk_aws_glue_alpha_Column, _aws_cdk_aws_glue_alpha_IConnection, _aws_cdk_aws_glue_alpha_IDatabase, _aws_cdk_aws_glue_alpha_ISecurityConfiguration, _aws_cdk_aws_glue_alpha_ITable, _aws_cdk_aws_glue_alpha_SparkUILoggingLocation, _aws_cdk_aws_glue_alpha_CodeConfig, _aws_cdk_aws_glue_alpha_ContinuousLoggingProps, _aws_cdk_aws_glue_alpha_JobAttributes, _aws_cdk_aws_glue_alpha_SparkUIProps, _aws_cdk_aws_glue_alpha_ConnectionProps, _aws_cdk_aws_glue_alpha_S3Encryption, _aws_cdk_aws_glue_alpha_JobBookmarksEncryption, _aws_cdk_aws_glue_alpha_CloudWatchEncryption, _aws_cdk_aws_glue_alpha_ConnectionOptions, _aws_cdk_aws_glue_alpha_SecurityConfigurationProps, _aws_cdk_aws_glue_alpha_OutputFormat, _aws_cdk_aws_glue_alpha_ConnectionType, _aws_cdk_aws_glue_alpha_WorkerType, _aws_cdk_aws_glue_alpha_JobType, _aws_cdk_aws_glue_alpha_DataFormatProps, _aws_cdk_aws_glue_alpha_ScalaJobExecutableProps, _aws_cdk_aws_glue_alpha_S3Code, _aws_cdk_aws_glue_alpha_AssetCode, _aws_cdk_aws_glue_alpha_InputFormat, _aws_cdk_aws_glue_alpha_GlueVersion, _aws_cdk_aws_glue_alpha_PythonShellExecutableProps, _aws_cdk_aws_glue_alpha_ClassificationString, _aws_cdk_aws_glue_alpha_PythonSparkJobExecutableProps, _aws_cdk_aws_glue_alpha_Database, _aws_cdk_aws_glue_alpha_Code, _aws_cdk_aws_glue_alpha_Connection, _aws_cdk_aws_glue_alpha_JobExecutableConfig, _aws_cdk_aws_glue_alpha_JobProps, _aws_cdk_aws_glue_alpha_SecurityConfiguration, _aws_cdk_aws_glue_alpha_SerializationLibrary, _aws_cdk_aws_glue_alpha_TableProps, _aws_cdk_aws_glue_alpha_JobExecutable, _aws_cdk_aws_glue_alpha_DataFormat, _aws_cdk_aws_glue_alpha_Schema, _aws_cdk_aws_glue_alpha_IJob, _aws_cdk_aws_glue_alpha_Table, _aws_cdk_aws_glue_alpha_Job };
277
+ module.exports.DeprecationError = DeprecationError;
package/README.md CHANGED
@@ -36,7 +36,8 @@ These jobs run in an Apache Spark environment managed by AWS Glue.
36
36
  An ETL job processes data in batches using Apache Spark.
37
37
 
38
38
  ```ts
39
- new glue.Job(stack, 'ScalaSparkEtlJob', {
39
+ declare const bucket: s3.Bucket;
40
+ new glue.Job(this, 'ScalaSparkEtlJob', {
40
41
  executable: glue.JobExecutable.scalaEtl({
41
42
  glueVersion: glue.GlueVersion.V2_0,
42
43
  script: glue.Code.fromBucket(bucket, 'src/com/example/HelloWorld.scala'),
@@ -52,7 +53,7 @@ new glue.Job(stack, 'ScalaSparkEtlJob', {
52
53
  A Streaming job is similar to an ETL job, except that it performs ETL on data streams. It uses the Apache Spark Structured Streaming framework. Some Spark job features are not available to streaming ETL jobs.
53
54
 
54
55
  ```ts
55
- new glue.Job(stack, 'PythonSparkStreamingJob', {
56
+ new glue.Job(this, 'PythonSparkStreamingJob', {
56
57
  executable: glue.JobExecutable.pythonStreaming({
57
58
  glueVersion: glue.GlueVersion.V2_0,
58
59
  pythonVersion: glue.PythonVersion.THREE,
@@ -68,10 +69,11 @@ A Python shell job runs Python scripts as a shell and supports a Python version
68
69
  This can be used to schedule and run tasks that don't require an Apache Spark environment.
69
70
 
70
71
  ```ts
71
- new glue.Job(stack, 'PythonShellJob', {
72
+ declare const bucket: s3.Bucket;
73
+ new glue.Job(this, 'PythonShellJob', {
72
74
  executable: glue.JobExecutable.pythonShell({
73
75
  glueVersion: glue.GlueVersion.V1_0,
74
- pythonVersion: PythonVersion.THREE,
76
+ pythonVersion: glue.PythonVersion.THREE,
75
77
  script: glue.Code.fromBucket(bucket, 'script.py'),
76
78
  }),
77
79
  description: 'an example Python Shell job',
@@ -85,8 +87,10 @@ See [documentation](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) for
85
87
  A `Connection` allows Glue jobs, crawlers and development endpoints to access certain types of data stores. For example, to create a network connection to connect to a data source within a VPC:
86
88
 
87
89
  ```ts
88
- new glue.Connection(stack, 'MyConnection', {
89
- connectionType: glue.ConnectionTypes.NETWORK,
90
+ declare const securityGroup: ec2.SecurityGroup;
91
+ declare const subnet: ec2.Subnet;
92
+ new glue.Connection(this, 'MyConnection', {
93
+ type: glue.ConnectionType.NETWORK,
90
94
  // The security groups granting AWS Glue inbound access to the data source within the VPC
91
95
  securityGroups: [securityGroup],
92
96
  // The VPC subnet which contains the data source
@@ -103,7 +107,7 @@ See [Adding a Connection to Your Data Store](https://docs.aws.amazon.com/glue/la
103
107
  A `SecurityConfiguration` is a set of security properties that can be used by AWS Glue to encrypt data at rest.
104
108
 
105
109
  ```ts
106
- new glue.SecurityConfiguration(stack, 'MySecurityConfiguration', {
110
+ new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {
107
111
  securityConfigurationName: 'name',
108
112
  cloudWatchEncryption: {
109
113
  mode: glue.CloudWatchEncryptionMode.KMS,
@@ -120,7 +124,8 @@ new glue.SecurityConfiguration(stack, 'MySecurityConfiguration', {
120
124
  By default, a shared KMS key is created for use with the encryption configurations that require one. You can also supply your own key for each encryption config, for example, for CloudWatch encryption:
121
125
 
122
126
  ```ts
123
- new glue.SecurityConfiguration(stack, 'MySecurityConfiguration', {
127
+ declare const key: kms.Key;
128
+ new glue.SecurityConfiguration(this, 'MySecurityConfiguration', {
124
129
  securityConfigurationName: 'name',
125
130
  cloudWatchEncryption: {
126
131
  mode: glue.CloudWatchEncryptionMode.KMS,
@@ -136,8 +141,8 @@ See [documentation](https://docs.aws.amazon.com/glue/latest/dg/encryption-securi
136
141
  A `Database` is a logical grouping of `Tables` in the Glue Catalog.
137
142
 
138
143
  ```ts
139
- new glue.Database(stack, 'MyDatabase', {
140
- databaseName: 'my_database'
144
+ new glue.Database(this, 'MyDatabase', {
145
+ databaseName: 'my_database',
141
146
  });
142
147
  ```
143
148
 
@@ -146,7 +151,8 @@ new glue.Database(stack, 'MyDatabase', {
146
151
  A Glue table describes a table of data in S3: its structure (column names and types), location of data (S3 objects with a common prefix in a S3 bucket), and format for the files (Json, Avro, Parquet, etc.):
147
152
 
148
153
  ```ts
149
- new glue.Table(stack, 'MyTable', {
154
+ declare const myDatabase: glue.Database;
155
+ new glue.Table(this, 'MyTable', {
150
156
  database: myDatabase,
151
157
  tableName: 'my_table',
152
158
  columns: [{
@@ -154,20 +160,29 @@ new glue.Table(stack, 'MyTable', {
154
160
  type: glue.Schema.STRING,
155
161
  }, {
156
162
  name: 'col2',
157
- type: glue.Schema.array(Schema.STRING),
163
+ type: glue.Schema.array(glue.Schema.STRING),
158
164
  comment: 'col2 is an array of strings' // comment is optional
159
165
  }],
160
- dataFormat: glue.DataFormat.JSON
166
+ dataFormat: glue.DataFormat.JSON,
161
167
  });
162
168
  ```
163
169
 
164
170
  By default, a S3 bucket will be created to store the table's data but you can manually pass the `bucket` and `s3Prefix`:
165
171
 
166
172
  ```ts
167
- new glue.Table(stack, 'MyTable', {
173
+ declare const myBucket: s3.Bucket;
174
+ declare const myDatabase: glue.Database;
175
+ new glue.Table(this, 'MyTable', {
168
176
  bucket: myBucket,
169
- s3Prefix: 'my-table/'
170
- ...
177
+ s3Prefix: 'my-table/',
178
+ // ...
179
+ database: myDatabase,
180
+ tableName: 'my_table',
181
+ columns: [{
182
+ name: 'col1',
183
+ type: glue.Schema.STRING,
184
+ }],
185
+ dataFormat: glue.DataFormat.JSON,
171
186
  });
172
187
  ```
173
188
 
@@ -178,21 +193,22 @@ By default, an S3 bucket will be created to store the table's data and stored in
178
193
  To improve query performance, a table can specify `partitionKeys` on which data is stored and queried separately. For example, you might partition a table by `year` and `month` to optimize queries based on a time window:
179
194
 
180
195
  ```ts
181
- new glue.Table(stack, 'MyTable', {
196
+ declare const myDatabase: glue.Database;
197
+ new glue.Table(this, 'MyTable', {
182
198
  database: myDatabase,
183
199
  tableName: 'my_table',
184
200
  columns: [{
185
201
  name: 'col1',
186
- type: glue.Schema.STRING
202
+ type: glue.Schema.STRING,
187
203
  }],
188
204
  partitionKeys: [{
189
205
  name: 'year',
190
- type: glue.Schema.SMALL_INT
206
+ type: glue.Schema.SMALL_INT,
191
207
  }, {
192
208
  name: 'month',
193
- type: glue.Schema.SMALL_INT
209
+ type: glue.Schema.SMALL_INT,
194
210
  }],
195
- dataFormat: glue.DataFormat.JSON
211
+ dataFormat: glue.DataFormat.JSON,
196
212
  });
197
213
  ```
198
214
 
@@ -204,52 +220,98 @@ You can enable encryption on a Table's data:
204
220
  * [S3Managed](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) - Server side encryption (`SSE-S3`) with an Amazon S3-managed key.
205
221
 
206
222
  ```ts
207
- new glue.Table(stack, 'MyTable', {
208
- encryption: glue.TableEncryption.S3_MANAGED
209
- ...
223
+ declare const myDatabase: glue.Database;
224
+ new glue.Table(this, 'MyTable', {
225
+ encryption: glue.TableEncryption.S3_MANAGED,
226
+ // ...
227
+ database: myDatabase,
228
+ tableName: 'my_table',
229
+ columns: [{
230
+ name: 'col1',
231
+ type: glue.Schema.STRING,
232
+ }],
233
+ dataFormat: glue.DataFormat.JSON,
210
234
  });
211
235
  ```
212
236
 
213
237
  * [Kms](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) - Server-side encryption (`SSE-KMS`) with an AWS KMS Key managed by the account owner.
214
238
 
215
239
  ```ts
240
+ declare const myDatabase: glue.Database;
216
241
  // KMS key is created automatically
217
- new glue.Table(stack, 'MyTable', {
218
- encryption: glue.TableEncryption.KMS
219
- ...
242
+ new glue.Table(this, 'MyTable', {
243
+ encryption: glue.TableEncryption.KMS,
244
+ // ...
245
+ database: myDatabase,
246
+ tableName: 'my_table',
247
+ columns: [{
248
+ name: 'col1',
249
+ type: glue.Schema.STRING,
250
+ }],
251
+ dataFormat: glue.DataFormat.JSON,
220
252
  });
221
253
 
222
254
  // with an explicit KMS key
223
- new glue.Table(stack, 'MyTable', {
255
+ new glue.Table(this, 'MyTable', {
224
256
  encryption: glue.TableEncryption.KMS,
225
- encryptionKey: new kms.Key(stack, 'MyKey')
226
- ...
257
+ encryptionKey: new kms.Key(this, 'MyKey'),
258
+ // ...
259
+ database: myDatabase,
260
+ tableName: 'my_table',
261
+ columns: [{
262
+ name: 'col1',
263
+ type: glue.Schema.STRING,
264
+ }],
265
+ dataFormat: glue.DataFormat.JSON,
227
266
  });
228
267
  ```
229
268
 
230
269
  * [KmsManaged](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) - Server-side encryption (`SSE-KMS`), like `Kms`, except with an AWS KMS Key managed by the AWS Key Management Service.
231
270
 
232
271
  ```ts
233
- new glue.Table(stack, 'MyTable', {
234
- encryption: glue.TableEncryption.KMS_MANAGED
235
- ...
272
+ declare const myDatabase: glue.Database;
273
+ new glue.Table(this, 'MyTable', {
274
+ encryption: glue.TableEncryption.KMS_MANAGED,
275
+ // ...
276
+ database: myDatabase,
277
+ tableName: 'my_table',
278
+ columns: [{
279
+ name: 'col1',
280
+ type: glue.Schema.STRING,
281
+ }],
282
+ dataFormat: glue.DataFormat.JSON,
236
283
  });
237
284
  ```
238
285
 
239
286
  * [ClientSideKms](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html#client-side-encryption-kms-managed-master-key-intro) - Client-side encryption (`CSE-KMS`) with an AWS KMS Key managed by the account owner.
240
287
 
241
288
  ```ts
289
+ declare const myDatabase: glue.Database;
242
290
  // KMS key is created automatically
243
- new glue.Table(stack, 'MyTable', {
244
- encryption: glue.TableEncryption.CLIENT_SIDE_KMS
245
- ...
291
+ new glue.Table(this, 'MyTable', {
292
+ encryption: glue.TableEncryption.CLIENT_SIDE_KMS,
293
+ // ...
294
+ database: myDatabase,
295
+ tableName: 'my_table',
296
+ columns: [{
297
+ name: 'col1',
298
+ type: glue.Schema.STRING,
299
+ }],
300
+ dataFormat: glue.DataFormat.JSON,
246
301
  });
247
302
 
248
303
  // with an explicit KMS key
249
- new glue.Table(stack, 'MyTable', {
304
+ new glue.Table(this, 'MyTable', {
250
305
  encryption: glue.TableEncryption.CLIENT_SIDE_KMS,
251
- encryptionKey: new kms.Key(stack, 'MyKey')
252
- ...
306
+ encryptionKey: new kms.Key(this, 'MyKey'),
307
+ // ...
308
+ database: myDatabase,
309
+ tableName: 'my_table',
310
+ columns: [{
311
+ name: 'col1',
312
+ type: glue.Schema.STRING,
313
+ }],
314
+ dataFormat: glue.DataFormat.JSON,
253
315
  });
254
316
  ```
255
317
 
@@ -260,30 +322,35 @@ new glue.Table(stack, 'MyTable', {
260
322
  A table's schema is a collection of columns, each of which have a `name` and a `type`. Types are recursive structures, consisting of primitive and complex types:
261
323
 
262
324
  ```ts
263
- new glue.Table(stack, 'MyTable', {
325
+ declare const myDatabase: glue.Database;
326
+ new glue.Table(this, 'MyTable', {
264
327
  columns: [{
265
328
  name: 'primitive_column',
266
- type: glue.Schema.STRING
329
+ type: glue.Schema.STRING,
267
330
  }, {
268
331
  name: 'array_column',
269
332
  type: glue.Schema.array(glue.Schema.INTEGER),
270
- comment: 'array<integer>'
333
+ comment: 'array<integer>',
271
334
  }, {
272
335
  name: 'map_column',
273
336
  type: glue.Schema.map(
274
337
  glue.Schema.STRING,
275
338
  glue.Schema.TIMESTAMP),
276
- comment: 'map<string,string>'
339
+ comment: 'map<string,string>',
277
340
  }, {
278
341
  name: 'struct_column',
279
342
  type: glue.Schema.struct([{
280
343
  name: 'nested_column',
281
344
  type: glue.Schema.DATE,
282
- comment: 'nested comment'
345
+ comment: 'nested comment',
283
346
  }]),
284
- comment: "struct<nested_column:date COMMENT 'nested comment'>"
347
+ comment: "struct<nested_column:date COMMENT 'nested comment'>",
285
348
  }],
286
- ...
349
+ // ...
350
+ database: myDatabase,
351
+ tableName: 'my_table',
352
+ dataFormat: glue.DataFormat.JSON,
353
+ });
287
354
  ```
288
355
 
289
356
  ### Primitives
package/lib/code.js CHANGED
@@ -35,7 +35,7 @@ class Code {
35
35
  }
36
36
  exports.Code = Code;
37
37
  _a = JSII_RTTI_SYMBOL_1;
38
- Code[_a] = { fqn: "@aws-cdk/aws-glue-alpha.Code", version: "2.0.0-alpha.5" };
38
+ Code[_a] = { fqn: "@aws-cdk/aws-glue-alpha.Code", version: "2.0.0-alpha.9" };
39
39
  /**
40
40
  * (experimental) Glue job Code from an S3 bucket.
41
41
  *
@@ -67,7 +67,7 @@ class S3Code extends Code {
67
67
  }
68
68
  exports.S3Code = S3Code;
69
69
  _b = JSII_RTTI_SYMBOL_1;
70
- S3Code[_b] = { fqn: "@aws-cdk/aws-glue-alpha.S3Code", version: "2.0.0-alpha.5" };
70
+ S3Code[_b] = { fqn: "@aws-cdk/aws-glue-alpha.S3Code", version: "2.0.0-alpha.9" };
71
71
  /**
72
72
  * (experimental) Job Code from a local file.
73
73
  *
@@ -123,5 +123,5 @@ class AssetCode extends Code {
123
123
  }
124
124
  exports.AssetCode = AssetCode;
125
125
  _c = JSII_RTTI_SYMBOL_1;
126
- AssetCode[_c] = { fqn: "@aws-cdk/aws-glue-alpha.AssetCode", version: "2.0.0-alpha.5" };
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpQ0FBaUM7QUFDakMseUJBQXlCO0FBR3pCLHNEQUFzRDtBQUN0RCxtQ0FBbUM7Ozs7OztBQUluQyxNQUFzQixJQUFJOzs7Ozs7OztJQUdqQixNQUFNLENBQUMsVUFBVSxDQUFDLE1BQWtCLEVBQUUsR0FBVztRQUN0RCxPQUFPLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDOzs7Ozs7O0lBR00sTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFZLEVBQUUsT0FBK0I7UUFDbkUsT0FBTyxJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7QUFWSCxvQkFjQzs7Ozs7Ozs7QUFHRCxNQUFhLE1BQU8sU0FBUSxJQUFJOzs7O0lBQzlCLFlBQTZCLE1BQWtCLEVBQW1CLEdBQVc7UUFDM0UsS0FBSyxFQUFFLENBQUM7UUFEbUIsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUFtQixRQUFHLEdBQUgsR0FBRyxDQUFRO0lBRTdFLENBQUM7Ozs7OztJQUVNLElBQUksQ0FBQyxNQUE0QixFQUFFLFNBQXlCO1FBQ2pFLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsT0FBTztZQUNMLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVO2dCQUNsQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUc7YUFDcEI7U0FDRixDQUFDO0lBQ0osQ0FBQzs7QUFiSCx3QkFjQzs7Ozs7Ozs7QUFHRCxNQUFhLFNBQVUsU0FBUSxJQUFJOzs7OztJQUlqQyxZQUE2QixJQUFZLEVBQW1CLFVBQWlDLEVBQUc7UUFDOUYsS0FBSyxFQUFFLENBQUM7UUFEbUIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFtQixZQUFPLEdBQVAsT0FBTyxDQUE2QjtRQUc5RixJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSwyQ0FBMkMsQ0FBQyxDQUFDO1NBQ3BGO0lBQ0gsQ0FBQzs7Ozs7O0lBRU0sSUFBSSxDQUFDLEtBQTJCLEVBQUUsU0FBeUI7UUFDaEUscUZBQXFGO1FBQ3JGLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtnQkFDeEUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLEdBQUcsSUFBSSxDQUFDLE9BQU87YUFDaEIsQ0FBQyxDQUFDO1NBQ0o7YUFBTSxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzRCxNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxLQUFLO2dCQUN4Ryw2Q0FBNkMsQ0FBQyxDQUFDO1NBQ2xEO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsT0FBTztZQUNMLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZO2dCQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO2FBQ2xDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNLLFFBQVEsQ0FBQyxDQUFTO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQUEsQ0FBQzs7QUF2Q0osOEJBd0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0ICogYXMgczNhc3NldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzLWFzc2V0cyc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tICdjb25zdHJ1Y3RzJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvZGUge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUJ1Y2tldChidWNrZXQ6IHMzLklCdWNrZXQsIGtleTogc3RyaW5nKTogUzNDb2RlIHtcbiAgICByZXR1cm4gbmV3IFMzQ29kZShidWNrZXQsIGtleSk7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIGZyb21Bc3NldChwYXRoOiBzdHJpbmcsIG9wdGlvbnM/OiBzM2Fzc2V0cy5Bc3NldE9wdGlvbnMpOiBBc3NldENvZGUge1xuICAgIHJldHVybiBuZXcgQXNzZXRDb2RlKHBhdGgsIG9wdGlvbnMpO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgYWJzdHJhY3QgYmluZChzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGdyYW50YWJsZTogaWFtLklHcmFudGFibGUpOiBDb2RlQ29uZmlnO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgUzNDb2RlIGV4dGVuZHMgQ29kZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYnVja2V0OiBzMy5JQnVja2V0LCBwcml2YXRlIHJlYWRvbmx5IGtleTogc3RyaW5nKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kKF9zY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGdyYW50YWJsZTogaWFtLklHcmFudGFibGUpOiBDb2RlQ29uZmlnIHtcbiAgICB0aGlzLmJ1Y2tldC5ncmFudFJlYWQoZ3JhbnRhYmxlLCB0aGlzLmtleSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHMzTG9jYXRpb246IHtcbiAgICAgICAgYnVja2V0TmFtZTogdGhpcy5idWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgb2JqZWN0S2V5OiB0aGlzLmtleSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIEFzc2V0Q29kZSBleHRlbmRzIENvZGUge1xuICBwcml2YXRlIGFzc2V0PzogczNhc3NldHMuQXNzZXQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwYXRoOiBzdHJpbmcsIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogczNhc3NldHMuQXNzZXRPcHRpb25zID0geyB9KSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGlmIChmcy5sc3RhdFN5bmModGhpcy5wYXRoKS5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvZGUgcGF0aCAke3RoaXMucGF0aH0gaXMgYSBkaXJlY3RvcnkuIE9ubHkgZmlsZXMgYXJlIHN1cHBvcnRlZGApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBiaW5kKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgZ3JhbnRhYmxlOiBpYW0uSUdyYW50YWJsZSk6IENvZGVDb25maWcge1xuICAgIC8vIElmIHRoZSBzYW1lIEFzc2V0Q29kZSBpcyB1c2VkIG11bHRpcGxlIHRpbWVzLCByZXRhaW4gb25seSB0aGUgZmlyc3QgaW5zdGFudGlhdGlvbi5cbiAgICBpZiAoIXRoaXMuYXNzZXQpIHtcbiAgICAgIHRoaXMuYXNzZXQgPSBuZXcgczNhc3NldHMuQXNzZXQoc2NvcGUsIGBDb2RlJHt0aGlzLmhhc2hjb2RlKHRoaXMucGF0aCl9YCwge1xuICAgICAgICBwYXRoOiB0aGlzLnBhdGgsXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoY2RrLlN0YWNrLm9mKHRoaXMuYXNzZXQpICE9PSBjZGsuU3RhY2sub2Yoc2NvcGUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEFzc2V0IGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoIGFub3RoZXIgc3RhY2sgJyR7Y2RrLlN0YWNrLm9mKHRoaXMuYXNzZXQpLnN0YWNrTmFtZX0nLiBgICtcbiAgICAgICAgJ0NyZWF0ZSBhIG5ldyBDb2RlIGluc3RhbmNlIGZvciBldmVyeSBzdGFjay4nKTtcbiAgICB9XG4gICAgdGhpcy5hc3NldC5ncmFudFJlYWQoZ3JhbnRhYmxlKTtcbiAgICByZXR1cm4ge1xuICAgICAgczNMb2NhdGlvbjoge1xuICAgICAgICBidWNrZXROYW1lOiB0aGlzLmFzc2V0LnMzQnVja2V0TmFtZSxcbiAgICAgICAgb2JqZWN0S2V5OiB0aGlzLmFzc2V0LnMzT2JqZWN0S2V5LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEhhc2ggYSBzdHJpbmdcbiAgICovXG4gIHByaXZhdGUgaGFzaGNvZGUoczogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBoYXNoID0gY3J5cHRvLmNyZWF0ZUhhc2goJ21kNScpO1xuICAgIGhhc2gudXBkYXRlKHMpO1xuICAgIHJldHVybiBoYXNoLmRpZ2VzdCgnaGV4Jyk7XG4gIH07XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUNvbmZpZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgczNMb2NhdGlvbjogczMuTG9jYXRpb247XG59Il19
126
+ AssetCode[_c] = { fqn: "@aws-cdk/aws-glue-alpha.AssetCode", version: "2.0.0-alpha.9" };
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpQ0FBaUM7QUFDakMseUJBQXlCO0FBR3pCLHNEQUFzRDtBQUN0RCxtQ0FBbUM7Ozs7OztBQUluQyxNQUFzQixJQUFJOzs7Ozs7OztJQUdqQixNQUFNLENBQUMsVUFBVSxDQUFDLE1BQWtCLEVBQUUsR0FBVztRQUN0RCxPQUFPLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztLQUNoQzs7Ozs7OztJQUdNLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBWSxFQUFFLE9BQStCO1FBQ25FLE9BQU8sSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQ3JDOztBQVZILG9CQWNDOzs7Ozs7OztBQUdELE1BQWEsTUFBTyxTQUFRLElBQUk7Ozs7SUFDOUIsWUFBNkIsTUFBa0IsRUFBbUIsR0FBVztRQUMzRSxLQUFLLEVBQUUsQ0FBQztRQURtQixXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQW1CLFFBQUcsR0FBSCxHQUFHLENBQVE7S0FFNUU7Ozs7OztJQUVNLElBQUksQ0FBQyxNQUE0QixFQUFFLFNBQXlCO1FBQ2pFLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsT0FBTztZQUNMLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVO2dCQUNsQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUc7YUFDcEI7U0FDRixDQUFDO0tBQ0g7O0FBYkgsd0JBY0M7Ozs7Ozs7O0FBR0QsTUFBYSxTQUFVLFNBQVEsSUFBSTs7Ozs7SUFJakMsWUFBNkIsSUFBWSxFQUFtQixVQUFpQyxFQUFHO1FBQzlGLEtBQUssRUFBRSxDQUFDO1FBRG1CLFNBQUksR0FBSixJQUFJLENBQVE7UUFBbUIsWUFBTyxHQUFQLE9BQU8sQ0FBNkI7UUFHOUYsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksMkNBQTJDLENBQUMsQ0FBQztTQUNwRjtLQUNGOzs7Ozs7SUFFTSxJQUFJLENBQUMsS0FBMkIsRUFBRSxTQUF5QjtRQUNoRSxxRkFBcUY7UUFDckYsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFO2dCQUN4RSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsR0FBRyxJQUFJLENBQUMsT0FBTzthQUNoQixDQUFDLENBQUM7U0FDSjthQUFNLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNELE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEtBQUs7Z0JBQ3hHLDZDQUE2QyxDQUFDLENBQUM7U0FDbEQ7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoQyxPQUFPO1lBQ0wsVUFBVSxFQUFFO2dCQUNWLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVk7Z0JBQ25DLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7YUFDbEM7U0FDRixDQUFDO0tBQ0g7SUFFRDs7T0FFRztJQUNLLFFBQVEsQ0FBQyxDQUFTO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUMzQjtJQUFBLENBQUM7O0FBdkNKLDhCQXdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgczMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCAqIGFzIHMzYXNzZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMy1hc3NldHMnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSAnY29uc3RydWN0cyc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb2RlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIGZyb21CdWNrZXQoYnVja2V0OiBzMy5JQnVja2V0LCBrZXk6IHN0cmluZyk6IFMzQ29kZSB7XG4gICAgcmV0dXJuIG5ldyBTM0NvZGUoYnVja2V0LCBrZXkpO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyBmcm9tQXNzZXQocGF0aDogc3RyaW5nLCBvcHRpb25zPzogczNhc3NldHMuQXNzZXRPcHRpb25zKTogQXNzZXRDb2RlIHtcbiAgICByZXR1cm4gbmV3IEFzc2V0Q29kZShwYXRoLCBvcHRpb25zKTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFic3RyYWN0IGJpbmQoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBncmFudGFibGU6IGlhbS5JR3JhbnRhYmxlKTogQ29kZUNvbmZpZztcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIFMzQ29kZSBleHRlbmRzIENvZGUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGJ1Y2tldDogczMuSUJ1Y2tldCwgcHJpdmF0ZSByZWFkb25seSBrZXk6IHN0cmluZykge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgYmluZChfc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBncmFudGFibGU6IGlhbS5JR3JhbnRhYmxlKTogQ29kZUNvbmZpZyB7XG4gICAgdGhpcy5idWNrZXQuZ3JhbnRSZWFkKGdyYW50YWJsZSwgdGhpcy5rZXkpO1xuICAgIHJldHVybiB7XG4gICAgICBzM0xvY2F0aW9uOiB7XG4gICAgICAgIGJ1Y2tldE5hbWU6IHRoaXMuYnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgIG9iamVjdEtleTogdGhpcy5rZXksXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBBc3NldENvZGUgZXh0ZW5kcyBDb2RlIHtcbiAgcHJpdmF0ZSBhc3NldD86IHMzYXNzZXRzLkFzc2V0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcGF0aDogc3RyaW5nLCBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IHMzYXNzZXRzLkFzc2V0T3B0aW9ucyA9IHsgfSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICBpZiAoZnMubHN0YXRTeW5jKHRoaXMucGF0aCkuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb2RlIHBhdGggJHt0aGlzLnBhdGh9IGlzIGEgZGlyZWN0b3J5LiBPbmx5IGZpbGVzIGFyZSBzdXBwb3J0ZWRgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYmluZChzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGdyYW50YWJsZTogaWFtLklHcmFudGFibGUpOiBDb2RlQ29uZmlnIHtcbiAgICAvLyBJZiB0aGUgc2FtZSBBc3NldENvZGUgaXMgdXNlZCBtdWx0aXBsZSB0aW1lcywgcmV0YWluIG9ubHkgdGhlIGZpcnN0IGluc3RhbnRpYXRpb24uXG4gICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gICAgICB0aGlzLmFzc2V0ID0gbmV3IHMzYXNzZXRzLkFzc2V0KHNjb3BlLCBgQ29kZSR7dGhpcy5oYXNoY29kZSh0aGlzLnBhdGgpfWAsIHtcbiAgICAgICAgcGF0aDogdGhpcy5wYXRoLFxuICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGNkay5TdGFjay5vZih0aGlzLmFzc2V0KSAhPT0gY2RrLlN0YWNrLm9mKHNjb3BlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBc3NldCBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCBhbm90aGVyIHN0YWNrICcke2Nkay5TdGFjay5vZih0aGlzLmFzc2V0KS5zdGFja05hbWV9Jy4gYCArXG4gICAgICAgICdDcmVhdGUgYSBuZXcgQ29kZSBpbnN0YW5jZSBmb3IgZXZlcnkgc3RhY2suJyk7XG4gICAgfVxuICAgIHRoaXMuYXNzZXQuZ3JhbnRSZWFkKGdyYW50YWJsZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHMzTG9jYXRpb246IHtcbiAgICAgICAgYnVja2V0TmFtZTogdGhpcy5hc3NldC5zM0J1Y2tldE5hbWUsXG4gICAgICAgIG9iamVjdEtleTogdGhpcy5hc3NldC5zM09iamVjdEtleSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYXNoIGEgc3RyaW5nXG4gICAqL1xuICBwcml2YXRlIGhhc2hjb2RlKHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgaGFzaCA9IGNyeXB0by5jcmVhdGVIYXNoKCdtZDUnKTtcbiAgICBoYXNoLnVwZGF0ZShzKTtcbiAgICByZXR1cm4gaGFzaC5kaWdlc3QoJ2hleCcpO1xuICB9O1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIENvZGVDb25maWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHMzTG9jYXRpb246IHMzLkxvY2F0aW9uO1xufSJdfQ==