@aws-cdk/aws-glue-alpha 2.268.0-alpha.0 → 2.270.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 +1820 -1612
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +1649 -10
- package/README.md +105 -35
- package/adr/job-arguments.md +212 -0
- package/lib/catalog.js +88 -4
- package/lib/code.js +59 -4
- package/lib/connection.d.ts +44 -29
- package/lib/connection.js +147 -31
- package/lib/constants.d.ts +17 -0
- package/lib/constants.js +20 -2
- package/lib/data-format.js +43 -6
- package/lib/data-quality-ruleset.js +60 -4
- package/lib/database.js +48 -2
- package/lib/external-table.js +48 -2
- package/lib/jobs/job.d.ts +90 -9
- package/lib/jobs/job.js +219 -38
- package/lib/jobs/pyspark-etl-job.d.ts +1 -3
- package/lib/jobs/pyspark-etl-job.js +28 -14
- package/lib/jobs/pyspark-flex-etl-job.d.ts +1 -3
- package/lib/jobs/pyspark-flex-etl-job.js +28 -14
- package/lib/jobs/pyspark-streaming-job.d.ts +1 -3
- package/lib/jobs/pyspark-streaming-job.js +28 -14
- package/lib/jobs/python-shell-job.d.ts +20 -7
- package/lib/jobs/python-shell-job.js +49 -33
- package/lib/jobs/ray-job.js +8 -13
- package/lib/jobs/scala-spark-etl-job.d.ts +1 -3
- package/lib/jobs/scala-spark-etl-job.js +29 -14
- package/lib/jobs/scala-spark-flex-etl-job.d.ts +1 -3
- package/lib/jobs/scala-spark-flex-etl-job.js +29 -14
- package/lib/jobs/scala-spark-streaming-job.d.ts +1 -3
- package/lib/jobs/scala-spark-streaming-job.js +29 -14
- package/lib/jobs/spark-job.d.ts +9 -7
- package/lib/jobs/spark-job.js +26 -32
- package/lib/partition-projection.d.ts +36 -47
- package/lib/partition-projection.js +34 -40
- package/lib/s3-table.js +106 -5
- package/lib/schema.js +50 -3
- package/lib/security-configuration.js +60 -5
- package/lib/storage-parameter.js +91 -2
- package/lib/table-base.js +32 -2
- package/lib/triggers/trigger-options.d.ts +102 -42
- package/lib/triggers/trigger-options.js +242 -3
- package/lib/triggers/workflow.d.ts +31 -47
- package/lib/triggers/workflow.js +87 -142
- package/package.json +10 -10
package/lib/external-table.js
CHANGED
|
@@ -77,7 +77,7 @@ let ExternalTable = (() => {
|
|
|
77
77
|
ExternalTable = _classThis = _classDescriptor.value;
|
|
78
78
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
79
79
|
}
|
|
80
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.ExternalTable", version: "2.
|
|
80
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.ExternalTable", version: "2.270.0-alpha.0" };
|
|
81
81
|
/** Uniquely identifies this class. */
|
|
82
82
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.ExternalTable';
|
|
83
83
|
/**
|
|
@@ -93,6 +93,7 @@ let ExternalTable = (() => {
|
|
|
93
93
|
constructor(scope, id, props) {
|
|
94
94
|
super(scope, id, props);
|
|
95
95
|
try {
|
|
96
|
+
jsiiDeprecationWarnings.print("@aws-cdk/aws-glue-alpha.ExternalTable", "");
|
|
96
97
|
jsiiDeprecationWarnings._aws_cdk_aws_glue_alpha_ExternalTableProps(props);
|
|
97
98
|
}
|
|
98
99
|
catch (error) {
|
|
@@ -154,12 +155,30 @@ let ExternalTable = (() => {
|
|
|
154
155
|
* Name of this table.
|
|
155
156
|
*/
|
|
156
157
|
get tableName() {
|
|
158
|
+
try {
|
|
159
|
+
jsiiDeprecationWarnings.print("@aws-cdk/aws-glue-alpha.ExternalTable#tableName", "");
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
163
|
+
Error.captureStackTrace(error, jsiiDeprecationWarnings.getPropertyDescriptor(this, "tableName").get);
|
|
164
|
+
}
|
|
165
|
+
throw error;
|
|
166
|
+
}
|
|
157
167
|
return this.getResourceNameAttribute(this.resource.ref);
|
|
158
168
|
}
|
|
159
169
|
/**
|
|
160
170
|
* ARN of this table.
|
|
161
171
|
*/
|
|
162
172
|
get tableArn() {
|
|
173
|
+
try {
|
|
174
|
+
jsiiDeprecationWarnings.print("@aws-cdk/aws-glue-alpha.ExternalTable#tableArn", "");
|
|
175
|
+
}
|
|
176
|
+
catch (error) {
|
|
177
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
178
|
+
Error.captureStackTrace(error, jsiiDeprecationWarnings.getPropertyDescriptor(this, "tableArn").get);
|
|
179
|
+
}
|
|
180
|
+
throw error;
|
|
181
|
+
}
|
|
163
182
|
return this.stack.formatArn({
|
|
164
183
|
service: 'glue',
|
|
165
184
|
resource: 'table',
|
|
@@ -173,6 +192,15 @@ let ExternalTable = (() => {
|
|
|
173
192
|
* @param grantee the principal
|
|
174
193
|
*/
|
|
175
194
|
grantRead(grantee) {
|
|
195
|
+
try {
|
|
196
|
+
jsiiDeprecationWarnings.print("@aws-cdk/aws-glue-alpha.ExternalTable#grantRead", "");
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
200
|
+
Error.captureStackTrace(error, this.grantRead);
|
|
201
|
+
}
|
|
202
|
+
throw error;
|
|
203
|
+
}
|
|
176
204
|
const ret = this.grant(grantee, readPermissions);
|
|
177
205
|
return ret;
|
|
178
206
|
}
|
|
@@ -183,6 +211,15 @@ let ExternalTable = (() => {
|
|
|
183
211
|
* @param grantee the principal
|
|
184
212
|
*/
|
|
185
213
|
grantWrite(grantee) {
|
|
214
|
+
try {
|
|
215
|
+
jsiiDeprecationWarnings.print("@aws-cdk/aws-glue-alpha.ExternalTable#grantWrite", "");
|
|
216
|
+
}
|
|
217
|
+
catch (error) {
|
|
218
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
219
|
+
Error.captureStackTrace(error, this.grantWrite);
|
|
220
|
+
}
|
|
221
|
+
throw error;
|
|
222
|
+
}
|
|
186
223
|
const ret = this.grant(grantee, writePermissions);
|
|
187
224
|
return ret;
|
|
188
225
|
}
|
|
@@ -193,6 +230,15 @@ let ExternalTable = (() => {
|
|
|
193
230
|
* @param grantee the principal
|
|
194
231
|
*/
|
|
195
232
|
grantReadWrite(grantee) {
|
|
233
|
+
try {
|
|
234
|
+
jsiiDeprecationWarnings.print("@aws-cdk/aws-glue-alpha.ExternalTable#grantReadWrite", "");
|
|
235
|
+
}
|
|
236
|
+
catch (error) {
|
|
237
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
238
|
+
Error.captureStackTrace(error, this.grantReadWrite);
|
|
239
|
+
}
|
|
240
|
+
throw error;
|
|
241
|
+
}
|
|
196
242
|
const ret = this.grant(grantee, [...readPermissions, ...writePermissions]);
|
|
197
243
|
return ret;
|
|
198
244
|
}
|
|
@@ -231,4 +277,4 @@ function renderColumns(columns) {
|
|
|
231
277
|
};
|
|
232
278
|
});
|
|
233
279
|
}
|
|
234
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtdGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlcm5hbC10YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBOEM7QUFDOUMsbURBQWdEO0FBRWhELDRFQUE0RTtBQUM1RSw4RUFBOEY7QUFDOUYsMEVBQTBFO0FBSzFFLDZDQUF5QztBQW9CekM7OztHQUdHO0lBRVUsYUFBYTs0QkFEekIsb0NBQWtCOzs7O3NCQUNnQixzQkFBUzs7Ozs7Ozs2QkFBakIsU0FBUSxXQUFTOzs7O3lDQWdGekMsaUNBQWM7d0NBUWQsaUNBQWM7cUNBZWQsSUFBQSxrQ0FBYyxHQUFFO3NDQVloQixJQUFBLGtDQUFjLEdBQUU7MENBWWhCLElBQUEsa0NBQWMsR0FBRTtZQTlDakIsa0xBQVcsU0FBUyw2REFFbkI7WUFNRCwrS0FBVyxRQUFRLDZEQU1sQjtZQVNELDhLQUFPLFNBQVMsNkRBR2Y7WUFTRCxpTEFBTyxVQUFVLDZEQUdoQjtZQVNELDZMQUFPLGNBQWMsNkRBR3BCO1lBbklILDZLQW9JQzs7Ozs7UUFuSUMsc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyx1Q0FBdUMsQ0FBQztRQUUvRjs7V0FFRztRQUNhLFVBQVUsR0FQZixtREFBYSxDQU9nQjtRQUV4Qzs7V0FFRztRQUNhLGdCQUFnQixDQUFvQjtRQUVqQyxhQUFhLENBQVc7UUFFbkMsUUFBUSxDQUFXO1FBRTNCLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBeUI7WUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7Ozs7OzttREFuQmYsYUFBYTs7OztZQW9CdEIsbUNBQW1DO1lBQ25DLElBQUEsd0NBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUs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LENBQUM7QUFFRixTQUFTLGFBQWEsQ0FBQyxPQUFrQjtJQUN2QyxJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUMxQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQzFCLE9BQU87WUFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVztZQUM3QixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87U0FDeEIsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENmblRhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWdsdWUnO1xuaW1wb3J0IHR5cGUgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBtZW1vaXplZEdldHRlciwgbGl0IH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvaGVscGVycy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSwgTWV0aG9kTWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgSUNvbm5lY3Rpb24gfSBmcm9tICcuL2Nvbm5lY3Rpb24nO1xuaW1wb3J0IHR5cGUgeyBDb2x1bW4gfSBmcm9tICcuL3NjaGVtYSc7XG5pbXBvcnQgdHlwZSB7IFBhcnRpdGlvbkluZGV4LCBUYWJsZUJhc2VQcm9wcyB9IGZyb20gJy4vdGFibGUtYmFzZSc7XG5pbXBvcnQgeyBUYWJsZUJhc2UgfSBmcm9tICcuL3RhYmxlLWJhc2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVybmFsVGFibGVQcm9wcyBleHRlbmRzIFRhYmxlQmFzZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBjb25uZWN0aW9uIHRoZSB0YWJsZSB3aWxsIHVzZSB3aGVuIHBlcmZvcm1pbmcgcmVhZHMgYW5kIHdyaXRlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBjb25uZWN0aW9uXG4gICAqL1xuICByZWFkb25seSBjb25uZWN0aW9uOiBJQ29ubmVjdGlvbjtcblxuICAvKipcbiAgICogVGhlIGRhdGEgc291cmNlIGxvY2F0aW9uIG9mIHRoZSBnbHVlIHRhYmxlLCAoZS5nLiBgZGVmYXVsdF9kYl9wdWJsaWNfZXhhbXBsZWAgZm9yIFJlZHNoaWZ0KS5cbiAgICpcbiAgICogSWYgdGhpcyBwcm9wZXJ0eSBpcyBzZXQsIGl0IHdpbGwgb3ZlcnJpZGUgYm90aCBgYnVja2V0YCBhbmQgYHMzUHJlZml4YC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBvdXRzb3VyY2VkIGRhdGEgc291cmNlIGxvY2F0aW9uXG4gICAqL1xuICByZWFkb25seSBleHRlcm5hbERhdGFMb2NhdGlvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgR2x1ZSB0YWJsZSB0aGF0IHRhcmdldHMgYW4gZXh0ZXJuYWwgZGF0YSBsb2NhdGlvbiAoZS5nLiBBIHRhYmxlIGluIGEgUmVkc2hpZnQgQ2x1c3RlcikuXG4gKiBAcmVzb3VyY2UgQVdTOjpHbHVlOjpUYWJsZVxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgRXh0ZXJuYWxUYWJsZSBleHRlbmRzIFRhYmxlQmFzZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWdsdWUtYWxwaGEuRXh0ZXJuYWxUYWJsZSc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25uZWN0aW9uIGFzc29jaWF0ZWQgdG8gdGhpcyB0YWJsZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbm5lY3Rpb246IElDb25uZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGlzIHRhYmxlJ3MgcGFydGl0aW9uIGluZGV4ZXMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcGFydGl0aW9uSW5kZXhlcz86IFBhcnRpdGlvbkluZGV4W107XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhYmxlUmVzb3VyY2U6IENmblRhYmxlO1xuXG4gIHByaXZhdGUgcmVzb3VyY2U6IENmblRhYmxlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFeHRlcm5hbFRhYmxlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcbiAgICB0aGlzLmNvbm5lY3Rpb24gPSBwcm9wcy5jb25uZWN0aW9uO1xuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgQ2ZuVGFibGUodGhpcywgJ1RhYmxlJywge1xuICAgICAgY2F0YWxvZ0lkOiBwcm9wcy5kYXRhYmFzZS5jYXRhbG9nLmNhdGFsb2dJZCxcblxuICAgICAgZGF0YWJhc2VOYW1lOiBwcm9wcy5kYXRhYmFzZS5kYXRhYmFzZU5hbWUsXG5cbiAgICAgIHRhYmxlSW5wdXQ6IHtcbiAgICAgICAgbmFtZTogdGhpcy5waHlzaWNhbE5hbWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbiB8fCBgJHt0aGlzLnBoeXNpY2FsTmFtZX0gZ2VuZXJhdGVkIGJ5IENES2AsXG5cbiAgICAgICAgcGFydGl0aW9uS2V5czogcmVuZGVyQ29sdW1ucyhwcm9wcy5wYXJ0aXRpb25LZXlzKSxcblxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgJ2NsYXNzaWZpY2F0aW9uJzogcHJvcHMuZGF0YUZvcm1hdC5jbGFzc2lmaWNhdGlvblN0cmluZz8udmFsdWUsXG4gICAgICAgICAgJ3BhcnRpdGlvbl9maWx0ZXJpbmcuZW5hYmxlZCc6IHByb3BzLmVuYWJsZVBhcnRpdGlvbkZpbHRlcmluZyxcbiAgICAgICAgICAnY29ubmVjdGlvbk5hbWUnOiBwcm9wcy5jb25uZWN0aW9uLmNvbm5lY3Rpb25OYW1lLFxuICAgICAgICAgIC4uLnRoaXMucGFyYW1ldGVycyxcbiAgICAgICAgICAvLyBNYW5hZ2VkIGtleXMgYXJlIGVtaXR0ZWQgbGFzdCBzbyBmcmVlLWZvcm0gYHBhcmFtZXRlcnNgIGNhbm5vdFxuICAgICAgICAgIC8vIHNpbGVudGx5IG92ZXJyaWRlIHRoZW0uIENvbmZsaWN0cyBhcmUgcmVqZWN0ZWQgaW4gYFRhYmxlQmFzZWAuXG4gICAgICAgICAgJ2hhc19lbmNyeXB0ZWRfZGF0YSc6IHRoaXMuaGFzRW5jcnlwdGVkRGF0YSxcbiAgICAgICAgfSxcbiAgICAgICAgc3RvcmFnZURlc2NyaXB0b3I6IHtcbiAgICAgICAgICBsb2NhdGlvbjogcHJvcHMuZXh0ZXJuYWxEYXRhTG9jYXRpb24sXG4gICAgICAgICAgY29tcHJlc3NlZDogdGhpcy5jb21wcmVzc2VkLFxuICAgICAgICAgIHN0b3JlZEFzU3ViRGlyZWN0b3JpZXM6IHByb3BzLnN0b3JlZEFzU3ViRGlyZWN0b3JpZXMgPz8gZmFsc2UsXG4gICAgICAgICAgY29sdW1uczogcmVuZGVyQ29sdW1ucyhwcm9wcy5jb2x1bW5zKSxcbiAgICAgICAgICBpbnB1dEZvcm1hdDogcHJvcHMuZGF0YUZvcm1hdC5pbnB1dEZvcm1hdC5jbGFzc05hbWUsXG4gICAgICAgICAgb3V0cHV0Rm9ybWF0OiBwcm9wcy5kYXRhRm9ybWF0Lm91dHB1dEZvcm1hdC5jbGFzc05hbWUsXG4gICAgICAgICAgc2VyZGVJbmZvOiB7XG4gICAgICAgICAgICBzZXJpYWxpemF0aW9uTGlicmFyeTogcHJvcHMuZGF0YUZvcm1hdC5zZXJpYWxpemF0aW9uTGlicmFyeS5jbGFzc05hbWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwYXJhbWV0ZXJzOiBwcm9wcy5zdG9yYWdlUGFyYW1ldGVycyA/IHByb3BzLnN0b3JhZ2VQYXJhbWV0ZXJzLnJlZHVjZSgoYWNjLCBwYXJhbSkgPT4ge1xuICAgICAgICAgICAgaWYgKHBhcmFtLmtleSBpbiBhY2MpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgRHVwbGljYXRlU3RvcmFnZVBhcmFtZXRlcktleWAsIGBEdXBsaWNhdGUgc3RvcmFnZSBwYXJhbWV0ZXIga2V5OiAke3BhcmFtLmtleX1gLCB0aGlzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGtleSA9IHBhcmFtLmtleTtcbiAgICAgICAgICAgIGFjY1trZXldID0gcGFyYW0udmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgIH0sIHt9IGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pIDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuXG4gICAgICAgIHRhYmxlVHlwZTogJ0VYVEVSTkFMX1RBQkxFJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLnRhYmxlUmVzb3VyY2UgPSB0aGlzLnJlc291cmNlO1xuICAgIHRoaXMubm9kZS5kZWZhdWx0Q2hpbGQgPSB0aGlzLnJlc291cmNlO1xuXG4gICAgLy8gUGFydGl0aW9uIGluZGV4IGNyZWF0aW9uIHJlbGllcyBvbiBjcmVhdGVkIHRhYmxlLlxuICAgIGlmIChwcm9wcy5wYXJ0aXRpb25JbmRleGVzKSB7XG4gICAgICB0aGlzLnBhcnRpdGlvbkluZGV4ZXMgPSBwcm9wcy5wYXJ0aXRpb25JbmRleGVzO1xuICAgICAgdGhpcy5wYXJ0aXRpb25JbmRleGVzLmZvckVhY2goKGluZGV4KSA9PiB0aGlzLmFkZFBhcnRpdGlvbkluZGV4KGluZGV4KSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhpcyB0YWJsZS5cbiAgICovXG4gIEBtZW1vaXplZEdldHRlclxuICBwdWJsaWMgZ2V0IHRhYmxlTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFJlc291cmNlTmFtZUF0dHJpYnV0ZSh0aGlzLnJlc291cmNlLnJlZik7XG4gIH1cblxuICAvKipcbiAgICogQVJOIG9mIHRoaXMgdGFibGUuXG4gICAqL1xuICBAbWVtb2l6ZWRHZXR0ZXJcbiAgcHVibGljIGdldCB0YWJsZUFybigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnN0YWNrLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnZ2x1ZScsXG4gICAgICByZXNvdXJjZTogJ3RhYmxlJyxcbiAgICAgIHJlc291cmNlTmFtZTogYCR7dGhpcy5kYXRhYmFzZS5kYXRhYmFzZU5hbWV9LyR7dGhpcy50YWJsZU5hbWV9YCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCByZWFkIHBlcm1pc3Npb25zIHRvIHRoZSB0YWJsZVxuICAgKiBbZGlzYWJsZS1hd3NsaW50Om5vLWdyYW50c11cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgdGhlIHByaW5jaXBhbFxuICAgKi9cbiAgQE1ldGhvZE1ldGFkYXRhKClcbiAgcHVibGljIGdyYW50UmVhZChncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgY29uc3QgcmV0ID0gdGhpcy5ncmFudChncmFudGVlLCByZWFkUGVybWlzc2lvbnMpO1xuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgd3JpdGUgcGVybWlzc2lvbnMgdG8gdGhlIHRhYmxlXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSB0aGUgcHJpbmNpcGFsXG4gICAqL1xuICBATWV0aG9kTWV0YWRhdGEoKVxuICBwdWJsaWMgZ3JhbnRXcml0ZShncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgY29uc3QgcmV0ID0gdGhpcy5ncmFudChncmFudGVlLCB3cml0ZVBlcm1pc3Npb25zKTtcbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHJlYWQgYW5kIHdyaXRlIHBlcm1pc3Npb25zIHRvIHRoZSB0YWJsZVxuICAgKiBbZGlzYWJsZS1hd3NsaW50Om5vLWdyYW50c11cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgdGhlIHByaW5jaXBhbFxuICAgKi9cbiAgQE1ldGhvZE1ldGFkYXRhKClcbiAgcHVibGljIGdyYW50UmVhZFdyaXRlKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICBjb25zdCByZXQgPSB0aGlzLmdyYW50KGdyYW50ZWUsIFsuLi5yZWFkUGVybWlzc2lvbnMsIC4uLndyaXRlUGVybWlzc2lvbnNdKTtcbiAgICByZXR1cm4gcmV0O1xuICB9XG59XG5cbmNvbnN0IHJlYWRQZXJtaXNzaW9ucyA9IFtcbiAgJ2dsdWU6QmF0Y2hHZXRQYXJ0aXRpb24nLFxuICAnZ2x1ZTpHZXRQYXJ0aXRpb24nLFxuICAnZ2x1ZTpHZXRQYXJ0aXRpb25zJyxcbiAgJ2dsdWU6R2V0VGFibGUnLFxuICAnZ2x1ZTpHZXRUYWJsZXMnLFxuICAnZ2x1ZTpHZXRUYWJsZVZlcnNpb24nLFxuICAnZ2x1ZTpHZXRUYWJsZVZlcnNpb25zJyxcbl07XG5cbmNvbnN0IHdyaXRlUGVybWlzc2lvbnMgPSBbXG4gICdnbHVlOkJhdGNoQ3JlYXRlUGFydGl0aW9uJyxcbiAgJ2dsdWU6QmF0Y2hEZWxldGVQYXJ0aXRpb24nLFxuICAnZ2x1ZTpDcmVhdGVQYXJ0aXRpb24nLFxuICAnZ2x1ZTpEZWxldGVQYXJ0aXRpb24nLFxuICAnZ2x1ZTpVcGRhdGVQYXJ0aXRpb24nLFxuXTtcblxuZnVuY3Rpb24gcmVuZGVyQ29sdW1ucyhjb2x1bW5zPzogQ29sdW1uW10pIHtcbiAgaWYgKGNvbHVtbnMgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIGNvbHVtbnMubWFwKGNvbHVtbiA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IGNvbHVtbi5uYW1lLFxuICAgICAgdHlwZTogY29sdW1uLnR5cGUuaW5wdXRTdHJpbmcsXG4gICAgICBjb21tZW50OiBjb2x1bW4uY29tbWVudCxcbiAgICB9O1xuICB9KTtcbn1cbiJdfQ==
|
|
280
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtdGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlcm5hbC10YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBOEM7QUFDOUMsbURBQWdEO0FBRWhELDRFQUE0RTtBQUM1RSw4RUFBOEY7QUFDOUYsMEVBQTBFO0FBSzFFLDZDQUF5QztBQW9CekM7OztHQUdHO0lBRVUsYUFBYTs0QkFEekIsb0NBQWtCOzs7O3NCQUNnQixzQkFBUzs7Ozs7Ozs2QkFBakIsU0FBUSxXQUFTOzs7O3lDQWdGekMsaUNBQWM7d0NBUWQsaUNBQWM7cUNBZWQsSUFBQSxrQ0FBYyxHQUFFO3NDQVloQixJQUFBLGtDQUFjLEdBQUU7MENBWWhCLElBQUEsa0NBQWMsR0FBRTtZQTlDakIsa0xBQVcsU0FBUyw2REFFbkI7WUFNRCwrS0FBVyxRQUFRLDZEQU1sQjtZQVNELDhLQUFPLFNBQVMsNkRBR2Y7WUFTRCxpTEFBTyxVQUFVLDZEQUdoQjtZQVNELDZMQUFPLGNBQWMsNkRBR3BCO1lBbklILDZLQW9JQzs7Ozs7UUFuSUMsc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyx1Q0FBdUMsQ0FBQztRQUUvRjs7V0FFRztRQUNhLFVBQVUsR0FQZixtREFBYSxDQU9nQjtRQUV4Qzs7V0FFRztRQUNhLGdCQUFnQixDQUFvQjtRQUVqQyxhQUFhLENBQVc7UUFFbkMsUUFBUSxDQUFXO1FBRTNCLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBeUI7WUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7Ozs7Ozs7bURBbkJmLGFBQWE7Ozs7WUFvQnRCLG1DQUFtQztZQUNuQyxJQUFBLHdDQUFvQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFV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QjtJQUMzQixzQkFBc0I7SUFDdEIsc0JBQXNCO0lBQ3RCLHNCQUFzQjtDQUN2QixDQUFDO0FBRUYsU0FBUyxhQUFhLENBQUMsT0FBa0I7SUFDdkMsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDMUIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUMxQixPQUFPO1lBQ0wsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFDN0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1NBQ3hCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDZm5UYWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1nbHVlJztcbmltcG9ydCB0eXBlICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgbWVtb2l6ZWRHZXR0ZXIsIGxpdCB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEsIE1ldGhvZE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgdHlwZSB7IElDb25uZWN0aW9uIH0gZnJvbSAnLi9jb25uZWN0aW9uJztcbmltcG9ydCB0eXBlIHsgQ29sdW1uIH0gZnJvbSAnLi9zY2hlbWEnO1xuaW1wb3J0IHR5cGUgeyBQYXJ0aXRpb25JbmRleCwgVGFibGVCYXNlUHJvcHMgfSBmcm9tICcuL3RhYmxlLWJhc2UnO1xuaW1wb3J0IHsgVGFibGVCYXNlIH0gZnJvbSAnLi90YWJsZS1iYXNlJztcblxuZXhwb3J0IGludGVyZmFjZSBFeHRlcm5hbFRhYmxlUHJvcHMgZXh0ZW5kcyBUYWJsZUJhc2VQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgY29ubmVjdGlvbiB0aGUgdGFibGUgd2lsbCB1c2Ugd2hlbiBwZXJmb3JtaW5nIHJlYWRzIGFuZCB3cml0ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gY29ubmVjdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgY29ubmVjdGlvbjogSUNvbm5lY3Rpb247XG5cbiAgLyoqXG4gICAqIFRoZSBkYXRhIHNvdXJjZSBsb2NhdGlvbiBvZiB0aGUgZ2x1ZSB0YWJsZSwgKGUuZy4gYGRlZmF1bHRfZGJfcHVibGljX2V4YW1wbGVgIGZvciBSZWRzaGlmdCkuXG4gICAqXG4gICAqIElmIHRoaXMgcHJvcGVydHkgaXMgc2V0LCBpdCB3aWxsIG92ZXJyaWRlIGJvdGggYGJ1Y2tldGAgYW5kIGBzM1ByZWZpeGAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gb3V0c291cmNlZCBkYXRhIHNvdXJjZSBsb2NhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZXh0ZXJuYWxEYXRhTG9jYXRpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIEdsdWUgdGFibGUgdGhhdCB0YXJnZXRzIGFuIGV4dGVybmFsIGRhdGEgbG9jYXRpb24gKGUuZy4gQSB0YWJsZSBpbiBhIFJlZHNoaWZ0IENsdXN0ZXIpLlxuICogQHJlc291cmNlIEFXUzo6R2x1ZTo6VGFibGVcbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIEV4dGVybmFsVGFibGUgZXh0ZW5kcyBUYWJsZUJhc2Uge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1nbHVlLWFscGhhLkV4dGVybmFsVGFibGUnO1xuXG4gIC8qKlxuICAgKiBUaGUgY29ubmVjdGlvbiBhc3NvY2lhdGVkIHRvIHRoaXMgdGFibGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjb25uZWN0aW9uOiBJQ29ubmVjdGlvbjtcblxuICAvKipcbiAgICogVGhpcyB0YWJsZSdzIHBhcnRpdGlvbiBpbmRleGVzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBhcnRpdGlvbkluZGV4ZXM/OiBQYXJ0aXRpb25JbmRleFtdO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB0YWJsZVJlc291cmNlOiBDZm5UYWJsZTtcblxuICBwcml2YXRlIHJlc291cmNlOiBDZm5UYWJsZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRXh0ZXJuYWxUYWJsZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG4gICAgdGhpcy5jb25uZWN0aW9uID0gcHJvcHMuY29ubmVjdGlvbjtcbiAgICB0aGlzLnJlc291cmNlID0gbmV3IENmblRhYmxlKHRoaXMsICdUYWJsZScsIHtcbiAgICAgIGNhdGFsb2dJZDogcHJvcHMuZGF0YWJhc2UuY2F0YWxvZy5jYXRhbG9nSWQsXG5cbiAgICAgIGRhdGFiYXNlTmFtZTogcHJvcHMuZGF0YWJhc2UuZGF0YWJhc2VOYW1lLFxuXG4gICAgICB0YWJsZUlucHV0OiB7XG4gICAgICAgIG5hbWU6IHRoaXMucGh5c2ljYWxOYW1lLFxuICAgICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24gfHwgYCR7dGhpcy5waHlzaWNhbE5hbWV9IGdlbmVyYXRlZCBieSBDREtgLFxuXG4gICAgICAgIHBhcnRpdGlvbktleXM6IHJlbmRlckNvbHVtbnMocHJvcHMucGFydGl0aW9uS2V5cyksXG5cbiAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICdjbGFzc2lmaWNhdGlvbic6IHByb3BzLmRhdGFGb3JtYXQuY2xhc3NpZmljYXRpb25TdHJpbmc/LnZhbHVlLFxuICAgICAgICAgICdwYXJ0aXRpb25fZmlsdGVyaW5nLmVuYWJsZWQnOiBwcm9wcy5lbmFibGVQYXJ0aXRpb25GaWx0ZXJpbmcsXG4gICAgICAgICAgJ2Nvbm5lY3Rpb25OYW1lJzogcHJvcHMuY29ubmVjdGlvbi5jb25uZWN0aW9uTmFtZSxcbiAgICAgICAgICAuLi50aGlzLnBhcmFtZXRlcnMsXG4gICAgICAgICAgLy8gTWFuYWdlZCBrZXlzIGFyZSBlbWl0dGVkIGxhc3Qgc28gZnJlZS1mb3JtIGBwYXJhbWV0ZXJzYCBjYW5ub3RcbiAgICAgICAgICAvLyBzaWxlbnRseSBvdmVycmlkZSB0aGVtLiBDb25mbGljdHMgYXJlIHJlamVjdGVkIGluIGBUYWJsZUJhc2VgLlxuICAgICAgICAgICdoYXNfZW5jcnlwdGVkX2RhdGEnOiB0aGlzLmhhc0VuY3J5cHRlZERhdGEsXG4gICAgICAgIH0sXG4gICAgICAgIHN0b3JhZ2VEZXNjcmlwdG9yOiB7XG4gICAgICAgICAgbG9jYXRpb246IHByb3BzLmV4dGVybmFsRGF0YUxvY2F0aW9uLFxuICAgICAgICAgIGNvbXByZXNzZWQ6IHRoaXMuY29tcHJlc3NlZCxcbiAgICAgICAgICBzdG9yZWRBc1N1YkRpcmVjdG9yaWVzOiBwcm9wcy5zdG9yZWRBc1N1YkRpcmVjdG9yaWVzID8/IGZhbHNlLFxuICAgICAgICAgIGNvbHVtbnM6IHJlbmRlckNvbHVtbnMocHJvcHMuY29sdW1ucyksXG4gICAgICAgICAgaW5wdXRGb3JtYXQ6IHByb3BzLmRhdGFGb3JtYXQuaW5wdXRGb3JtYXQuY2xhc3NOYW1lLFxuICAgICAgICAgIG91dHB1dEZvcm1hdDogcHJvcHMuZGF0YUZvcm1hdC5vdXRwdXRGb3JtYXQuY2xhc3NOYW1lLFxuICAgICAgICAgIHNlcmRlSW5mbzoge1xuICAgICAgICAgICAgc2VyaWFsaXphdGlvbkxpYnJhcnk6IHByb3BzLmRhdGFGb3JtYXQuc2VyaWFsaXphdGlvbkxpYnJhcnkuY2xhc3NOYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGFyYW1ldGVyczogcHJvcHMuc3RvcmFnZVBhcmFtZXRlcnMgPyBwcm9wcy5zdG9yYWdlUGFyYW1ldGVycy5yZWR1Y2UoKGFjYywgcGFyYW0pID0+IHtcbiAgICAgICAgICAgIGlmIChwYXJhbS5rZXkgaW4gYWNjKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YER1cGxpY2F0ZVN0b3JhZ2VQYXJhbWV0ZXJLZXlgLCBgRHVwbGljYXRlIHN0b3JhZ2UgcGFyYW1ldGVyIGtleTogJHtwYXJhbS5rZXl9YCwgdGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBwYXJhbS5rZXk7XG4gICAgICAgICAgICBhY2Nba2V5XSA9IHBhcmFtLnZhbHVlO1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICB9LCB7fSBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSxcblxuICAgICAgICB0YWJsZVR5cGU6ICdFWFRFUk5BTF9UQUJMRScsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy50YWJsZVJlc291cmNlID0gdGhpcy5yZXNvdXJjZTtcbiAgICB0aGlzLm5vZGUuZGVmYXVsdENoaWxkID0gdGhpcy5yZXNvdXJjZTtcblxuICAgIC8vIFBhcnRpdGlvbiBpbmRleCBjcmVhdGlvbiByZWxpZXMgb24gY3JlYXRlZCB0YWJsZS5cbiAgICBpZiAocHJvcHMucGFydGl0aW9uSW5kZXhlcykge1xuICAgICAgdGhpcy5wYXJ0aXRpb25JbmRleGVzID0gcHJvcHMucGFydGl0aW9uSW5kZXhlcztcbiAgICAgIHRoaXMucGFydGl0aW9uSW5kZXhlcy5mb3JFYWNoKChpbmRleCkgPT4gdGhpcy5hZGRQYXJ0aXRpb25JbmRleChpbmRleCkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoaXMgdGFibGUuXG4gICAqL1xuICBAbWVtb2l6ZWRHZXR0ZXJcbiAgcHVibGljIGdldCB0YWJsZU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRSZXNvdXJjZU5hbWVBdHRyaWJ1dGUodGhpcy5yZXNvdXJjZS5yZWYpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFSTiBvZiB0aGlzIHRhYmxlLlxuICAgKi9cbiAgQG1lbW9pemVkR2V0dGVyXG4gIHB1YmxpYyBnZXQgdGFibGVBcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zdGFjay5mb3JtYXRBcm4oe1xuICAgICAgc2VydmljZTogJ2dsdWUnLFxuICAgICAgcmVzb3VyY2U6ICd0YWJsZScsXG4gICAgICByZXNvdXJjZU5hbWU6IGAke3RoaXMuZGF0YWJhc2UuZGF0YWJhc2VOYW1lfS8ke3RoaXMudGFibGVOYW1lfWAsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgcmVhZCBwZXJtaXNzaW9ucyB0byB0aGUgdGFibGVcbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIHRoZSBwcmluY2lwYWxcbiAgICovXG4gIEBNZXRob2RNZXRhZGF0YSgpXG4gIHB1YmxpYyBncmFudFJlYWQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgIGNvbnN0IHJldCA9IHRoaXMuZ3JhbnQoZ3JhbnRlZSwgcmVhZFBlcm1pc3Npb25zKTtcbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHdyaXRlIHBlcm1pc3Npb25zIHRvIHRoZSB0YWJsZVxuICAgKiBbZGlzYWJsZS1hd3NsaW50Om5vLWdyYW50c11cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgdGhlIHByaW5jaXBhbFxuICAgKi9cbiAgQE1ldGhvZE1ldGFkYXRhKClcbiAgcHVibGljIGdyYW50V3JpdGUoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgIGNvbnN0IHJldCA9IHRoaXMuZ3JhbnQoZ3JhbnRlZSwgd3JpdGVQZXJtaXNzaW9ucyk7XG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCByZWFkIGFuZCB3cml0ZSBwZXJtaXNzaW9ucyB0byB0aGUgdGFibGVcbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIHRoZSBwcmluY2lwYWxcbiAgICovXG4gIEBNZXRob2RNZXRhZGF0YSgpXG4gIHB1YmxpYyBncmFudFJlYWRXcml0ZShncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgY29uc3QgcmV0ID0gdGhpcy5ncmFudChncmFudGVlLCBbLi4ucmVhZFBlcm1pc3Npb25zLCAuLi53cml0ZVBlcm1pc3Npb25zXSk7XG4gICAgcmV0dXJuIHJldDtcbiAgfVxufVxuXG5jb25zdCByZWFkUGVybWlzc2lvbnMgPSBbXG4gICdnbHVlOkJhdGNoR2V0UGFydGl0aW9uJyxcbiAgJ2dsdWU6R2V0UGFydGl0aW9uJyxcbiAgJ2dsdWU6R2V0UGFydGl0aW9ucycsXG4gICdnbHVlOkdldFRhYmxlJyxcbiAgJ2dsdWU6R2V0VGFibGVzJyxcbiAgJ2dsdWU6R2V0VGFibGVWZXJzaW9uJyxcbiAgJ2dsdWU6R2V0VGFibGVWZXJzaW9ucycsXG5dO1xuXG5jb25zdCB3cml0ZVBlcm1pc3Npb25zID0gW1xuICAnZ2x1ZTpCYXRjaENyZWF0ZVBhcnRpdGlvbicsXG4gICdnbHVlOkJhdGNoRGVsZXRlUGFydGl0aW9uJyxcbiAgJ2dsdWU6Q3JlYXRlUGFydGl0aW9uJyxcbiAgJ2dsdWU6RGVsZXRlUGFydGl0aW9uJyxcbiAgJ2dsdWU6VXBkYXRlUGFydGl0aW9uJyxcbl07XG5cbmZ1bmN0aW9uIHJlbmRlckNvbHVtbnMoY29sdW1ucz86IENvbHVtbltdKSB7XG4gIGlmIChjb2x1bW5zID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIHJldHVybiBjb2x1bW5zLm1hcChjb2x1bW4gPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiBjb2x1bW4ubmFtZSxcbiAgICAgIHR5cGU6IGNvbHVtbi50eXBlLmlucHV0U3RyaW5nLFxuICAgICAgY29tbWVudDogY29sdW1uLmNvbW1lbnQsXG4gICAgfTtcbiAgfSk7XG59XG4iXX0=
|
package/lib/jobs/job.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as cloudwatch from 'aws-cdk-lib/aws-cloudwatch';
|
|
2
2
|
import * as events from 'aws-cdk-lib/aws-events';
|
|
3
|
+
import type { IJobRef, JobReference } from 'aws-cdk-lib/aws-glue';
|
|
3
4
|
import * as iam from 'aws-cdk-lib/aws-iam';
|
|
4
5
|
import type * as logs from 'aws-cdk-lib/aws-logs';
|
|
5
6
|
import * as cdk from 'aws-cdk-lib/core';
|
|
@@ -12,7 +13,7 @@ import type { ISecurityConfiguration } from '../security-configuration';
|
|
|
12
13
|
/**
|
|
13
14
|
* Interface representing a new or an imported Glue Job
|
|
14
15
|
*/
|
|
15
|
-
export interface IJob extends cdk.IResource, iam.IGrantable {
|
|
16
|
+
export interface IJob extends cdk.IResource, iam.IGrantable, IJobRef {
|
|
16
17
|
/**
|
|
17
18
|
* The name of the job.
|
|
18
19
|
* @attribute
|
|
@@ -119,6 +120,10 @@ export declare abstract class JobBase extends cdk.Resource implements IJob {
|
|
|
119
120
|
abstract readonly jobArn: string;
|
|
120
121
|
abstract readonly jobName: string;
|
|
121
122
|
abstract readonly grantPrincipal: iam.IPrincipal;
|
|
123
|
+
/**
|
|
124
|
+
* A reference to this Job resource, for use with the generated L1 ref interface.
|
|
125
|
+
*/
|
|
126
|
+
get jobRef(): JobReference;
|
|
122
127
|
/**
|
|
123
128
|
* Create a CloudWatch Event Rule for this Glue Job when it's in a given state
|
|
124
129
|
*
|
|
@@ -268,7 +273,16 @@ export interface JobProps {
|
|
|
268
273
|
* The default arguments for every run of this Glue job,
|
|
269
274
|
* specified as name-value pairs.
|
|
270
275
|
*
|
|
271
|
-
*
|
|
276
|
+
* This map is the escape hatch for Glue job arguments that this construct does not model. It
|
|
277
|
+
* MUST NOT be used to set arguments that already have a dedicated prop — configure those through
|
|
278
|
+
* the corresponding prop instead (`continuousLogging`, `enableMetrics`,
|
|
279
|
+
* `enableObservabilityMetrics`, `sparkUI`, `className`, `extraJars`, `extraJarsFirst`,
|
|
280
|
+
* `extraPythonFiles`, `extraFiles`). Passing a construct-managed argument (e.g.
|
|
281
|
+
* `--enable-continuous-cloudwatch-log`, `--enable-metrics`, `--enable-spark-ui`,
|
|
282
|
+
* `--job-language`) or a Glue-reserved argument (`--debug`, `--mode`, `--JOB_NAME`, `--endpoint`)
|
|
283
|
+
* here throws at synthesis time, so there is exactly one way to express each intent.
|
|
284
|
+
*
|
|
285
|
+
* Also note that these are emitted verbatim into the CloudFormation template, so avoid
|
|
272
286
|
* placing secrets here in plaintext. Pass secrets to the job at runtime
|
|
273
287
|
* through AWS Secrets Manager instead. A synthesis-time warning is emitted
|
|
274
288
|
* when an argument key looks like a credential and holds a plaintext literal.
|
|
@@ -351,26 +365,93 @@ export declare abstract class Job extends JobBase {
|
|
|
351
365
|
* @param attrs Attributes for the Glue Job we want to import
|
|
352
366
|
*/
|
|
353
367
|
static fromJobAttributes(scope: constructs.Construct, id: string, attrs: JobAttributes): IJob;
|
|
368
|
+
/**
|
|
369
|
+
* Argument keys that Glue reserves for its own use and that a caller must never set through
|
|
370
|
+
* `defaultArguments`. Unlike construct-managed arguments (which are derived from what each job
|
|
371
|
+
* class emits), these are owned by the Glue service itself and are reserved for every job type.
|
|
372
|
+
*
|
|
373
|
+
* @see https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
|
|
374
|
+
*/
|
|
375
|
+
private static readonly GLUE_RESERVED_ARGUMENTS;
|
|
354
376
|
/**
|
|
355
377
|
* The IAM role Glue assumes to run this job.
|
|
356
378
|
*/
|
|
357
379
|
abstract readonly role: iam.IRole;
|
|
358
380
|
/**
|
|
359
|
-
*
|
|
381
|
+
* The construct-managed job arguments that are actually emitted for the current configuration,
|
|
382
|
+
* accumulated via {@link setManagedArgument}. Passed through to `CfnJob.defaultArguments` after
|
|
383
|
+
* being merged with the user-supplied `defaultArguments` by {@link mergeDefaultArguments}.
|
|
384
|
+
*/
|
|
385
|
+
private readonly _managedArguments;
|
|
386
|
+
/**
|
|
387
|
+
* Every argument key this construct manages, accumulated via {@link setManagedArgument} — whether
|
|
388
|
+
* or not the current configuration emits a value for it. This is the reserved set that a
|
|
389
|
+
* user-supplied `defaultArguments` must not collide with. Registering a key even when its value
|
|
390
|
+
* is `undefined` (feature disabled or unset) is what keeps `defaultArguments` from silently
|
|
391
|
+
* re-enabling it.
|
|
392
|
+
*/
|
|
393
|
+
private readonly _managedArgumentKeys;
|
|
394
|
+
/**
|
|
395
|
+
* Declare `key` as construct-managed and, when `value` is defined, emit it into the job's
|
|
396
|
+
* arguments.
|
|
360
397
|
*
|
|
398
|
+
* This is the single sink for every argument a job construct derives from its typed props (or
|
|
399
|
+
* from the job class itself). Call it once per managed key, passing `undefined` as the value when
|
|
400
|
+
* the corresponding feature is turned off or unset — the key is still reserved from
|
|
401
|
+
* `defaultArguments` either way, so a disabled feature cannot be re-enabled through the escape
|
|
402
|
+
* hatch. There is deliberately no other way for a subclass to emit a managed argument, so the
|
|
403
|
+
* reserved set can never drift from what is emitted.
|
|
404
|
+
*
|
|
405
|
+
* @param key the Glue argument key, e.g. `--enable-metrics`
|
|
406
|
+
* @param value the value to emit, or `undefined` to reserve the key without emitting it
|
|
407
|
+
*/
|
|
408
|
+
protected setManagedArgument(key: string, value?: string): void;
|
|
409
|
+
/**
|
|
410
|
+
* Merge the customer-supplied `defaultArguments` with the arguments this construct manages.
|
|
411
|
+
*
|
|
412
|
+
* The construct owns every argument it emits — whether the value comes from a dedicated typed
|
|
413
|
+
* prop (e.g. `continuousLogging`, `enableMetrics`, `sparkUI`) or from the job class itself
|
|
414
|
+
* (e.g. `--job-language`). Those arguments, plus the arguments Glue reserves for its own use,
|
|
415
|
+
* MUST be configured through their dedicated props rather than the untyped `defaultArguments`
|
|
416
|
+
* map, so there is exactly one way to express each intent. Passing such a key through
|
|
417
|
+
* `defaultArguments` therefore throws instead of silently winning or being silently dropped.
|
|
418
|
+
*
|
|
419
|
+
* A managed key whose supplied value is identical to the construct's value is not contradictory,
|
|
420
|
+
* so it is allowed rather than rejected (auto-correcting config is preferred over errors).
|
|
421
|
+
* Glue-reserved keys are never emitted by the construct, so there is no value to reconcile and
|
|
422
|
+
* they always throw.
|
|
423
|
+
*
|
|
424
|
+
* The reserved set is `_managedArgumentKeys` — every key the construct declared through
|
|
425
|
+
* {@link setManagedArgument}, whether or not a value was emitted for it. It is deliberately NOT
|
|
426
|
+
* derived from the keys that carry a value: a typed prop that turns a feature *off* (e.g.
|
|
427
|
+
* `enableMetrics: false`) emits no value but still reserves its key, so `defaultArguments` cannot
|
|
428
|
+
* silently re-enable it.
|
|
429
|
+
*
|
|
430
|
+
* Conflict detection relies on string equality of the argument keys, which cannot see through
|
|
431
|
+
* unresolved tokens (e.g. a key produced by `CfnJson` that only resolves at deploy time). If a
|
|
432
|
+
* key is a token, the check is skipped for that key and a synthesis-time warning is emitted, so
|
|
433
|
+
* the (rare) case where a token key resolves to a managed argument at deploy time — in which the
|
|
434
|
+
* construct-managed value would silently take precedence — is surfaced rather than hidden.
|
|
435
|
+
*
|
|
436
|
+
* @param defaultArguments the caller-supplied escape-hatch arguments, if any
|
|
361
437
|
* @see https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html
|
|
362
438
|
*/
|
|
363
|
-
protected
|
|
439
|
+
protected mergeDefaultArguments(defaultArguments?: {
|
|
364
440
|
[key: string]: string;
|
|
365
441
|
}): {
|
|
366
442
|
[key: string]: string;
|
|
367
|
-
}
|
|
443
|
+
};
|
|
368
444
|
/**
|
|
369
|
-
*
|
|
370
|
-
*
|
|
445
|
+
* Register (and, when enabled, emit) the continuous-logging arguments this job manages.
|
|
446
|
+
*
|
|
447
|
+
* All five continuous-logging keys are reserved on every job type regardless of configuration:
|
|
448
|
+
* they are always registered through {@link setManagedArgument}, and carry a value only when
|
|
449
|
+
* logging is enabled. This keeps `defaultArguments` from re-enabling logging a user turned off.
|
|
450
|
+
*
|
|
451
|
+
* @param role The IAM role to grant write access to a custom log group, if one is provided
|
|
371
452
|
* @param props The properties for continuous logging configuration
|
|
372
|
-
* @
|
|
453
|
+
* @param securityConfiguration The security configuration attached to the job, if any
|
|
373
454
|
*/
|
|
374
|
-
protected setupContinuousLogging(role: iam.IRole, props: ContinuousLoggingProps | undefined):
|
|
455
|
+
protected setupContinuousLogging(role: iam.IRole, props: ContinuousLoggingProps | undefined, securityConfiguration?: ISecurityConfiguration): void;
|
|
375
456
|
protected codeS3ObjectUrl(code: Code): string;
|
|
376
457
|
}
|