@aws-cdk/aws-glue-alpha 2.9.0-alpha.0 → 2.13.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 +16 -3
- package/.jsii.tabl.json +52 -52
- package/lib/code.d.ts +10 -39
- package/lib/code.js +11 -34
- package/lib/connection.d.ts +31 -88
- package/lib/connection.js +15 -39
- package/lib/data-format.d.ts +32 -111
- package/lib/data-format.js +29 -91
- package/lib/database.d.ts +14 -47
- package/lib/database.js +3 -11
- package/lib/job-executable.d.ts +65 -136
- package/lib/job-executable.js +43 -66
- package/lib/job.d.ts +107 -215
- package/lib/job.js +60 -62
- package/lib/schema.d.ts +23 -69
- package/lib/schema.js +18 -51
- package/lib/security-configuration.d.ts +31 -83
- package/lib/security-configuration.js +25 -13
- package/lib/table.d.ts +48 -145
- package/lib/table.js +33 -36
- package/package.json +8 -8
package/lib/table.d.ts
CHANGED
|
@@ -7,171 +7,123 @@ import { DataFormat } from './data-format';
|
|
|
7
7
|
import { IDatabase } from './database';
|
|
8
8
|
import { Column } from './schema';
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* @experimental
|
|
10
|
+
* Properties of a Partition Index.
|
|
13
11
|
*/
|
|
14
12
|
export interface PartitionIndex {
|
|
15
13
|
/**
|
|
16
|
-
*
|
|
14
|
+
* The name of the partition index.
|
|
17
15
|
*
|
|
18
16
|
* @default - a name will be generated for you.
|
|
19
|
-
* @experimental
|
|
20
17
|
*/
|
|
21
18
|
readonly indexName?: string;
|
|
22
19
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* The names must correspond to a name in the
|
|
20
|
+
* The partition key names that comprise the partition
|
|
21
|
+
* index. The names must correspond to a name in the
|
|
26
22
|
* table's partition keys.
|
|
27
|
-
*
|
|
28
|
-
* @experimental
|
|
29
23
|
*/
|
|
30
24
|
readonly keyNames: string[];
|
|
31
25
|
}
|
|
32
|
-
/**
|
|
33
|
-
* @experimental
|
|
34
|
-
*/
|
|
35
26
|
export interface ITable extends IResource {
|
|
36
27
|
/**
|
|
37
|
-
* @
|
|
38
|
-
* @attribute true
|
|
28
|
+
* @attribute
|
|
39
29
|
*/
|
|
40
30
|
readonly tableArn: string;
|
|
41
31
|
/**
|
|
42
|
-
* @
|
|
43
|
-
* @attribute true
|
|
32
|
+
* @attribute
|
|
44
33
|
*/
|
|
45
34
|
readonly tableName: string;
|
|
46
35
|
}
|
|
47
36
|
/**
|
|
48
|
-
*
|
|
37
|
+
* Encryption options for a Table.
|
|
49
38
|
*
|
|
50
39
|
* @see https://docs.aws.amazon.com/athena/latest/ug/encryption.html
|
|
51
|
-
* @experimental
|
|
52
40
|
*/
|
|
53
41
|
export declare enum TableEncryption {
|
|
54
|
-
/**
|
|
55
|
-
* @experimental
|
|
56
|
-
*/
|
|
57
42
|
UNENCRYPTED = "Unencrypted",
|
|
58
43
|
/**
|
|
59
|
-
*
|
|
44
|
+
* Server side encryption (SSE) with an Amazon S3-managed key.
|
|
60
45
|
*
|
|
61
46
|
* @see https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
|
62
|
-
* @experimental
|
|
63
47
|
*/
|
|
64
48
|
S3_MANAGED = "SSE-S3",
|
|
65
49
|
/**
|
|
66
|
-
*
|
|
50
|
+
* Server-side encryption (SSE) with an AWS KMS key managed by the account owner.
|
|
67
51
|
*
|
|
68
52
|
* @see https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html
|
|
69
|
-
* @experimental
|
|
70
53
|
*/
|
|
71
54
|
KMS = "SSE-KMS",
|
|
72
55
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
* @experimental
|
|
56
|
+
* Server-side encryption (SSE) with an AWS KMS key managed by the KMS service.
|
|
76
57
|
*/
|
|
77
58
|
KMS_MANAGED = "SSE-KMS-MANAGED",
|
|
78
59
|
/**
|
|
79
|
-
*
|
|
60
|
+
* Client-side encryption (CSE) with an AWS KMS key managed by the account owner.
|
|
80
61
|
*
|
|
81
62
|
* @see https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
|
|
82
|
-
* @experimental
|
|
83
63
|
*/
|
|
84
64
|
CLIENT_SIDE_KMS = "CSE-KMS"
|
|
85
65
|
}
|
|
86
|
-
/**
|
|
87
|
-
* @experimental
|
|
88
|
-
*/
|
|
89
66
|
export interface TableAttributes {
|
|
90
|
-
/**
|
|
91
|
-
* @experimental
|
|
92
|
-
*/
|
|
93
67
|
readonly tableArn: string;
|
|
94
|
-
/**
|
|
95
|
-
* @experimental
|
|
96
|
-
*/
|
|
97
68
|
readonly tableName: string;
|
|
98
69
|
}
|
|
99
|
-
/**
|
|
100
|
-
* @experimental
|
|
101
|
-
*/
|
|
102
70
|
export interface TableProps {
|
|
103
71
|
/**
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
* @experimental
|
|
72
|
+
* Name of the table.
|
|
107
73
|
*/
|
|
108
74
|
readonly tableName: string;
|
|
109
75
|
/**
|
|
110
|
-
*
|
|
76
|
+
* Description of the table.
|
|
111
77
|
*
|
|
112
78
|
* @default generated
|
|
113
|
-
* @experimental
|
|
114
79
|
*/
|
|
115
80
|
readonly description?: string;
|
|
116
81
|
/**
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
* @experimental
|
|
82
|
+
* Database in which to store the table.
|
|
120
83
|
*/
|
|
121
84
|
readonly database: IDatabase;
|
|
122
85
|
/**
|
|
123
|
-
*
|
|
86
|
+
* S3 bucket in which to store data.
|
|
124
87
|
*
|
|
125
88
|
* @default one is created for you
|
|
126
|
-
* @experimental
|
|
127
89
|
*/
|
|
128
90
|
readonly bucket?: s3.IBucket;
|
|
129
91
|
/**
|
|
130
|
-
*
|
|
92
|
+
* S3 prefix under which table objects are stored.
|
|
131
93
|
*
|
|
132
94
|
* @default - No prefix. The data will be stored under the root of the bucket.
|
|
133
|
-
* @experimental
|
|
134
95
|
*/
|
|
135
96
|
readonly s3Prefix?: string;
|
|
136
97
|
/**
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
* @experimental
|
|
98
|
+
* Columns of the table.
|
|
140
99
|
*/
|
|
141
100
|
readonly columns: Column[];
|
|
142
101
|
/**
|
|
143
|
-
*
|
|
102
|
+
* Partition columns of the table.
|
|
144
103
|
*
|
|
145
104
|
* @default table is not partitioned
|
|
146
|
-
* @experimental
|
|
147
105
|
*/
|
|
148
106
|
readonly partitionKeys?: Column[];
|
|
149
107
|
/**
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
* A maximum of 3 indexes
|
|
108
|
+
* Partition indexes on the table. A maximum of 3 indexes
|
|
153
109
|
* are allowed on a table. Keys in the index must be part
|
|
154
110
|
* of the table's partition keys.
|
|
155
111
|
*
|
|
156
112
|
* @default table has no partition indexes
|
|
157
|
-
* @experimental
|
|
158
113
|
*/
|
|
159
114
|
readonly partitionIndexes?: PartitionIndex[];
|
|
160
115
|
/**
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
* @experimental
|
|
116
|
+
* Storage type of the table's data.
|
|
164
117
|
*/
|
|
165
118
|
readonly dataFormat: DataFormat;
|
|
166
119
|
/**
|
|
167
|
-
*
|
|
120
|
+
* Indicates whether the table's data is compressed or not.
|
|
168
121
|
*
|
|
169
122
|
* @default false
|
|
170
|
-
* @experimental
|
|
171
123
|
*/
|
|
172
124
|
readonly compressed?: boolean;
|
|
173
125
|
/**
|
|
174
|
-
*
|
|
126
|
+
* The kind of encryption to secure the data with.
|
|
175
127
|
*
|
|
176
128
|
* You can only provide this option if you are not explicitly passing in a bucket.
|
|
177
129
|
*
|
|
@@ -179,117 +131,82 @@ export interface TableProps {
|
|
|
179
131
|
* If you choose `CSE-KMS`, you *must* provide an un-managed KMS key with `encryptionKey`.
|
|
180
132
|
*
|
|
181
133
|
* @default Unencrypted
|
|
182
|
-
* @experimental
|
|
183
134
|
*/
|
|
184
135
|
readonly encryption?: TableEncryption;
|
|
185
136
|
/**
|
|
186
|
-
*
|
|
137
|
+
* External KMS key to use for bucket encryption.
|
|
187
138
|
*
|
|
188
139
|
* The `encryption` property must be `SSE-KMS` or `CSE-KMS`.
|
|
189
140
|
*
|
|
190
141
|
* @default key is managed by KMS.
|
|
191
|
-
* @experimental
|
|
192
142
|
*/
|
|
193
143
|
readonly encryptionKey?: kms.IKey;
|
|
194
144
|
/**
|
|
195
|
-
*
|
|
145
|
+
* Indicates whether the table data is stored in subdirectories.
|
|
196
146
|
*
|
|
197
147
|
* @default false
|
|
198
|
-
* @experimental
|
|
199
148
|
*/
|
|
200
149
|
readonly storedAsSubDirectories?: boolean;
|
|
201
150
|
}
|
|
202
151
|
/**
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
* @experimental
|
|
152
|
+
* A Glue table.
|
|
206
153
|
*/
|
|
207
154
|
export declare class Table extends Resource implements ITable {
|
|
208
|
-
/**
|
|
209
|
-
* @experimental
|
|
210
|
-
*/
|
|
211
155
|
static fromTableArn(scope: Construct, id: string, tableArn: string): ITable;
|
|
212
156
|
/**
|
|
213
|
-
*
|
|
157
|
+
* Creates a Table construct that represents an external table.
|
|
214
158
|
*
|
|
215
159
|
* @param scope The scope creating construct (usually `this`).
|
|
216
160
|
* @param id The construct's id.
|
|
217
|
-
* @param attrs Import attributes
|
|
218
|
-
* @experimental
|
|
161
|
+
* @param attrs Import attributes
|
|
219
162
|
*/
|
|
220
163
|
static fromTableAttributes(scope: Construct, id: string, attrs: TableAttributes): ITable;
|
|
221
164
|
/**
|
|
222
|
-
*
|
|
223
|
-
*
|
|
224
|
-
* @experimental
|
|
165
|
+
* Database this table belongs to.
|
|
225
166
|
*/
|
|
226
167
|
readonly database: IDatabase;
|
|
227
168
|
/**
|
|
228
|
-
*
|
|
229
|
-
*
|
|
230
|
-
* @experimental
|
|
169
|
+
* Indicates whether the table's data is compressed or not.
|
|
231
170
|
*/
|
|
232
171
|
readonly compressed: boolean;
|
|
233
172
|
/**
|
|
234
|
-
*
|
|
235
|
-
*
|
|
236
|
-
* @experimental
|
|
173
|
+
* The type of encryption enabled for the table.
|
|
237
174
|
*/
|
|
238
175
|
readonly encryption: TableEncryption;
|
|
239
176
|
/**
|
|
240
|
-
*
|
|
241
|
-
*
|
|
242
|
-
* Otherwise, `undefined`.
|
|
243
|
-
*
|
|
244
|
-
* @experimental
|
|
177
|
+
* The KMS key used to secure the data if `encryption` is set to `CSE-KMS` or `SSE-KMS`. Otherwise, `undefined`.
|
|
245
178
|
*/
|
|
246
179
|
readonly encryptionKey?: kms.IKey;
|
|
247
180
|
/**
|
|
248
|
-
*
|
|
249
|
-
*
|
|
250
|
-
* @experimental
|
|
181
|
+
* S3 bucket in which the table's data resides.
|
|
251
182
|
*/
|
|
252
183
|
readonly bucket: s3.IBucket;
|
|
253
184
|
/**
|
|
254
|
-
*
|
|
255
|
-
*
|
|
256
|
-
* @experimental
|
|
185
|
+
* S3 Key Prefix under which this table's files are stored in S3.
|
|
257
186
|
*/
|
|
258
187
|
readonly s3Prefix: string;
|
|
259
188
|
/**
|
|
260
|
-
*
|
|
261
|
-
*
|
|
262
|
-
* @experimental
|
|
189
|
+
* Name of this table.
|
|
263
190
|
*/
|
|
264
191
|
readonly tableName: string;
|
|
265
192
|
/**
|
|
266
|
-
*
|
|
267
|
-
*
|
|
268
|
-
* @experimental
|
|
193
|
+
* ARN of this table.
|
|
269
194
|
*/
|
|
270
195
|
readonly tableArn: string;
|
|
271
196
|
/**
|
|
272
|
-
*
|
|
273
|
-
*
|
|
274
|
-
* @experimental
|
|
197
|
+
* Format of this table's data files.
|
|
275
198
|
*/
|
|
276
199
|
readonly dataFormat: DataFormat;
|
|
277
200
|
/**
|
|
278
|
-
*
|
|
279
|
-
*
|
|
280
|
-
* @experimental
|
|
201
|
+
* This table's columns.
|
|
281
202
|
*/
|
|
282
203
|
readonly columns: Column[];
|
|
283
204
|
/**
|
|
284
|
-
*
|
|
285
|
-
*
|
|
286
|
-
* @experimental
|
|
205
|
+
* This table's partition keys if the table is partitioned.
|
|
287
206
|
*/
|
|
288
207
|
readonly partitionKeys?: Column[];
|
|
289
208
|
/**
|
|
290
|
-
*
|
|
291
|
-
*
|
|
292
|
-
* @experimental
|
|
209
|
+
* This table's partition indexes.
|
|
293
210
|
*/
|
|
294
211
|
readonly partitionIndexes?: PartitionIndex[];
|
|
295
212
|
/**
|
|
@@ -298,56 +215,42 @@ export declare class Table extends Resource implements ITable {
|
|
|
298
215
|
* each time a new partition index is created.
|
|
299
216
|
*/
|
|
300
217
|
private partitionIndexCustomResources;
|
|
301
|
-
/**
|
|
302
|
-
* @experimental
|
|
303
|
-
*/
|
|
304
218
|
constructor(scope: Construct, id: string, props: TableProps);
|
|
305
219
|
/**
|
|
306
|
-
*
|
|
307
|
-
*
|
|
308
|
-
* You can have a maximum of 3 partition
|
|
220
|
+
* Add a partition index to the table. You can have a maximum of 3 partition
|
|
309
221
|
* indexes to a table. Partition index keys must be a subset of the table's
|
|
310
222
|
* partition keys.
|
|
311
223
|
*
|
|
312
224
|
* @see https://docs.aws.amazon.com/glue/latest/dg/partition-indexes.html
|
|
313
|
-
* @experimental
|
|
314
225
|
*/
|
|
315
226
|
addPartitionIndex(index: PartitionIndex): void;
|
|
316
227
|
private generateIndexName;
|
|
317
228
|
private validatePartitionIndex;
|
|
318
229
|
/**
|
|
319
|
-
*
|
|
230
|
+
* Grant read permissions to the table and the underlying data stored in S3 to an IAM principal.
|
|
320
231
|
*
|
|
321
|
-
* @param grantee the principal
|
|
322
|
-
* @experimental
|
|
232
|
+
* @param grantee the principal
|
|
323
233
|
*/
|
|
324
234
|
grantRead(grantee: iam.IGrantable): iam.Grant;
|
|
325
235
|
/**
|
|
326
|
-
*
|
|
236
|
+
* Grant write permissions to the table and the underlying data stored in S3 to an IAM principal.
|
|
327
237
|
*
|
|
328
|
-
* @param grantee the principal
|
|
329
|
-
* @experimental
|
|
238
|
+
* @param grantee the principal
|
|
330
239
|
*/
|
|
331
240
|
grantWrite(grantee: iam.IGrantable): iam.Grant;
|
|
332
241
|
/**
|
|
333
|
-
*
|
|
242
|
+
* Grant read and write permissions to the table and the underlying data stored in S3 to an IAM principal.
|
|
334
243
|
*
|
|
335
|
-
* @param grantee the principal
|
|
336
|
-
* @experimental
|
|
244
|
+
* @param grantee the principal
|
|
337
245
|
*/
|
|
338
246
|
grantReadWrite(grantee: iam.IGrantable): iam.Grant;
|
|
339
247
|
/**
|
|
340
|
-
*
|
|
341
|
-
*
|
|
342
|
-
* @experimental
|
|
248
|
+
* Grant the given identity custom permissions.
|
|
343
249
|
*/
|
|
344
250
|
grant(grantee: iam.IGrantable, actions: string[]): iam.Grant;
|
|
345
251
|
/**
|
|
346
|
-
*
|
|
347
|
-
*
|
|
252
|
+
* Grant the given identity custom permissions to ALL underlying resources of the table.
|
|
348
253
|
* Permissions will be granted to the catalog, the database, and the table.
|
|
349
|
-
*
|
|
350
|
-
* @experimental
|
|
351
254
|
*/
|
|
352
255
|
grantToUnderlyingResources(grantee: iam.IGrantable, actions: string[]): iam.Grant;
|
|
353
256
|
private getS3PrefixForGrant;
|