@aws-cdk/aws-glue-alpha
Version:
The CDK Construct Library for AWS::Glue
157 lines • 16.1 kB
JavaScript
;
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
var useValue = arguments.length > 2;
for (var i = 0; i < initializers.length; i++) {
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
}
return useValue ? value : void 0;
};
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
var _, done = false;
for (var i = decorators.length - 1; i >= 0; i--) {
var context = {};
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
if (kind === "accessor") {
if (result === void 0) continue;
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
if (_ = accept(result.get)) descriptor.get = _;
if (_ = accept(result.set)) descriptor.set = _;
if (_ = accept(result.init)) initializers.unshift(_);
}
else if (_ = accept(result)) {
if (kind === "field") initializers.unshift(_);
else descriptor[key] = _;
}
}
if (target) Object.defineProperty(target, contextIn.name, descriptor);
done = true;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DataQualityRuleset = exports.DataQualityTargetTable = void 0;
const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdk = require("aws-cdk-lib");
const aws_glue_1 = require("aws-cdk-lib/aws-glue");
const core_1 = require("aws-cdk-lib/core");
const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
/**
* Properties of a DataQualityTargetTable.
*/
class DataQualityTargetTable {
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.DataQualityTargetTable", version: "2.257.0-alpha.0" };
/**
* The database name of the target table.
*/
databaseName;
/**
* The table name of the target table.
*/
tableName;
constructor(databaseName, tableName) {
this.databaseName = databaseName;
this.tableName = tableName;
}
}
exports.DataQualityTargetTable = DataQualityTargetTable;
/**
* A Glue Data Quality ruleset.
*/
let DataQualityRuleset = (() => {
let _classDecorators = [prop_injectable_1.propertyInjectable];
let _classDescriptor;
let _classExtraInitializers = [];
let _classThis;
let _classSuper = core_1.Resource;
let _instanceExtraInitializers = [];
let _get_rulesetName_decorators;
let _get_rulesetArn_decorators;
var DataQualityRuleset = class extends _classSuper {
static { _classThis = this; }
static {
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
_get_rulesetName_decorators = [helpers_internal_1.memoizedGetter];
_get_rulesetArn_decorators = [helpers_internal_1.memoizedGetter];
__esDecorate(this, null, _get_rulesetName_decorators, { kind: "getter", name: "rulesetName", static: false, private: false, access: { has: obj => "rulesetName" in obj, get: obj => obj.rulesetName }, metadata: _metadata }, null, _instanceExtraInitializers);
__esDecorate(this, null, _get_rulesetArn_decorators, { kind: "getter", name: "rulesetArn", static: false, private: false, access: { has: obj => "rulesetArn" in obj, get: obj => obj.rulesetArn }, metadata: _metadata }, null, _instanceExtraInitializers);
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
DataQualityRuleset = _classThis = _classDescriptor.value;
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
}
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.DataQualityRuleset", version: "2.257.0-alpha.0" };
/** Uniquely identifies this class. */
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.DataQualityRuleset';
static fromRulesetArn(scope, id, rulesetArn) {
class Import extends core_1.Resource {
rulesetArn = rulesetArn;
rulesetName = cdk.Arn.extractResourceName(rulesetArn, 'dataqualityruleset');
}
return new Import(scope, id);
}
static fromRulesetName(scope, id, rulesetName) {
class Import extends core_1.Resource {
rulesetArn = DataQualityRuleset.buildRulesetArn(scope, rulesetName);
rulesetName = rulesetName;
}
return new Import(scope, id);
}
static buildRulesetArn(scope, rulesetName) {
return cdk.Stack.of(scope).formatArn({
service: 'glue',
resource: 'dataqualityruleset',
resourceName: rulesetName,
});
}
resource = __runInitializers(this, _instanceExtraInitializers);
constructor(scope, id, props) {
super(scope, id, {
physicalName: props.rulesetName,
});
try {
jsiiDeprecationWarnings._aws_cdk_aws_glue_alpha_DataQualityRulesetProps(props);
}
catch (error) {
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
Error.captureStackTrace(error, DataQualityRuleset);
}
throw error;
}
// Enhanced CDK Analytics Telemetry
(0, metadata_resource_1.addConstructMetadata)(this, props);
this.resource = new aws_glue_1.CfnDataQualityRuleset(this, 'Resource', {
clientToken: props.clientToken,
description: props.description,
name: props.rulesetName,
ruleset: props.rulesetDqdl,
tags: props.tags,
targetTable: props.targetTable,
});
}
/**
* Name of this ruleset.
*/
get rulesetName() {
return this.getResourceNameAttribute(this.resource.ref);
}
/**
* ARN of this ruleset.
*/
get rulesetArn() {
return DataQualityRuleset.buildRulesetArn(this, this.rulesetName);
}
static {
__runInitializers(_classThis, _classExtraInitializers);
}
};
return DataQualityRuleset = _classThis;
})();
exports.DataQualityRuleset = DataQualityRuleset;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1xdWFsaXR5LXJ1bGVzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkYXRhLXF1YWxpdHktcnVsZXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtQ0FBbUM7QUFDbkMsbURBQTZEO0FBRTdELDJDQUE0QztBQUM1Qyw0RUFBdUU7QUFDdkUsOEVBQThFO0FBQzlFLDBFQUEwRTtBQUcxRTs7R0FFRztBQUNILE1BQWEsc0JBQXNCOztJQUNqQzs7T0FFRztJQUNNLFlBQVksQ0FBUztJQUU5Qjs7T0FFRztJQUNNLFNBQVMsQ0FBUztJQUUzQixZQUFZLFlBQW9CLEVBQUUsU0FBaUI7UUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7S0FDNUI7O0FBZEgsd0RBZUM7QUF5REQ7O0dBRUc7SUFFVSxrQkFBa0I7NEJBRDlCLG9DQUFrQjs7OztzQkFDcUIsZUFBUTs7OztrQ0FBaEIsU0FBUSxXQUFROzs7OzJDQW9EN0MsaUNBQWM7MENBUWQsaUNBQWM7WUFQZix3TEFBVyxXQUFXLDZEQUVyQjtZQU1ELHFMQUFXLFVBQVUsNkRBRXBCO1lBL0RILDZLQWdFQzs7Ozs7UUEvREMsc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyw0Q0FBNEMsQ0FBQztRQUU3RixNQUFNLENBQUMsY0FBYyxDQUFDLEtBQTJCLEVBQUUsRUFBVSxFQUFFLFVBQWtCO1lBQ3RGLE1BQU0sTUFBTyxTQUFRLGVBQVE7Z0JBQ3BCLFVBQVUsR0FBRyxVQUFVLENBQUM7Z0JBQ3hCLFdBQVcsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO2FBQ3BGO1lBRUQsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDOUI7UUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQTJCLEVBQUUsRUFBVSxFQUFFLFdBQW1CO1lBQ3hGLE1BQU0sTUFBTyxTQUFRLGVBQVE7Z0JBQ3BCLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUNwRSxXQUFXLEdBQUcsV0FBVyxDQUFDO2FBQ2xDO1lBRUQsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDOUI7UUFFTyxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQTJCLEVBQUUsV0FBbUI7WUFDN0UsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ25DLE9BQU8sRUFBRSxNQUFNO2dCQUNmLFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLFlBQVksRUFBRSxXQUFXO2FBQzFCLENBQUMsQ0FBQztTQUNKO1FBRU8sUUFBUSxHQTlCTCxtREFBa0IsQ0E4Qlc7UUFFeEMsWUFBWSxLQUEyQixFQUFFLEVBQVUsRUFBRSxLQUE4QjtZQUNqRixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtnQkFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFdBQVc7YUFDaEMsQ0FBQyxDQUFDOzs7Ozs7bURBbkNNLGtCQUFrQjs7OztZQW9DM0IsbUNBQW1DO1lBQ25DLElBQUEsd0NBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRWxDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxnQ0FBcUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUMxRCxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7Z0JBQzlCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztnQkFDOUIsSUFBSSxFQUFFLEtBQUssQ0FBQyxXQUFXO2dCQUN2QixPQUFPLEVBQUUsS0FBSyxDQUFDLFdBQVc7Z0JBQzFCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtnQkFDaEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO2FBQy9CLENBQUMsQ0FBQztTQUNKO1FBRUQ7O1dBRUc7UUFFSCxJQUFXLFdBQVc7WUFDcEIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6RDtRQUVEOztXQUVHO1FBRUgsSUFBVyxVQUFVO1lBQ25CLE9BQU8sa0JBQWtCLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDbkU7O1lBL0RVLHVEQUFrQjs7Ozs7QUFBbEIsZ0RBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENmbkRhdGFRdWFsaXR5UnVsZXNldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1nbHVlJztcbmltcG9ydCB0eXBlIHsgSVJlc291cmNlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgbWVtb2l6ZWRHZXR0ZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlICogYXMgY29uc3RydWN0cyBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIG9mIGEgRGF0YVF1YWxpdHlUYXJnZXRUYWJsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFRdWFsaXR5VGFyZ2V0VGFibGUge1xuICAvKipcbiAgICogVGhlIGRhdGFiYXNlIG5hbWUgb2YgdGhlIHRhcmdldCB0YWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFiYXNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFibGUgbmFtZSBvZiB0aGUgdGFyZ2V0IHRhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVOYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoZGF0YWJhc2VOYW1lOiBzdHJpbmcsIHRhYmxlTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5kYXRhYmFzZU5hbWUgPSBkYXRhYmFzZU5hbWU7XG4gICAgdGhpcy50YWJsZU5hbWUgPSB0YWJsZU5hbWU7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YVF1YWxpdHlSdWxlc2V0IGV4dGVuZHMgSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIHJ1bGVzZXRcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgcnVsZXNldEFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcnVsZXNldFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBydWxlc2V0TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbnN0cnVjdGlvbiBwcm9wZXJ0aWVzIGZvciBgRGF0YVF1YWxpdHlSdWxlc2V0YFxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFRdWFsaXR5UnVsZXNldFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBydWxlc2V0XG4gICAqIEBkZWZhdWx0IGNsb3VkZm9ybWF0aW9uIGdlbmVyYXRlZCBuYW1lXG4gICAqL1xuICByZWFkb25seSBydWxlc2V0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNsaWVudCB0b2tlbiBvZiB0aGUgcnVsZXNldFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBjbGllbnRUb2tlbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBydWxlc2V0XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZHFkbCBvZiB0aGUgcnVsZXNldFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBydWxlc2V0RHFkbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiAgS2V5LVZhbHVlIHBhaXJzIHRoYXQgZGVmaW5lIHRhZ3MgZm9yIHRoZSBydWxlc2V0LlxuICAgKiAgQGRlZmF1bHQgZW1wdHkgdGFnc1xuICAgKi9cbiAgcmVhZG9ubHkgdGFncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIFRoZSB0YXJnZXQgdGFibGUgb2YgdGhlIHJ1bGVzZXRcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0VGFibGU6IERhdGFRdWFsaXR5VGFyZ2V0VGFibGU7XG59XG5cbi8qKlxuICogQSBHbHVlIERhdGEgUXVhbGl0eSBydWxlc2V0LlxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgRGF0YVF1YWxpdHlSdWxlc2V0IGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJRGF0YVF1YWxpdHlSdWxlc2V0IHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtZ2x1ZS1hbHBoYS5EYXRhUXVhbGl0eVJ1bGVzZXQnO1xuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJ1bGVzZXRBcm4oc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBydWxlc2V0QXJuOiBzdHJpbmcpOiBJRGF0YVF1YWxpdHlSdWxlc2V0IHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElEYXRhUXVhbGl0eVJ1bGVzZXQge1xuICAgICAgcHVibGljIHJ1bGVzZXRBcm4gPSBydWxlc2V0QXJuO1xuICAgICAgcHVibGljIHJ1bGVzZXROYW1lID0gY2RrLkFybi5leHRyYWN0UmVzb3VyY2VOYW1lKHJ1bGVzZXRBcm4sICdkYXRhcXVhbGl0eXJ1bGVzZXQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tUnVsZXNldE5hbWUoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBydWxlc2V0TmFtZTogc3RyaW5nKTogSURhdGFRdWFsaXR5UnVsZXNldCB7XG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJRGF0YVF1YWxpdHlSdWxlc2V0IHtcbiAgICAgIHB1YmxpYyBydWxlc2V0QXJuID0gRGF0YVF1YWxpdHlSdWxlc2V0LmJ1aWxkUnVsZXNldEFybihzY29wZSwgcnVsZXNldE5hbWUpO1xuICAgICAgcHVibGljIHJ1bGVzZXROYW1lID0gcnVsZXNldE5hbWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGJ1aWxkUnVsZXNldEFybihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIHJ1bGVzZXROYW1lOiBzdHJpbmcpIDogc3RyaW5nIHtcbiAgICByZXR1cm4gY2RrLlN0YWNrLm9mKHNjb3BlKS5mb3JtYXRBcm4oe1xuICAgICAgc2VydmljZTogJ2dsdWUnLFxuICAgICAgcmVzb3VyY2U6ICdkYXRhcXVhbGl0eXJ1bGVzZXQnLFxuICAgICAgcmVzb3VyY2VOYW1lOiBydWxlc2V0TmFtZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb3VyY2U6IENmbkRhdGFRdWFsaXR5UnVsZXNldDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhUXVhbGl0eVJ1bGVzZXRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcy5ydWxlc2V0TmFtZSxcbiAgICB9KTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgQ2ZuRGF0YVF1YWxpdHlSdWxlc2V0KHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIGNsaWVudFRva2VuOiBwcm9wcy5jbGllbnRUb2tlbixcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIG5hbWU6IHByb3BzLnJ1bGVzZXROYW1lLFxuICAgICAgcnVsZXNldDogcHJvcHMucnVsZXNldERxZGwsXG4gICAgICB0YWdzOiBwcm9wcy50YWdzLFxuICAgICAgdGFyZ2V0VGFibGU6IHByb3BzLnRhcmdldFRhYmxlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhpcyBydWxlc2V0LlxuICAgKi9cbiAgQG1lbW9pemVkR2V0dGVyXG4gIHB1YmxpYyBnZXQgcnVsZXNldE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRSZXNvdXJjZU5hbWVBdHRyaWJ1dGUodGhpcy5yZXNvdXJjZS5yZWYpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFSTiBvZiB0aGlzIHJ1bGVzZXQuXG4gICAqL1xuICBAbWVtb2l6ZWRHZXR0ZXJcbiAgcHVibGljIGdldCBydWxlc2V0QXJuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIERhdGFRdWFsaXR5UnVsZXNldC5idWlsZFJ1bGVzZXRBcm4odGhpcywgdGhpcy5ydWxlc2V0TmFtZSk7XG4gIH1cbn1cbiJdfQ==