UNPKG

awscdk-resources-mongodbatlas

Version:

MongoDB Atlas CDK Construct Library for AWS CloudFormation Resources

132 lines 24.9 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.CfnCloudBackUpRestoreJobs = exports.CfnCloudBackUpRestoreJobsPropsDeliveryType = exports.CfnCloudBackUpRestoreJobsPropsInstanceType = void 0; exports.toJson_CfnCloudBackUpRestoreJobsProps = toJson_CfnCloudBackUpRestoreJobsProps; exports.toJson_CfnCloudBackUpRestoreJobsPropsLinks = toJson_CfnCloudBackUpRestoreJobsPropsLinks; exports.toJson_SynchronousCreationOptions = toJson_SynchronousCreationOptions; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); // Generated by cdk-import const cdk = require("aws-cdk-lib"); /** * Converts an object of type 'CfnCloudBackUpRestoreJobsProps' to JSON representation. */ /* eslint-disable max-len, quote-props */ function toJson_CfnCloudBackUpRestoreJobsProps(obj) { if (obj === undefined) { return undefined; } const result = { ProjectId: obj.projectId, InstanceType: obj.instanceType, InstanceName: obj.instanceName, DeliveryType: obj.deliveryType, SnapshotId: obj.snapshotId, Links: obj.links?.map((y) => toJson_CfnCloudBackUpRestoreJobsPropsLinks(y)), OpLogTs: obj.opLogTs, OpLogInc: obj.opLogInc, PointInTimeUtcSeconds: obj.pointInTimeUtcSeconds, TargetProjectId: obj.targetProjectId, TargetClusterName: obj.targetClusterName, Profile: obj.profile, EnableSynchronousCreation: obj.enableSynchronousCreation, SynchronousCreationOptions: toJson_SynchronousCreationOptions(obj.synchronousCreationOptions), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Type of instance specified on the Instance Name. * * @schema CfnCloudBackUpRestoreJobsPropsInstanceType */ var CfnCloudBackUpRestoreJobsPropsInstanceType; (function (CfnCloudBackUpRestoreJobsPropsInstanceType) { /** cluster */ CfnCloudBackUpRestoreJobsPropsInstanceType["CLUSTER"] = "cluster"; })(CfnCloudBackUpRestoreJobsPropsInstanceType || (exports.CfnCloudBackUpRestoreJobsPropsInstanceType = CfnCloudBackUpRestoreJobsPropsInstanceType = {})); /** * Type of restore job to create.The value can be any one of download,automated or point_in_time * * @schema CfnCloudBackUpRestoreJobsPropsDeliveryType */ var CfnCloudBackUpRestoreJobsPropsDeliveryType; (function (CfnCloudBackUpRestoreJobsPropsDeliveryType) { /** download */ CfnCloudBackUpRestoreJobsPropsDeliveryType["DOWNLOAD"] = "download"; /** automated */ CfnCloudBackUpRestoreJobsPropsDeliveryType["AUTOMATED"] = "automated"; /** pointInTime */ CfnCloudBackUpRestoreJobsPropsDeliveryType["POINT_IN_TIME"] = "pointInTime"; })(CfnCloudBackUpRestoreJobsPropsDeliveryType || (exports.CfnCloudBackUpRestoreJobsPropsDeliveryType = CfnCloudBackUpRestoreJobsPropsDeliveryType = {})); /** * Converts an object of type 'CfnCloudBackUpRestoreJobsPropsLinks' to JSON representation. */ /* eslint-disable max-len, quote-props */ function toJson_CfnCloudBackUpRestoreJobsPropsLinks(obj) { if (obj === undefined) { return undefined; } const result = { Rel: obj.rel, Href: obj.href, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}); } /** * Converts an object of type 'SynchronousCreationOptions' to JSON representation. */ /* eslint-disable max-len, quote-props */ function toJson_SynchronousCreationOptions(obj) { if (obj === undefined) { return undefined; } const result = { TimeOutInSeconds: obj.timeOutInSeconds, CallbackDelaySeconds: obj.callbackDelaySeconds, ReturnSuccessIfTimeOut: obj.returnSuccessIfTimeOut, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * A CloudFormation `MongoDB::Atlas::CloudBackUpRestoreJobs` * * @cloudformationResource MongoDB::Atlas::CloudBackUpRestoreJobs * @stability external */ class CfnCloudBackUpRestoreJobs extends cdk.CfnResource { /** * Create a new `MongoDB::Atlas::CloudBackUpRestoreJobs`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope, id, props) { super(scope, id, { type: CfnCloudBackUpRestoreJobs.CFN_RESOURCE_TYPE_NAME, properties: toJson_CfnCloudBackUpRestoreJobsProps(props), }); this.props = props; this.attrId = cdk.Token.asString(this.getAtt("Id")); this.attrDeliveryUrl = cdk.Token.asList(this.getAtt("DeliveryUrl")); this.attrCancelled = this.getAtt("Cancelled"); this.attrFailed = this.getAtt("Failed"); this.attrExpired = this.getAtt("Expired"); this.attrExpiresAt = cdk.Token.asString(this.getAtt("ExpiresAt")); this.attrFinishedAt = cdk.Token.asString(this.getAtt("FinishedAt")); this.attrTimestamp = cdk.Token.asString(this.getAtt("Timestamp")); } } exports.CfnCloudBackUpRestoreJobs = CfnCloudBackUpRestoreJobs; _a = JSII_RTTI_SYMBOL_1; CfnCloudBackUpRestoreJobs[_a] = { fqn: "awscdk-resources-mongodbatlas.CfnCloudBackUpRestoreJobs", version: "4.0.0" }; /** * The CloudFormation resource type name for this resource class. */ CfnCloudBackUpRestoreJobs.CFN_RESOURCE_TYPE_NAME = "MongoDB::Atlas::CloudBackUpRestoreJobs"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbDEtcmVzb3VyY2VzL2Nsb3VkLWJhY2t1cC1yZXN0b3JlLWpvYnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQWlIQSxzRkE2QkM7QUE4Q0QsZ0dBZUM7QUFtQ0QsOEVBZ0JDOztBQTlQRCwwQkFBMEI7QUFDMUIsbUNBQW1DO0FBNEduQzs7R0FFRztBQUNILHlDQUF5QztBQUN6QyxTQUFnQixxQ0FBcUMsQ0FDbkQsR0FBK0M7SUFFL0MsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDdEIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHO1FBQ2IsU0FBUyxFQUFFLEdBQUcsQ0FBQyxTQUFTO1FBQ3hCLFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWTtRQUM5QixZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVk7UUFDOUIsWUFBWSxFQUFFLEdBQUcsQ0FBQyxZQUFZO1FBQzlCLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVTtRQUMxQixLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLDBDQUEwQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNFLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztRQUNwQixRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7UUFDdEIscUJBQXFCLEVBQUUsR0FBRyxDQUFDLHFCQUFxQjtRQUNoRCxlQUFlLEVBQUUsR0FBRyxDQUFDLGVBQWU7UUFDcEMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLGlCQUFpQjtRQUN4QyxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87UUFDcEIseUJBQXlCLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtRQUN4RCwwQkFBMEIsRUFBRSxpQ0FBaUMsQ0FDM0QsR0FBRyxDQUFDLDBCQUEwQixDQUMvQjtLQUNGLENB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Y2RrLWltcG9ydFxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG4vKipcbiAqIFJldHVybnMsIHN0YXJ0cywgYW5kIGNhbmNlbHMgQ2xvdWQgQmFja3VwIHJlc3RvcmUgam9icy5cbiAqXG4gKiBAc2NoZW1hIENmbkNsb3VkQmFja1VwUmVzdG9yZUpvYnNQcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENmbkNsb3VkQmFja1VwUmVzdG9yZUpvYnNQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIHByb2plY3QgZm9yIHRoZSBBdGxhcyBjbHVzdGVyLlxuICAgKlxuICAgKiBAc2NoZW1hIENmbkNsb3VkQmFja1VwUmVzdG9yZUpvYnNQcm9wcyNQcm9qZWN0SWRcbiAgICovXG4gIHJlYWRvbmx5IHByb2plY3RJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUeXBlIG9mIGluc3RhbmNlIHNwZWNpZmllZCBvbiB0aGUgSW5zdGFuY2UgTmFtZS5cbiAgICpcbiAgICogQHNjaGVtYSBDZm5DbG91ZEJhY2tVcFJlc3RvcmVKb2JzUHJvcHMjSW5zdGFuY2VUeXBlXG4gICAqL1xuICByZWFkb25seSBpbnN0YW5jZVR5cGU6IENmbkNsb3VkQmFja1VwUmVzdG9yZUpvYnNQcm9wc0luc3RhbmNlVHlwZTtcblxuICAvKipcbiAgICogSHVtYW4tcmVhZGFibGUgbGFiZWwgdGhhdCBpZGVudGlmaWVzIHRoZSBjbHVzdGVyLlxuICAgKlxuICAgKiBAc2NoZW1hIENmbkNsb3VkQmFja1VwUmVzdG9yZUpvYnNQcm9wcyNJbnN0YW5jZU5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUeXBlIG9mIHJlc3RvcmUgam9iIHRvIGNyZWF0ZS5UaGUgdmFsdWUgY2FuIGJlIGFueSBvbmUgb2YgZG93bmxvYWQsYXV0b21hdGVkIG9yIHBvaW50X2luX3RpbWVcbiAgICpcbiAgICogQHNjaGVtYSBDZm5DbG91ZEJhY2tVcFJlc3RvcmVKb2JzUHJvcHMjRGVsaXZlcnlUeXBlXG4gICAqL1xuICByZWFkb25seSBkZWxpdmVyeVR5cGU6IENmbkNsb3VkQmFja1VwUmVzdG9yZUpvYnNQcm9wc0RlbGl2ZXJ5VHlwZTtcblxuICAvKipcbiAgICogVW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIHNvdXJjZSBzbmFwc2hvdCBJRCBvZiB0aGUgcmVzdG9yZSBqb2IuXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuQ2xvdWRCYWNrVXBSZXN0b3JlSm9ic1Byb3BzI1NuYXBzaG90SWRcbiAgICovXG4gIHJlYWRvbmx5IHNuYXBzaG90SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogT25lIG9yIG1vcmUgbGlua3MgdG8gc3ViLXJlc291cmNlcyBhbmQvb3IgcmVsYXRlZCByZXNvdXJjZXMuXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuQ2xvdWRCYWNrVXBSZXN0b3JlSm9ic1Byb3BzI0xpbmtzXG4gICAqL1xuICByZWFkb25seSBsaW5rcz86IENmbkNsb3VkQmFja1VwUmVzdG9yZUpvYnNQcm9wc0xpbmtzW107XG5cbiAgLyoqXG4gICAqIFRpbWVzdGFtcCBpbiB0aGUgbnVtYmVyIG9mIHNlY29uZHMgdGhhdCBoYXZlIGVsYXBzZWQgc2luY2UgdGhlIFVOSVggZXBvY2ggZnJvbSB3aGljaCB0byB5b3Ugd2FudCB0byByZXN0b3JlIHRoaXMgc25hcHNob3QuIFRoaXMgaXMgdGhlIGZpcnN0IHBhcnQgb2YgYW4gT3Bsb2cgdGltZXN0YW1wLlxuICAgKlxuICAgKiBAc2NoZW1hIENmbkNsb3VkQmFja1VwUmVzdG9yZUpvYnNQcm9wcyNPcExvZ1RzXG4gICAqL1xuICByZWFkb25seSBvcExvZ1RzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcGxvZyBvcGVyYXRpb24gbnVtYmVyIGZyb20gd2hpY2ggdG8geW91IHdhbnQgdG8gcmVzdG9yZSB0aGlzIHNuYXBzaG90LiBUaGlzIGlzIHRoZSBzZWNvbmQgcGFydCBvZiBhbiBPcGxvZyB0aW1lc3RhbXAuXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuQ2xvdWRCYWNrVXBSZXN0b3JlSm9ic1Byb3BzI09wTG9nSW5jXG4gICAqL1xuICByZWFkb25seSBvcExvZ0luYz86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgeW91IHBlcmZvcm1lZCBhIFBvaW50LWluLVRpbWUgcmVzdG9yZXMgYXQgYSB0aW1lIHNwZWNpZmllZCBieSBhIFVuaXggdGltZSBpbiBzZWNvbmRzIHNpbmNlIGVwb2NoLCBwb2ludEluVGltZVVUQ1NlY29uZHMgaW5kaWNhdGVzIHRoZSBVbml4IHRpbWUgdXNlZC5cbiAgICpcbiAgICogQHNjaGVtYSBDZm5DbG91ZEJhY2tVcFJlc3RvcmVKb2JzUHJvcHMjUG9pbnRJblRpbWVVdGNTZWNvbmRzXG4gICAqL1xuICByZWFkb25seSBwb2ludEluVGltZVV0Y1NlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHRhcmdldCBBdGxhcyBwcm9qZWN0IG9mIHRoZSByZXN0b3JlIGpvYi4gT25seSB2aXNpYmxlIGlmIGRlbGl2ZXJ5VHlwZSBpcyBhdXRvbWF0ZWQuXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuQ2xvdWRCYWNrVXBSZXN0b3JlSm9ic1Byb3BzI1RhcmdldFByb2plY3RJZFxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0UHJvamVjdElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSB0YXJnZXQgQXRsYXMgY2x1c3RlciB0byB3aGljaCB0aGUgcmVzdG9yZSBqb2IgcmVzdG9yZXMgdGhlIHNuYXBzaG90LiBPbmx5IHZpc2libGUgaWYgZGVsaXZlcnlUeXBlIGlzIGF1dG9tYXRlZC5cbiAgICpcbiAgICogQHNjaGVtYSBDZm5DbG91ZEJhY2tVcFJlc3RvcmVKb2JzUHJvcHMjVGFyZ2V0Q2x1c3Rlck5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldENsdXN0ZXJOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcm9maWxlIHVzZWQgdG8gcHJvdmlkZSBjcmVkZW50aWFscyBpbmZvcm1hdGlvbiwgKGEgc2VjcmV0IHdpdGggdGhlIGNmbi9hdGxhcy9wcm9maWxlL3tQcm9maWxlfSwgaXMgcmVxdWlyZWQpLCBpZiBub3QgcHJvdmlkZWQgZGVmYXVsdCBpcyB1c2VkXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuQ2xvdWRCYWNrVXBSZXN0b3JlSm9ic1Byb3BzI1Byb2ZpbGVcbiAgICovXG4gIHJlYWRvbmx5IHByb2ZpbGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElmIHNldCB0byB0cnVlLCB0aGUgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2Ugd2lsbCB3YWl0IHVudGlsIHRoZSBqb2IgaXMgY29tcGxldGVkLCBXQVJOSU5HOiBpZiB0aGUgc25hcHNob3QgaGFzIGEgYmlnIGxvYWQgb2YgZGF0YSwgdGhlIGNsb3VkIGZvcm1hdGlvbiByZXNvdXJjZSBtaWdodCB0YWtlIGEgbG9uZyB0aW1lIHRvIGZpbmlzaCBsZWFkaW5nIHRvIGhpZ2ggY29zdHNcbiAgICpcbiAgICogQHNjaGVtYSBDZm5DbG91ZEJhY2tVcFJlc3RvcmVKb2JzUHJvcHMjRW5hYmxlU3luY2hyb25vdXNDcmVhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlU3luY2hyb25vdXNDcmVhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgdGhhdCBuZWVkcyB0byBiZSBzZXQgdG8gY29udHJvbCB0aGUgc3luY2hyb25vdXMgY3JlYXRpb24gZmxvdywgdGhpcyBvcHRpb25zIG5lZWQgdG8gYmUgc2V0IGlmIEVuYWJsZVN5bmNocm9ub3VzQ3JlYXRpb24gaXMgc2UgdG8gVFJVRVxuICAgKlxuICAgKiBAc2NoZW1hIENmbkNsb3VkQmFja1VwUmVzdG9yZUpvYnNQcm9wcyNTeW5jaHJvbm91c0NyZWF0aW9uT3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgc3luY2hyb25vdXNDcmVhdGlvbk9wdGlvbnM/OiBTeW5jaHJvbm91c0NyZWF0aW9uT3B0aW9ucztcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnQ2ZuQ2xvdWRCYWNrVXBSZXN0b3JlSm9ic1Byb3BzJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9DZm5DbG91ZEJhY2tVcFJlc3RvcmVKb2JzUHJvcHMoXG4gIG9iajogQ2ZuQ2xvdWRCYWNrVXBSZXN0b3JlSm9ic1Byb3BzIHwgdW5kZWZpbmVkXG4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgUHJvamVjdElkOiBvYmoucHJvamVjdElkLFxuICAgIEluc3RhbmNlVHlwZTogb2JqLmluc3RhbmNlVHlwZSxcbiAgICBJbnN0YW5jZU5hbWU6IG9iai5pbnN0YW5jZU5hbWUsXG4gICAgRGVsaXZlcnlUeXBlOiBvYmouZGVsaXZlcnlUeXBlLFxuICAgIFNuYXBzaG90SWQ6IG9iai5zbmFwc2hvdElkLFxuICAgIExpbmtzOiBvYmoubGlua3M/Lm1hcCgoeSkgPT4gdG9Kc29uX0NmbkNsb3VkQmFja1VwUmVzdG9yZUpvYnNQcm9wc0xpbmtzKHkpKSxcbiAgICBPcExvZ1RzOiBvYmoub3BMb2dUcyxcbiAgICBPcExvZ0luYzogb2JqLm9wTG9nSW5jLFxuICAgIFBvaW50SW5UaW1lVXRjU2Vjb25kczogb2JqLnBvaW50SW5UaW1lVXRjU2Vjb25kcyxcbiAgICBUYXJnZXRQcm9qZWN0SWQ6IG9iai50YXJnZXRQcm9qZWN0SWQsXG4gICAgVGFyZ2V0Q2x1c3Rlck5hbWU6IG9iai50YXJnZXRDbHVzdGVyTmFtZSxcbiAgICBQcm9maWxlOiBvYmoucHJvZmlsZSxcbiAgICBFbmFibGVTeW5jaHJvbm91c0NyZWF0aW9uOiBvYmouZW5hYmxlU3luY2hyb25vdXNDcmVhdGlvbixcbiAgICBTeW5jaHJvbm91c0NyZWF0aW9uT3B0aW9uczogdG9Kc29uX1N5bmNocm9ub3VzQ3JlYXRpb25PcHRpb25zKFxuICAgICAgb2JqLnN5bmNocm9ub3VzQ3JlYXRpb25PcHRpb25zXG4gICAgKSxcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKFxuICAgIChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkID8gciA6IHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLFxuICAgIHt9XG4gICk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbi8qKlxuICogVHlwZSBvZiBpbnN0YW5jZSBzcGVjaWZpZWQgb24gdGhlIEluc3RhbmNlIE5hbWUuXG4gKlxuICogQHNjaGVtYSBDZm5DbG91ZEJhY2tVcFJlc3RvcmVKb2JzUHJvcHNJbnN0YW5jZVR5cGVcbiAqL1xuZXhwb3J0IGVudW0gQ2ZuQ2xvdWRCYWNrVXBSZXN0b3JlSm9ic1Byb3BzSW5zdGFuY2VUeXBlIHtcbiAgLyoqIGNsdXN0ZXIgKi9cbiAgQ0xVU1RFUiA9IFwiY2x1c3RlclwiLFxufVxuXG4vKipcbiAqIFR5cGUgb2YgcmVzdG9yZSBqb2IgdG8gY3JlYXRlLlRoZSB2YWx1ZSBjYW4gYmUgYW55IG9uZSBvZiBkb3dubG9hZCxhdXRvbWF0ZWQgb3IgcG9pbnRfaW5fdGltZVxuICpcbiAqIEBzY2hlbWEgQ2ZuQ2xvdWRCYWNrVXBSZXN0b3JlSm9ic1Byb3BzRGVsaXZlcnlUeXBlXG4gKi9cbmV4cG9ydCBlbnVtIENmbkNsb3VkQmFja1VwUmVzdG9yZUpvYnNQcm9wc0RlbGl2ZXJ5VHlwZSB7XG4gIC8qKiBkb3dubG9hZCAqL1xuICBET1dOTE9BRCA9IFwiZG93bmxvYWRcIixcbiAgLyoqIGF1dG9tYXRlZCAqL1xuICBBVVRPTUFURUQgPSBcImF1dG9tYXRlZFwiLFxuICAvKiogcG9pbnRJblRpbWUgKi9cbiAgUE9JTlRfSU5fVElNRSA9IFwicG9pbnRJblRpbWVcIixcbn1cblxuLyoqXG4gKiBAc2NoZW1hIENmbkNsb3VkQmFja1VwUmVzdG9yZUpvYnNQcm9wc0xpbmtzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2ZuQ2xvdWRCYWNrVXBSZXN0b3JlSm9ic1Byb3BzTGlua3Mge1xuICAvKipcbiAgICogQHNjaGVtYSBDZm5DbG91ZEJhY2tVcFJlc3RvcmVKb2JzUHJvcHNMaW5rcyNSZWxcbiAgICovXG4gIHJlYWRvbmx5IHJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogQHNjaGVtYSBDZm5DbG91ZEJhY2tVcFJlc3RvcmVKb2JzUHJvcHNMaW5rcyNIcmVmXG4gICAqL1xuICByZWFkb25seSBocmVmPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdDZm5DbG91ZEJhY2tVcFJlc3RvcmVKb2JzUHJvcHNMaW5rcycgdG8gSlNPTiByZXByZXNlbnRhdGlvbi5cbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0pzb25fQ2ZuQ2xvdWRCYWNrVXBSZXN0b3JlSm9ic1Byb3BzTGlua3MoXG4gIG9iajogQ2ZuQ2xvdWRCYWNrVXBSZXN0b3JlSm9ic1Byb3BzTGlua3MgfCB1bmRlZmluZWRcbik6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICBSZWw6IG9iai5yZWwsXG4gICAgSHJlZjogb2JqLmhyZWYsXG4gIH07XG4gIC8vIGZpbHRlciB1bmRlZmluZWQgdmFsdWVzXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHQpLnJlZHVjZShcbiAgICAociwgaSkgPT4gKGlbMV0gPT09IHVuZGVmaW5lZCA/IHIgOiB7IC4uLnIsIFtpWzBdXTogaVsxXSB9KSxcbiAgICB7fVxuICApO1xufVxuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuXG4vKipcbiAqIE9wdGlvbnMgdGhhdCBuZWVkcyB0byBiZSBzZXQgdG8gY29udHJvbCB0aGUgc3luY2hyb25vdXMgY3JlYXRpb24gZmxvdywgdGhpcyBvcHRpb25zIG5lZWQgdG8gYmUgc2V0IGlmIEVuYWJsZVN5bmNocm9ub3VzQ3JlYXRpb24gaXMgc2UgdG8gVFJVRVxuICpcbiAqIEBzY2hlbWEgU3luY2hyb25vdXNDcmVhdGlvbk9wdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTeW5jaHJvbm91c0NyZWF0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIHRpbWUgdGhlIHByb2Nlc3Mgd2lsbCB3YWl0IHVudGlsIGV4aXRpbmcgd2l0aCBhIHN1Y2Nlc3MsIGRlZmF1bHQgKDEyMDAgc2Vjb25kcylcbiAgICpcbiAgICogQHNjaGVtYSBTeW5jaHJvbm91c0NyZWF0aW9uT3B0aW9ucyNUaW1lT3V0SW5TZWNvbmRzXG4gICAqL1xuICByZWFkb25seSB0aW1lT3V0SW5TZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIHRoZSB0aW1lIGludGVydmFsLCBtZWFzdXJlZCBpbiBzZWNvbmRzLCBmb3IgdGhlIHN5bmNocm9ub3VzIHByb2Nlc3MgdG8gd2FpdCBiZWZvcmUgY2hlY2tpbmcgYWdhaW4gdG8gdmVyaWZ5IGlmIHRoZSBqb2IgaGFzIGJlZW4gY29tcGxldGVkLiBleGFtcGxlOiBpZiBzZXQgdG8gMjAsIGl0IHdpbGwgY2hlayBldmVyeSAyMCBzZWNvbmRzIGlmIHRoZSByZXNvdXJjZSBpcyBjb21wbGV0ZWQsIGRlZmF1bHQgKDMwIHNlY29uZHMpXG4gICAqXG4gICAqIEBzY2hlbWEgU3luY2hyb25vdXNDcmVhdGlvbk9wdGlvbnMjQ2FsbGJhY2tEZWxheVNlY29uZHNcbiAgICovXG4gIHJlYWRvbmx5IGNhbGxiYWNrRGVsYXlTZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBpZiBzZXQgdG8gdHJ1ZSwgdGhlIHByb2Nlc3Mgd2lsbCByZXR1cm4gc3VjY2VzcywgaW4gdGhlIGV2ZW50IG9mIGEgdGltZU91dCwgZGVmYXVsdCBmYWxzZVxuICAgKlxuICAgKiBAc2NoZW1hIFN5bmNocm9ub3VzQ3JlYXRpb25PcHRpb25zI1JldHVyblN1Y2Nlc3NJZlRpbWVPdXRcbiAgICovXG4gIHJlYWRvbmx5IHJldHVyblN1Y2Nlc3NJZlRpbWVPdXQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdTeW5jaHJvbm91c0NyZWF0aW9uT3B0aW9ucycgdG8gSlNPTiByZXByZXNlbnRhdGlvbi5cbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0pzb25fU3luY2hyb25vdXNDcmVhdGlvbk9wdGlvbnMoXG4gIG9iajogU3luY2hyb25vdXNDcmVhdGlvbk9wdGlvbnMgfCB1bmRlZmluZWRcbik6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICBUaW1lT3V0SW5TZWNvbmRzOiBvYmoudGltZU91dEluU2Vjb25kcyxcbiAgICBDYWxsYmFja0RlbGF5U2Vjb25kczogb2JqLmNhbGxiYWNrRGVsYXlTZWNvbmRzLFxuICAgIFJldHVyblN1Y2Nlc3NJZlRpbWVPdXQ6IG9iai5yZXR1cm5TdWNjZXNzSWZUaW1lT3V0LFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoXG4gICAgKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQgPyByIDogeyAuLi5yLCBbaVswXV06IGlbMV0gfSksXG4gICAge31cbiAgKTtcbn1cbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cblxuLyoqXG4gKiBBIENsb3VkRm9ybWF0aW9uIGBNb25nb0RCOjpBdGxhczo6Q2xvdWRCYWNrVXBSZXN0b3JlSm9ic2BcbiAqXG4gKiBAY2xvdWRmb3JtYXRpb25SZXNvdXJjZSBNb25nb0RCOjpBdGxhczo6Q2xvdWRCYWNrVXBSZXN0b3JlSm9ic1xuICogQHN0YWJpbGl0eSBleHRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgQ2ZuQ2xvdWRCYWNrVXBSZXN0b3JlSm9icyBleHRlbmRzIGNkay5DZm5SZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgdHlwZSBuYW1lIGZvciB0aGlzIHJlc291cmNlIGNsYXNzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDRk5fUkVTT1VSQ0VfVFlQRV9OQU1FID1cbiAgICBcIk1vbmdvREI6OkF0bGFzOjpDbG91ZEJhY2tVcFJlc3RvcmVKb2JzXCI7XG5cbiAgLyoqXG4gICAqIFJlc291cmNlIHByb3BzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBDZm5DbG91ZEJhY2tVcFJlc3RvcmVKb2JzUHJvcHM7XG5cbiAgLyoqXG4gICAqIEF0dHJpYnV0ZSBgTW9uZ29EQjo6QXRsYXM6OkNsb3VkQmFja1VwUmVzdG9yZUpvYnMuSWRgXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXR0cklkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgYE1vbmdvREI6OkF0bGFzOjpDbG91ZEJhY2tVcFJlc3RvcmVKb2JzLkRlbGl2ZXJ5VXJsYFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGF0dHJEZWxpdmVyeVVybDogc3RyaW5nW107XG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgYE1vbmdvREI6OkF0bGFzOjpDbG91ZEJhY2tVcFJlc3RvcmVKb2JzLkNhbmNlbGxlZGBcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhdHRyQ2FuY2VsbGVkOiBjZGsuSVJlc29sdmFibGU7XG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgYE1vbmdvREI6OkF0bGFzOjpDbG91ZEJhY2tVcFJlc3RvcmVKb2JzLkZhaWxlZGBcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhdHRyRmFpbGVkOiBjZGsuSVJlc29sdmFibGU7XG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgYE1vbmdvREI6OkF0bGFzOjpDbG91ZEJhY2tVcFJlc3RvcmVKb2JzLkV4cGlyZWRgXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXR0ckV4cGlyZWQ6IGNkay5JUmVzb2x2YWJsZTtcbiAgLyoqXG4gICAqIEF0dHJpYnV0ZSBgTW9uZ29EQjo6QXRsYXM6OkNsb3VkQmFja1VwUmVzdG9yZUpvYnMuRXhwaXJlc0F0YFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGF0dHJFeHBpcmVzQXQ6IHN0cmluZztcbiAgLyoqXG4gICAqIEF0dHJpYnV0ZSBgTW9uZ29EQjo6QXRsYXM6OkNsb3VkQmFja1VwUmVzdG9yZUpvYnMuRmluaXNoZWRBdGBcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhdHRyRmluaXNoZWRBdDogc3RyaW5nO1xuICAvKipcbiAgICogQXR0cmlidXRlIGBNb25nb0RCOjpBdGxhczo6Q2xvdWRCYWNrVXBSZXN0b3JlSm9icy5UaW1lc3RhbXBgXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXR0clRpbWVzdGFtcDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgYE1vbmdvREI6OkF0bGFzOjpDbG91ZEJhY2tVcFJlc3RvcmVKb2JzYC5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gc2NvcGUgaW4gd2hpY2ggdGhpcyByZXNvdXJjZSBpcyBkZWZpbmVkXG4gICAqIEBwYXJhbSBpZCAgICAtIHNjb3BlZCBpZCBvZiB0aGUgcmVzb3VyY2VcbiAgICogQHBhcmFtIHByb3BzIC0gcmVzb3VyY2UgcHJvcGVydGllc1xuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IENmbkNsb3VkQmFja1VwUmVzdG9yZUpvYnNQcm9wc1xuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHR5cGU6IENmbkNsb3VkQmFja1VwUmVzdG9yZUpvYnMuQ0ZOX1JFU09VUkNFX1RZUEVfTkFNRSxcbiAgICAgIHByb3BlcnRpZXM6IHRvSnNvbl9DZm5DbG91ZEJhY2tVcFJlc3RvcmVKb2JzUHJvcHMocHJvcHMpISxcbiAgICB9KTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcblxuICAgIHRoaXMuYXR0cklkID0gY2RrLlRva2VuLmFzU3RyaW5nKHRoaXMuZ2V0QXR0KFwiSWRcIikpO1xuICAgIHRoaXMuYXR0ckRlbGl2ZXJ5VXJsID0gY2RrLlRva2VuLmFzTGlzdCh0aGlzLmdldEF0dChcIkRlbGl2ZXJ5VXJsXCIpKTtcbiAgICB0aGlzLmF0dHJDYW5jZWxsZWQgPSB0aGlzLmdldEF0dChcIkNhbmNlbGxlZFwiKTtcbiAgICB0aGlzLmF0dHJGYWlsZWQgPSB0aGlzLmdldEF0dChcIkZhaWxlZFwiKTtcbiAgICB0aGlzLmF0dHJFeHBpcmVkID0gdGhpcy5nZXRBdHQoXCJFeHBpcmVkXCIpO1xuICAgIHRoaXMuYXR0ckV4cGlyZXNBdCA9IGNkay5Ub2tlbi5hc1N0cmluZyh0aGlzLmdldEF0dChcIkV4cGlyZXNBdFwiKSk7XG4gICAgdGhpcy5hdHRyRmluaXNoZWRBdCA9IGNkay5Ub2tlbi5hc1N0cmluZyh0aGlzLmdldEF0dChcIkZpbmlzaGVkQXRcIikpO1xuICAgIHRoaXMuYXR0clRpbWVzdGFtcCA9IGNkay5Ub2tlbi5hc1N0cmluZyh0aGlzLmdldEF0dChcIlRpbWVzdGFtcFwiKSk7XG4gIH1cbn1cbiJdfQ==