@aws-cdk/aws-ec2-alpha 2.158.0-alpha.0 → 2.159.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 +799 -344
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +54 -4
- package/README.md +200 -39
- package/awslint.json +2 -1
- package/lib/ipam.d.ts +17 -9
- package/lib/ipam.js +2 -2
- package/lib/route.d.ts +86 -54
- package/lib/route.js +87 -32
- package/lib/subnet-v2.d.ts +19 -10
- package/lib/subnet-v2.js +14 -7
- package/lib/vpc-v2-base.d.ts +141 -3
- package/lib/vpc-v2-base.js +172 -2
- package/lib/vpc-v2.d.ts +19 -18
- package/lib/vpc-v2.js +5 -9
- package/package.json +7 -7
- package/rosetta/default.ts-fixture +4 -3
package/lib/ipam.js
CHANGED
|
@@ -229,7 +229,7 @@ class Ipam extends aws_cdk_lib_1.Resource {
|
|
|
229
229
|
}
|
|
230
230
|
exports.Ipam = Ipam;
|
|
231
231
|
_a = JSII_RTTI_SYMBOL_1;
|
|
232
|
-
Ipam[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.Ipam", version: "2.
|
|
232
|
+
Ipam[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.Ipam", version: "2.159.0-alpha.0" };
|
|
233
233
|
/**
|
|
234
234
|
* Function to create IpamPool under scope
|
|
235
235
|
* @internal
|
|
@@ -252,4 +252,4 @@ function createIpamPool(scope, id, scopeOptions, poolOptions, scopeId) {
|
|
|
252
252
|
awsService: poolOptions.awsService,
|
|
253
253
|
});
|
|
254
254
|
}
|
|
255
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlwYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaURBQTBGO0FBRTFGLDZDQUEyRDtBQUUzRDs7Ozs7R0FLRztBQUNILElBQVksYUFZWDtBQVpELFdBQVksYUFBYTtJQUN2Qjs7O09BR0c7SUFDSCwrQkFBYyxDQUFBO0lBRWQ7OztPQUdHO0lBQ0gsK0JBQWMsQ0FBQTtBQUNoQixDQUFDLEVBWlcsYUFBYSw2QkFBYixhQUFhLFFBWXhCO0FBRUQ7Ozs7R0FJRztBQUNILElBQVksc0JBVVg7QUFWRCxXQUFZLHNCQUFzQjtJQUNoQzs7T0FFRztJQUNILHlDQUFlLENBQUE7SUFFZjs7T0FFRztJQUNILDJDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFWVyxzQkFBc0Isc0NBQXRCLHNCQUFzQixRQVVqQztBQUVEOztHQUVHO0FBQ0gsSUFBWSxjQUtYO0FBTEQsV0FBWSxjQUFjO0lBQ3hCOztPQUVHO0lBQ0gsNkJBQVcsQ0FBQTtBQUNiLENBQUMsRUFMVyxjQUFjLDhCQUFkLGNBQWMsUUFLekI7QUF1QkQ7O0dBRUc7QUFDSCxJQUFZLGFBVVg7QUFWRCxXQUFZLGFBQWE7SUFDdkI7O09BRUc7SUFDSCxvQ0FBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILGtDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFWVyxhQUFhLDZCQUFiLGFBQWEsUUFVeEI7QUEwTUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxRQUFTLFNBQVEsc0JBQVE7SUFrQjdCLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVksSUFBSSxrQkFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLG1CQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEVBQUUsU0FBUyxF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O0tBQ2xCOztBQTNFSCxvQkE0RUM7OztBQUVEOzs7R0FHRztBQUNILFNBQVMsY0FBYyxDQUNyQixLQUFnQixFQUNoQixFQUFVLEVBQ1YsWUFBNEIsRUFDNUIsV0FBd0IsRUFDeEIsT0FBZTtJQUVmLE1BQU0sMEJBQTBCLEdBQUcsWUFBWSxDQUFDLG9CQUFvQjtRQUNsRSxDQUFDLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQzthQUN4RSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxLQUFLLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDM0QsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUVWLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLFdBQVcsQ0FBQyxNQUFNLG9DQUFvQyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELE9BQU8sSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM3QixZQUFZLEVBQUUsRUFBRTtRQUNoQixhQUFhLEVBQUUsV0FBVyxDQUFDLGFBQWE7UUFDeEMsb0JBQW9CLEVBQUUsV0FBVyxDQUFDLG9CQUFvQjtRQUN0RCxXQUFXLEVBQUUsT0FBTztRQUNwQixNQUFNLEVBQUUsV0FBVyxDQUFDLE1BQU07UUFDMUIsY0FBYyxFQUFFLFdBQVcsQ0FBQyxjQUFjO1FBQzFDLFVBQVUsRUFBRSxXQUFXLENBQUMsVUFBVTtLQUNuQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuSVBBTSwgQ2ZuSVBBTVBvb2wsIENmbklQQU1Qb29sQ2lkciwgQ2ZuSVBBTVNjb3BlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IExhenksIE5hbWVzLCBSZXNvdXJjZSwgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgYWRkcmVzcyBmYW1pbHkgZm9yIElQIGFkZHJlc3NlcyBpbiBhbiBJUEFNIHBvb2wuXG4gKiBJUF9WNCAtIFJlcHJlc2VudHMgdGhlIElQdjQgYWRkcmVzcyBmYW1pbHkuXG4gKiBJUF9WNiAtIFJlcHJlc2VudHMgdGhlIElQdjYgYWRkcmVzcyBmYW1pbHkuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbCNjZm4tZWMyLWlwYW1wb29sLWFkZHJlc3NmYW1pbHlcbiAqL1xuZXhwb3J0IGVudW0gQWRkcmVzc0ZhbWlseSB7XG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIHRoZSBJUHY0IGFkZHJlc3MgZmFtaWx5LlxuICAgKiBBbGxvd2VkIHVuZGVyIHB1YmxpYyBhbmQgcHJpdmF0ZSBwb29sLlxuICAgKi9cbiAgSVBfVjQgPSAnaXB2NCcsXG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIElQdjYgYWRkcmVzcyBmYW1pbHkuXG4gICAqIE9ubHkgYWxsb3dlZCB1bmRlciBwdWJsaWMgcG9vbC5cbiAgICovXG4gIElQX1Y2ID0gJ2lwdjYnLFxufVxuXG4vKipcbiAqIFRoZSBJUCBhZGRyZXNzIHNvdXJjZSBmb3IgcG9vbHMgaW4gdGhlIHB1YmxpYyBzY29wZS5cbiAqIE9ubHkgdXNlZCBmb3IgcHJvdmlzaW9uaW5nIElQIGFkZHJlc3MgQ0lEUnMgdG8gcG9vbHMgaW4gdGhlIHB1YmxpYyBzY29wZS5cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtcG9vbC5odG1sI2Nmbi1lYzItaXBhbXBvb2wtcHVibGljaXBzb3VyY2VcbiAqL1xuZXhwb3J0IGVudW0gSXBhbVBvb2xQdWJsaWNJcFNvdXJjZSB7XG4gIC8qKlxuICAgKiBCWU9JUCBJcHY2IHRvIGJlIHJlZ2lzdGVyZWQgdW5kZXIgSVBBTVxuICAgKi9cbiAgQllPSVAgPSAnYnlvaXAnLFxuXG4gIC8qKlxuICAgKiBBbWF6b24gUHJvdmlkZWQgSXB2NiByYW5nZVxuICAgKi9cbiAgQU1BWk9OID0gJ2FtYXpvbicsXG59XG5cbi8qKlxuICogTGltaXRzIHdoaWNoIHNlcnZpY2UgaW4gQVdTIHRoYXQgdGhlIHBvb2wgY2FuIGJlIHVzZWQgaW5cbiAqL1xuZXhwb3J0IGVudW0gQXdzU2VydmljZU5hbWUge1xuICAvKipcbiAgICogIEFsbG93cyB1c2VycyB0byB1c2Ugc3BhY2UgZm9yIEVsYXN0aWMgSVAgYWRkcmVzc2VzIGFuZCBWUENzXG4gICAqL1xuICBFQzIgPSAnZWMyJyxcbn1cblxuLyoqXG4gKiBPcHRpb25zIHRvIGNyZWF0ZSBhIG5ldyBJcGFtIGluIHRoZSBhY2NvdW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXBhbVByb3Bze1xuXG4gIC8qKlxuICAgKiBUaGUgb3BlcmF0aW5nIFJlZ2lvbnMgZm9yIGFuIElQQU0uXG4gICAqIE9wZXJhdGluZyBSZWdpb25zIGFyZSBBV1MgUmVnaW9ucyB3aGVyZSB0aGUgSVBBTSBpcyBhbGxvd2VkIHRvIG1hbmFnZSBJUCBhZGRyZXNzIENJRFJzXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IG9wZXJhdGluZyBSZWdpb25zLCBzZWUgW0NyZWF0ZSBhbiBJUEFNXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vL3ZwYy9sYXRlc3QvaXBhbS9jcmVhdGUtaXBhbS5odG1sKSBpbiB0aGUgKkFtYXpvbiBWUEMgSVBBTSBVc2VyIEd1aWRlKiAuXG4gICAqIEBzZWUgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW0uaHRtbCNjZm4tZWMyLWlwYW0tb3BlcmF0aW5ncmVnaW9uc1xuICAgKiBAZGVmYXVsdCBTdGFjay5yZWdpb24gaWYgZGVmaW5lZCBlbHNlIFtdXG4gICAqL1xuICByZWFkb25seSBvcGVyYXRpbmdSZWdpb24/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTmFtZSBvZiBJUEFNIHRoYXQgY2FuIGJlIHVzZWQgZm9yIHRhZ2dpbmcgcmVzb3VyY2VcbiAgICogQGRlZmF1bHQgbm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVmZXJzIHRvIHR3byBwb3NzaWJsZSBzY29wZSB0eXBlcyB1bmRlciBJUEFNXG4gKi9cbmV4cG9ydCBlbnVtIElwYW1TY29wZVR5cGUge1xuICAvKipcbiAgICogRGVmYXVsdCBzY29wZXMgY3JlYXRlZCBieSBJUEFNXG4gICAqL1xuICBERUZBVUxUID0gJ2RlZmF1bHQnLFxuXG4gIC8qKlxuICAgKiBDdXN0b20gc2NvcGUgY3JlYXRlZCB1c2luZyBtZXRob2RcbiAgICovXG4gIENVU1RPTSA9ICdjdXN0b20nLFxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGNvbmZpZ3VyaW5nIGFuIElQQU0gcG9vbC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvb2xPcHRpb25ze1xuXG4gIC8qKlxuICAgKiBhZGRyZXNzRmFtaWx5IC0gVGhlIGFkZHJlc3MgZmFtaWx5IG9mIHRoZSBwb29sIChpcHY0IG9yIGlwdjYpLlxuICAgKi9cbiAgcmVhZG9ubHkgYWRkcmVzc0ZhbWlseTogQWRkcmVzc0ZhbWlseTtcblxuICAvKipcbiAgICogSW5mb3JtYXRpb24gYWJvdXQgdGhlIENJRFJzIHByb3Zpc2lvbmVkIHRvIHRoZSBwb29sLlxuICAgKiBAZGVmYXVsdCAtIE5vIENJRFJzIGFyZSBwcm92aXNpb25lZFxuICAgKi9cbiAgcmVhZG9ubHkgaXB2NFByb3Zpc2lvbmVkQ2lkcnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGxvY2FsZSAoQVdTIFJlZ2lvbikgb2YgdGhlIHBvb2wuIFNob3VsZCBiZSBvbmUgb2YgdGhlIElQQU0gb3BlcmF0aW5nIHJlZ2lvbi5cbiAgICogIE9ubHkgcmVzb3VyY2VzIGluIHRoZSBzYW1lIFJlZ2lvbiBhcyB0aGUgbG9jYWxlIG9mIHRoZSBwb29sIGNhbiBnZXQgSVAgYWRkcmVzcyBhbGxvY2F0aW9ucyBmcm9tIHRoZSBwb29sLlxuICAgKiBZb3UgY2FuIG9ubHkgYWxsb2NhdGUgYSBDSURSIGZvciBhIFZQQywgZm9yIGV4YW1wbGUsIGZyb20gYW4gSVBBTSBwb29sIHRoYXQgc2hhcmVzIGEgbG9jYWxlIHdpdGggdGhlIFZQQ+KAmXMgUmVnaW9uLlxuICAgKiBOb3RlIHRoYXQgb25jZSB5b3UgY2hvb3NlIGEgTG9jYWxlIGZvciBhIHBvb2wsIHlvdSBjYW5ub3QgbW9kaWZ5IGl0LiBJZiB5b3UgY2hvb3NlIGFuIEFXUyBSZWdpb24gZm9yIGxvY2FsZSB0aGF0IGhhcyBub3QgYmVlbiBjb25maWd1cmVkIGFzIGFuIG9wZXJhdGluZyBSZWdpb24gZm9yIHRoZSBJUEFNLCB5b3UnbGwgZ2V0IGFuIGVycm9yLlxuICAgKiBAc2VlIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtcG9vbC5odG1sI2Nmbi1lYzItaXBhbXBvb2wtbG9jYWxlXG4gICAqIEBkZWZhdWx0IC0gQ3VycmVudCBvcGVyYXRpbmcgcmVnaW9uXG4gICAqL1xuICByZWFkb25seSBsb2NhbGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJUCBhZGRyZXNzIHNvdXJjZSBmb3IgcG9vbHMgaW4gdGhlIHB1YmxpYyBzY29wZS5cbiAgICogT25seSB1c2VkIGZvciBJUHY2IGFkZHJlc3NcbiAgICogT25seSBhbGxvd2VkIHZhbHVlcyB0byB0aGlzIGFyZSAnYnlvaXAnIG9yICdhbWF6b24nXG4gICAqIEBkZWZhdWx0IGFtYXpvblxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljSXBTb3VyY2U/OiBJcGFtUG9vbFB1YmxpY0lwU291cmNlO1xuXG4gIC8qKlxuICAqIExpbWl0cyB3aGljaCBzZXJ2aWNlIGluIEFXUyB0aGF0IHRoZSBwb29sIGNhbiBiZSB1c2VkIGluLlxuICAqXG4gICogXCJlYzJcIiwgZm9yIGV4YW1wbGUsIGFsbG93cyB1c2VycyB0byB1c2Ugc3BhY2UgZm9yIEVsYXN0aWMgSVAgYWRkcmVzc2VzIGFuZCBWUENzLlxuICAqXG4gICogQHNlZSBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbCNjZm4tZWMyLWlwYW1wb29sLWF3c3NlcnZpY2VcbiAgKlxuICAqIEBkZWZhdWx0IC0gTm8gc2VydmljZVxuICAqL1xuICByZWFkb25seSBhd3NTZXJ2aWNlPzogQXdzU2VydmljZU5hbWU7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYW4gSVBBTSBwb29sLlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1wb29sLmh0bWxcbiAqL1xuaW50ZXJmYWNlIElwYW1Qb29sUHJvcHMgZXh0ZW5kcyBQb29sT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBTY29wZSBpZCB3aGVyZSBwb29sIG5lZWRzIHRvIGJlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1TY29wZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElQQU0gcmVzb3VyY2UgbmFtZVxuICAgKiBAZGVmYXVsdCBhdXRvZ2VuZXJhdGVkIGJ5IENES1xuICAgKi9cbiAgcmVhZG9ubHkgaXBhbVBvb2xOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgdG8gcHJvdmlzaW9uIENJRFJzIHRvIGFuIElQQU0gcG9vbC5cbiAqIFVzZWQgdG8gY3JlYXRlIGEgbmV3IElwYW1Qb29sQ2lkclxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1wb29sY2lkci5odG1sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXBhbVBvb2xDaWRyUHJvdmlzaW9uaW5nT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBJcHY2IE5ldG1hc2sgbGVuZ3RoIGZvciB0aGUgQ0lEUlxuICAgKiBAZGVmYXVsdCBub25lXG4gICAqL1xuICByZWFkb25seSBuZXRtYXNrTGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJcHY2IENJRFIgYmxvY2sgZm9yIHRoZSBJUEFNIHBvb2xcbiAgICogQGRlZmF1bHQgbm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgY2lkcj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEZWZpbml0aW9uIHVzZWQgdG8gYWRkIG9yIGNyZWF0ZSBhIG5ldyBJUEFNIHBvb2xcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSXBhbVBvb2x7XG4gIC8qKlxuICogUG9vbCBJRCB0byBiZSBwYXNzZWQgdG8gdGhlIFZQQyBjb25zdHJ1Y3RcbiAqIEBhdHRyaWJ1dGUgSXBhbVBvb2xJZFxuICovXG4gIHJlYWRvbmx5IGlwYW1Qb29sSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogUG9vbCBDSURSIGZvciBJUHY2IHRvIGJlIHByb3Zpc2lvbmVkIHdpdGggUHVibGljIElQIHNvdXJjZSBzZXQgdG8gJ0FtYXpvbidcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1DaWRyczogQ2ZuSVBBTVBvb2xDaWRyW107XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGFzc29jaWF0ZSBhIElQdjYgYWRkcmVzcyB3aXRoIElQQU0gcG9vbFxuICAgKi9cbiAgcHJvdmlzaW9uQ2lkcihpZDogc3RyaW5nLCBvcHRpb25zOiBJcGFtUG9vbENpZHJQcm92aXNpb25pbmdPcHRpb25zKTogQ2ZuSVBBTVBvb2xDaWRyO1xuXG59XG5cbi8qKlxuICogSVBBTSBzY29wZSBpcyB0aGUgaGlnaGVzdC1sZXZlbCBjb250YWluZXIgd2l0aGluIElQQU0uIEFuIElQQU0gY29udGFpbnMgdHdvIGRlZmF1bHQgc2NvcGVzLlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1zY29wZS5odG1sXG4gKi9cbmludGVyZmFjZSBJcGFtU2NvcGVQcm9wcyBleHRlbmRzIElwYW1TY29wZU9wdGlvbnN7XG4gIC8qKlxuICAgKiBJUEFNIGlkIHRvIHdoaWNoIHNjb3BlIG5lZWRzIHRvIGJlIGFkZGVkXG4gICAqL1xuICByZWFkb25seSBpcGFtSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogT3BlcmF0aW5nIHJlZ2lvbnMgZm9yIHRoZSBJcGFtXG4gICAqIFJlcXVpcmVkIGluIG9yZGVyIHRvIHZhbGlkYXRlIHRoZSBsb2NhbGUgYmVpbmcgc2V0IG9uIHBvb2xcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1PcGVyYXRpbmdSZWdpb25zOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ3VzdG9tIGlwYW0gc2NvcGUgaWQgdG8gYWRkIGEgcG9vbCBpbiBvcmRlciB0byBzdXBwb3J0IGRlZmF1bHQgc2NvcGVzXG4gICAqIEBkZWZhdWx0IG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1TY29wZUlkPzogc3RyaW5nO1xuXG59XG5cbi8qKlxuICogQmVpbmcgdXNlZCBpbiBJUEFNIGNsYXNzIHRvIGFkZCBwb29scyB0byBkZWZhdWx0IHNjb3BlIGNyZWF0ZWQgYnkgSVBBTS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJcGFtU2NvcGVPcHRpb25zIHtcblxuICAvKipcbiAgICogSVBBTSBzY29wZSBuYW1lIHRoYXQgd2lsbCBiZSB1c2VkIGZvciB0YWdnaW5nXG4gICAqIEBkZWZhdWx0IG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1TY29wZU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY29uZmlndXJpbmcgYW4gSVAgQWRkcmVzcyBNYW5hZ2VyIChJUEFNKS5cbiAqXG4gKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSB7QGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtLmh0bWx9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElwYW1PcHRpb25zIHtcblxuICAvKipcbiAgICogQ0lEUiBNYXNrIGZvciBWcGNcbiAgICogT25seSByZXF1aXJlZCB3aGVuIHVzaW5nIEFXUyBJcGFtXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgbmV0bWFza0xlbmd0aD86IG51bWJlcjtcblxuICAvKipcbiAgICogSXB2NCBvciBhbiBJcHY2IElQQU0gcG9vbFxuICAgKiBPbmx5IHJlcXVpcmVkIHdoZW4gdXNpbmcgQVdTIElwYW1cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBpcGFtUG9vbD86IElJcGFtUG9vbDtcblxuICAvKipcbiAgICogUmVxdWlyZWQgdG8gc2V0IFNlY29uZGFyeSBjaWRyIGJsb2NrIHJlc291cmNlIG5hbWVcbiAgICogaW4gb3JkZXIgdG8gZ2VuZXJhdGUgdW5pcXVlIGxvZ2ljYWwgaWQgZm9yIHRoZSByZXNvdXJjZS5cbiAgICovXG4gIHJlYWRvbmx5IGNpZHJCbG9ja05hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIElwYW1TY29wZSBDbGFzc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElJcGFtU2NvcGVCYXNle1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGN1cnJlbnQgc2NvcGUgb2Ygc3RhY2sgdG8gYmUgcGFzc2VkIGluIG9yZGVyIHRvIGNyZWF0ZVxuICAgKiBhIG5ldyBJUEFNIHBvb2xcbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3Q7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgU2NvcGUgaWRzIGNyZWF0ZWQgYnkgdGhlIElQQU0gb3IgYSBuZXcgUmVzb3VyY2UgaWRcbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lcyBzY29wZSB0eXBlIGNhbiBiZSBlaXRoZXIgZGVmYXVsdCBvciBjdXN0b21cbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlVHlwZT86IElwYW1TY29wZVR5cGU7XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGFkZCBhIG5ldyBwb29sIHRvIGFuIElQQU0gc2NvcGVcbiAgICovXG4gIGFkZFBvb2woaWQ6IHN0cmluZywgb3B0aW9uczogUG9vbE9wdGlvbnMpOiBJSXBhbVBvb2w7XG5cbn1cblxuLyoqXG4gKiBDcmVhdGVzIG5ldyBJUEFNIFBvb2xcbiAqIFBvb2xzIGVuYWJsZSB5b3UgdG8gb3JnYW5pemUgeW91ciBJUCBhZGRyZXNzZXMgYWNjb3JkaW5nIHRvIHlvdXIgcm91dGluZyBhbmQgc2VjdXJpdHkgbmVlZHNcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtcG9vbC5odG1sXG4gKiBAcmVzb3VyY2UgQVdTOjpFQzI6OklQQU1Qb29sXG4gKiBAaW50ZXJuYWxcbiAqL1xuY2xhc3MgSXBhbVBvb2wgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElJcGFtUG9vbCB7XG5cbiAgLyoqXG4gICAqIFBvb2wgSUQgdG8gYmUgcGFzc2VkIHRvIHRoZSBWUEMgY29uc3RydWN0XG4gICAqIEBhdHRyaWJ1dGUgSXBhbVBvb2xJZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlwYW1Qb29sSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogUG9vbCBDSURSIGZvciBJUHY2IHRvIGJlIHByb3Zpc2lvbmVkIHdpdGggUHVibGljIElQIHNvdXJjZSBzZXQgdG8gJ0FtYXpvbidcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpcGFtQ2lkcnM6IENmbklQQU1Qb29sQ2lkcltdID0gW11cblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIGlwYW1Qb29sIHJlc291cmNlIGNyZWF0ZWQgaW4gdGhpcyBjbGFzc1xuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfaXBhbVBvb2w6IENmbklQQU1Qb29sO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBJcGFtUG9vbFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzLmlwYW1Qb29sTmFtZSA/PyBMYXp5LnN0cmluZyh7XG4gICAgICAgIHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7IG1heExlbmd0aDogMTI4LCBhbGxvd2VkU3BlY2lhbENoYXJhY3RlcnM6ICdfJyB9KSxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgaWYgKHByb3BzLmFkZHJlc3NGYW1pbHkgPT09IEFkZHJlc3NGYW1pbHkuSVBfVjYgJiYgIXByb3BzLmF3c1NlcnZpY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYXdzU2VydmljZSBpcyByZXF1aXJlZCB3aGVuIGFkZHJlc3NGYW1pbHkgaXMgc2V0IHRvIGlwdjYnKTtcbiAgICB9XG5cbiAgICB0aGlzLl9pcGFtUG9vbCA9IG5ldyBDZm5JUEFNUG9vbCh0aGlzLCBpZCwge1xuICAgICAgYWRkcmVzc0ZhbWlseTogcHJvcHMuYWRkcmVzc0ZhbWlseSxcbiAgICAgIHByb3Zpc2lvbmVkQ2lkcnM6IHByb3BzLmlwdjRQcm92aXNpb25lZENpZHJzPy5tYXAoY2lkciA9PiAoeyBjaWRyIH0pKSxcbiAgICAgIGxvY2FsZTogcHJvcHMubG9jYWxlLFxuICAgICAgaXBhbVNjb3BlSWQ6IHByb3BzLmlwYW1TY29wZUlkLFxuICAgICAgcHVibGljSXBTb3VyY2U6IHByb3BzLnB1YmxpY0lwU291cmNlLFxuICAgICAgYXdzU2VydmljZTogcHJvcHMuYXdzU2VydmljZSxcbiAgICB9KTtcbiAgICB0aGlzLmlwYW1Qb29sSWQgPSB0aGlzLl9pcGFtUG9vbC5hdHRySXBhbVBvb2xJZDtcbiAgICB0aGlzLm5vZGUuZGVmYXVsdENoaWxkID0gdGhpcy5faXBhbVBvb2w7XG4gIH1cblxuICAvKipcbiAgICogQSBDSURSIHByb3Zpc2lvbmVkIHRvIGFuIElQQU0gcG9vbC5cbiAgICogQHBhcmFtIGlkIE5hbWUgb2YgUmVzb3VyY2VcbiAgICogQHBhcmFtIG9wdGlvbnMgRWl0aGVyIGEgQ0lEUiBvciBuZXRtYXNrIGxlbmd0aCBtdXN0IGJlIHByb3ZpZGVkXG4gICAqIEByZXR1cm5zIEFXUzo6RUMyOjpJUEFNUG9vbENpZHJcbiAgICovXG4gIHB1YmxpYyBwcm92aXNpb25DaWRyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IElwYW1Qb29sQ2lkclByb3Zpc2lvbmluZ09wdGlvbnMpOiBDZm5JUEFNUG9vbENpZHIge1xuICAgIGNvbnN0IGNpZHIgPSBuZXcgQ2ZuSVBBTVBvb2xDaWRyKHRoaXMsIGlkLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgaXBhbVBvb2xJZDogdGhpcy5pcGFtUG9vbElkLFxuICAgIH0pO1xuICAgIHRoaXMuaXBhbUNpZHJzLnB1c2goY2lkcik7XG4gICAgcmV0dXJuIGNpZHI7XG4gIH1cbn1cblxuLyoqXG4gKiBDcmVhdGVzIGN1c3RvbSBJcGFtIFNjb3BlLCBjdXN0b20gSVBBTSBzY29wZXMgY2FuIG9ubHkgYmUgcHJpdmF0ZVxuICogKGNhbiBiZSB1c2VkIGZvciBhZGRpbmcgY3VzdG9tIHNjb3BlcyB0byBhbiBleGlzdGluZyBJUEFNKVxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1zY29wZS5odG1sXG4gKiBAcmVzb3VyY2UgQVdTOjpFQzI6OklQQU1TY29wZVxuICovXG5jbGFzcyBJcGFtU2NvcGUgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElJcGFtU2NvcGVCYXNlIHtcblxuICAvKipcbiAgICogU3RvcmVzIHRoZSByZWZlcmVuY2UgdG8gbmV3bHkgY3JlYXRlZCBSZXNvdXJjZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfaXBhbVNjb3BlOiBDZm5JUEFNU2NvcGU7XG5cbiAgLyoqXG4gICAqIElEIGZvciBSZXNvdXJjZSBJcGFtU2NvcGVcbiAgICogQGF0dHJpYnV0ZSBJcGFtU2NvcGVJZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNjb3BlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogUHJvcGVydGllcyB0byBjb25maWd1cmUgaXBhbSBzY29wZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogSXBhbVNjb3BlUHJvcHM7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byBzdGFjayBzY29wZSB0byBiZSBwYXNzZWQgdGhyb3VnaCBhZGRQb29sIG1ldGhvZCBpbm9yZGVyIHRvIGNyZWF0ZSBhIG5ldyBJcGFtUG9vbFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3Q7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgc2NvcGUgdHlwZSBjYW4gYmUgZWl0aGVyIGRlZmF1bHQgb3IgY3VzdG9tXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2NvcGVUeXBlOiBJcGFtU2NvcGVUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBJcGFtU2NvcGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5faXBhbVNjb3BlID0gbmV3IENmbklQQU1TY29wZShzY29wZSwgJ0lwYW1TY29wZScsIHtcbiAgICAgIGlwYW1JZDogcHJvcHMuaXBhbUlkLFxuICAgIH0pO1xuICAgIHRoaXMuc2NvcGVJZCA9IHRoaXMuX2lwYW1TY29wZS5hdHRySXBhbVNjb3BlSWQ7XG4gICAgdGhpcy5zY29wZVR5cGUgPSBJcGFtU2NvcGVUeXBlLkNVU1RPTTtcbiAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBwb29sIHRvIHRoZSBJUEFNIHNjb3BlLlxuICAgKiBAZXh0ZXJuYWxcbiAgICovXG4gIGFkZFBvb2woaWQ6IHN0cmluZywgb3B0aW9uczogUG9vbE9wdGlvbnMpOiBJSXBhbVBvb2wge1xuICAgIHJldHVybiBjcmVhdGVJcGFtUG9vbCh0aGlzLnNjb3BlLCBpZCwgdGhpcy5wcm9wcywgb3B0aW9ucywgdGhpcy5zY29wZUlkKTtcbiAgfVxuXG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgSVBBTSBkZWZhdWx0IHNjb3Blcy5cbiAqL1xuY2xhc3MgSXBhbVNjb3BlQmFzZSBpbXBsZW1lbnRzIElJcGFtU2NvcGVCYXNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcmVhZG9ubHkgc2NvcGU6IENvbnN0cnVjdCxcbiAgICByZWFkb25seSBzY29wZUlkOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogSXBhbVNjb3BlUHJvcHMsXG4gICAgcmVhZG9ubHkgc2NvcGVUeXBlPzogSXBhbVNjb3BlVHlwZSxcbiAgKSB7XG4gICAgdGhpcy5zY29wZVR5cGUgPSBJcGFtU2NvcGVUeXBlLkRFRkFVTFQ7XG4gICAgaWYgKCFwcm9wcy5pcGFtU2NvcGVJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpcGFtU2NvcGVJZCBpcyByZXF1aXJlZCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNjb3BlSWQgPSBwcm9wcy5pcGFtU2NvcGVJZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHBvb2wgdG8gdGhlIElQQU0gc2NvcGUuXG4gICAqIEBleHRlcm5hbFxuICAgKi9cbiAgYWRkUG9vbChpZDogc3RyaW5nLCBvcHRpb25zOiBQb29sT3B0aW9ucyk6IElJcGFtUG9vbCB7XG4gICAgcmV0dXJuIGNyZWF0ZUlwYW1Qb29sKHRoaXMuc2NvcGUsIGlkLCB0aGlzLnByb3BzLCBvcHRpb25zLCB0aGlzLnNjb3BlSWQpO1xuICB9XG59XG5cbi8qKlxuICogQ3JlYXRlcyBuZXcgSVBBTSB3aXRoIGRlZmF1bHQgcHVibGljIGFuZCBwcml2YXRlIHNjb3BlXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXNjb3BlLmh0bWxcbiAqIEByZXNvdXJjZSBBV1M6OkVDMjo6SVBBTVxuICovXG5leHBvcnQgY2xhc3MgSXBhbSBleHRlbmRzIFJlc291cmNlIHtcbiAgLyoqXG4gKiBQcm92aWRlcyBhY2Nlc3MgdG8gZGVmYXVsdCBwdWJsaWMgSVBBTSBzY29wZSB0aHJvdWdoIGFkZCBwb29sIG1ldGhvZC5cbiAqIFVzYWdlOiBUbyBhZGQgYW4gSXBhbSBQb29sIHRvIGEgZGVmYXVsdCBwdWJsaWMgc2NvcGVcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtc2NvcGUuaHRtbFxuICovXG4gIHB1YmxpYyByZWFkb25seSBwdWJsaWNTY29wZTogSUlwYW1TY29wZUJhc2U7XG5cbiAgLyoqXG4gICAqIFByb3ZpZGVzIGFjY2VzcyB0byBkZWZhdWx0IHByaXZhdGUgSVBBTSBzY29wZSB0aHJvdWdoIGFkZCBwb29sIG1ldGhvZC5cbiAgICogVXNhZ2U6IFRvIGFkZCBhbiBJcGFtIFBvb2wgdG8gYSBkZWZhdWx0IHByaXZhdGUgc2NvcGVcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1zY29wZS5odG1sXG4gICAqICovXG4gIHB1YmxpYyByZWFkb25seSBwcml2YXRlU2NvcGU6IElJcGFtU2NvcGVCYXNlO1xuXG4gIC8vIFJlc291cmNlIElQQU1cbiAgcHJpdmF0ZSByZWFkb25seSBfaXBhbTogQ2ZuSVBBTTtcbiAgLyoqXG4gICAqIEFjY2VzcyB0byBJcGFtIHJlc291cmNlIGlkIHRoYXQgY2FuIGJlIHVzZWQgbGF0ZXIgdG8gYWRkIGEgY3VzdG9tIHByaXZhdGUgc2NvcGUgdG8gdGhpcyBJUEFNXG4gICAqIEBhdHRyaWJ1dGUgSXBhbUlkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaXBhbUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2Ygb3BlcmF0aW5nIHJlZ2lvbnMgZm9yIElQQU1cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvcGVyYXRpbmdSZWdpb25zOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTGlzdCBvZiBzY29wZXMgY3JlYXRlZCB1bmRlciB0aGlzIElQQU1cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzY29wZXM6IElJcGFtU2NvcGVCYXNlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IElwYW1Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBpZiAoIXByb3BzPy5vcGVyYXRpbmdSZWdpb24gJiYgIVN0YWNrLm9mKHRoaXMpLnJlZ2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgcHJvdmlkZSBhdCBsZWFzdCBvbmUgb3BlcmF0aW5nIHJlZ2lvbicpO1xuICAgIH1cblxuICAgIHRoaXMub3BlcmF0aW5nUmVnaW9ucyA9IHByb3BzPy5vcGVyYXRpbmdSZWdpb24gPz8gW1N0YWNrLm9mKHRoaXMpLnJlZ2lvbl07XG5cbiAgICB0aGlzLl9pcGFtID0gbmV3IENmbklQQU0odGhpcywgJ0lwYW0nLCB7XG4gICAgICBvcGVyYXRpbmdSZWdpb25zOiB0aGlzLm9wZXJhdGluZ1JlZ2lvbnMgPyB0aGlzLm9wZXJhdGluZ1JlZ2lvbnMubWFwKHJlZ2lvbiA9PiAoeyByZWdpb25OYW1lOiByZWdpb24gfSkpIDogW10sXG4gICAgfSk7XG4gICAgdGhpcy5ub2RlLmRlZmF1bHRDaGlsZCA9IHRoaXMuX2lwYW07XG5cbiAgICB0aGlzLmlwYW1JZCA9IHRoaXMuX2lwYW0uYXR0cklwYW1JZDtcbiAgICB0aGlzLnB1YmxpY1Njb3BlID0gbmV3IElwYW1TY29wZUJhc2UodGhpcywgJ0RlZmF1bHRQdWJsaWNTY29wZScsIHtcbiAgICAgIGlwYW1PcGVyYXRpbmdSZWdpb25zOiB0aGlzLm9wZXJhdGluZ1JlZ2lvbnMsXG4gICAgICBpcGFtSWQ6IHRoaXMuX2lwYW0uYXR0cklwYW1JZCxcbiAgICAgIGlwYW1TY29wZUlkOiB0aGlzLl9pcGFtLmF0dHJQdWJsaWNEZWZhdWx0U2NvcGVJZCxcbiAgICB9KTtcbiAgICB0aGlzLnByaXZhdGVTY29wZSA9IG5ldyBJcGFtU2NvcGVCYXNlKHRoaXMsICdEZWZhdWx0UHJpdmF0ZVNjb3BlJywge1xuICAgICAgaXBhbU9wZXJhdGluZ1JlZ2lvbnM6IHRoaXMub3BlcmF0aW5nUmVnaW9ucyxcbiAgICAgIGlwYW1JZDogdGhpcy5faXBhbS5hdHRySXBhbUlkLFxuICAgICAgaXBhbVNjb3BlSWQ6IHRoaXMuX2lwYW0uYXR0clByaXZhdGVEZWZhdWx0U2NvcGVJZCxcbiAgICB9KTtcblxuICAgIHRoaXMuc2NvcGVzLnB1c2godGhpcy5wdWJsaWNTY29wZSwgdGhpcy5wcml2YXRlU2NvcGUpO1xuXG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gYWRkIGN1c3RvbSBzY29wZSB0byBhbiBleGlzdGluZyBJUEFNXG4gICAqIEN1c3RvbSBzY29wZXMgY2FuIG9ubHkgYmUgcHJpdmF0ZVxuICAgKi9cbiAgcHVibGljIGFkZFNjb3BlKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IElwYW1TY29wZU9wdGlvbnMpOiBJSXBhbVNjb3BlQmFzZSB7XG4gICAgY29uc3QgaXBhbVNjb3BlID0gbmV3IElwYW1TY29wZShzY29wZSwgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBpcGFtSWQ6IHRoaXMuaXBhbUlkLFxuICAgICAgaXBhbU9wZXJhdGluZ1JlZ2lvbnM6IHRoaXMub3BlcmF0aW5nUmVnaW9ucyxcbiAgICB9KTtcbiAgICB0aGlzLnNjb3Blcy5wdXNoKGlwYW1TY29wZSk7XG4gICAgcmV0dXJuIGlwYW1TY29wZTtcbiAgfVxufVxuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIGNyZWF0ZSBJcGFtUG9vbCB1bmRlciBzY29wZVxuICogQGludGVybmFsXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUlwYW1Qb29sKFxuICBzY29wZTogQ29uc3RydWN0LFxuICBpZDogc3RyaW5nLFxuICBzY29wZU9wdGlvbnM6IElwYW1TY29wZVByb3BzLFxuICBwb29sT3B0aW9uczogUG9vbE9wdGlvbnMsXG4gIHNjb3BlSWQ6IHN0cmluZyxcbik6IElwYW1Qb29sIHtcbiAgY29uc3QgaXNMb2NhbGVJbk9wZXJhdGluZ1JlZ2lvbnMgPSBzY29wZU9wdGlvbnMuaXBhbU9wZXJhdGluZ1JlZ2lvbnNcbiAgICA/IHNjb3BlT3B0aW9ucy5pcGFtT3BlcmF0aW5nUmVnaW9ucy5tYXAocmVnaW9uID0+ICh7IHJlZ2lvbk5hbWU6IHJlZ2lvbiB9KSlcbiAgICAgIC5zb21lKHJlZ2lvbiA9PiByZWdpb24ucmVnaW9uTmFtZSA9PT0gcG9vbE9wdGlvbnMubG9jYWxlKVxuICAgIDogZmFsc2U7XG5cbiAgaWYgKCFpc0xvY2FsZUluT3BlcmF0aW5nUmVnaW9ucykge1xuICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHByb3ZpZGVkIGxvY2FsZSAnJHtwb29sT3B0aW9ucy5sb2NhbGV9JyBpcyBub3QgaW4gdGhlIG9wZXJhdGluZyByZWdpb25zLmApO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBJcGFtUG9vbChzY29wZSwgaWQsIHtcbiAgICBpcGFtUG9vbE5hbWU6IGlkLFxuICAgIGFkZHJlc3NGYW1pbHk6IHBvb2xPcHRpb25zLmFkZHJlc3NGYW1pbHksXG4gICAgaXB2NFByb3Zpc2lvbmVkQ2lkcnM6IHBvb2xPcHRpb25zLmlwdjRQcm92aXNpb25lZENpZHJzLFxuICAgIGlwYW1TY29wZUlkOiBzY29wZUlkLFxuICAgIGxvY2FsZTogcG9vbE9wdGlvbnMubG9jYWxlLFxuICAgIHB1YmxpY0lwU291cmNlOiBwb29sT3B0aW9ucy5wdWJsaWNJcFNvdXJjZSxcbiAgICBhd3NTZXJ2aWNlOiBwb29sT3B0aW9ucy5hd3NTZXJ2aWNlLFxuICB9KTtcbn1cblxuIl19
|
|
255
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlwYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaURBQTBGO0FBRTFGLDZDQUEyRDtBQUUzRDs7Ozs7R0FLRztBQUNILElBQVksYUFZWDtBQVpELFdBQVksYUFBYTtJQUN2Qjs7O09BR0c7SUFDSCwrQkFBYyxDQUFBO0lBRWQ7OztPQUdHO0lBQ0gsK0JBQWMsQ0FBQTtBQUNoQixDQUFDLEVBWlcsYUFBYSw2QkFBYixhQUFhLFFBWXhCO0FBRUQ7Ozs7R0FJRztBQUNILElBQVksc0JBVVg7QUFWRCxXQUFZLHNCQUFzQjtJQUNoQzs7T0FFRztJQUNILHlDQUFlLENBQUE7SUFFZjs7T0FFRztJQUNILDJDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFWVyxzQkFBc0Isc0NBQXRCLHNCQUFzQixRQVVqQztBQUVEOztHQUVHO0FBQ0gsSUFBWSxjQUtYO0FBTEQsV0FBWSxjQUFjO0lBQ3hCOztPQUVHO0lBQ0gsNkJBQVcsQ0FBQTtBQUNiLENBQUMsRUFMVyxjQUFjLDhCQUFkLGNBQWMsUUFLekI7QUF5QkQ7O0dBRUc7QUFDSCxJQUFZLGFBVVg7QUFWRCxXQUFZLGFBQWE7SUFDdkI7O09BRUc7SUFDSCxvQ0FBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILGtDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFWVyxhQUFhLDZCQUFiLGFBQWEsUUFVeEI7QUFrTkQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxRQUFTLFNBQVEsc0JBQVE7SUFrQjdCLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVksSUFBSSxrQkFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLG1CQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEVBQUUsU0FBUyxF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O0tBQ2xCOztBQTNFSCxvQkE0RUM7OztBQUVEOzs7R0FHRztBQUNILFNBQVMsY0FBYyxDQUNyQixLQUFnQixFQUNoQixFQUFVLEVBQ1YsWUFBNEIsRUFDNUIsV0FBd0IsRUFDeEIsT0FBZTtJQUVmLE1BQU0sMEJBQTBCLEdBQUcsWUFBWSxDQUFDLG9CQUFvQjtRQUNsRSxDQUFDLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQzthQUN4RSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxLQUFLLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDM0QsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUVWLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLFdBQVcsQ0FBQyxNQUFNLG9DQUFvQyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELE9BQU8sSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM3QixZQUFZLEVBQUUsRUFBRTtRQUNoQixhQUFhLEVBQUUsV0FBVyxDQUFDLGFBQWE7UUFDeEMsb0JBQW9CLEVBQUUsV0FBVyxDQUFDLG9CQUFvQjtRQUN0RCxXQUFXLEVBQUUsT0FBTztRQUNwQixNQUFNLEVBQUUsV0FBVyxDQUFDLE1BQU07UUFDMUIsY0FBYyxFQUFFLFdBQVcsQ0FBQyxjQUFjO1FBQzFDLFVBQVUsRUFBRSxXQUFXLENBQUMsVUFBVTtLQUNuQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuSVBBTSwgQ2ZuSVBBTVBvb2wsIENmbklQQU1Qb29sQ2lkciwgQ2ZuSVBBTVNjb3BlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IExhenksIE5hbWVzLCBSZXNvdXJjZSwgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgYWRkcmVzcyBmYW1pbHkgZm9yIElQIGFkZHJlc3NlcyBpbiBhbiBJUEFNIHBvb2wuXG4gKiBJUF9WNCAtIFJlcHJlc2VudHMgdGhlIElQdjQgYWRkcmVzcyBmYW1pbHkuXG4gKiBJUF9WNiAtIFJlcHJlc2VudHMgdGhlIElQdjYgYWRkcmVzcyBmYW1pbHkuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbCNjZm4tZWMyLWlwYW1wb29sLWFkZHJlc3NmYW1pbHlcbiAqL1xuZXhwb3J0IGVudW0gQWRkcmVzc0ZhbWlseSB7XG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIHRoZSBJUHY0IGFkZHJlc3MgZmFtaWx5LlxuICAgKiBBbGxvd2VkIHVuZGVyIHB1YmxpYyBhbmQgcHJpdmF0ZSBwb29sLlxuICAgKi9cbiAgSVBfVjQgPSAnaXB2NCcsXG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIElQdjYgYWRkcmVzcyBmYW1pbHkuXG4gICAqIE9ubHkgYWxsb3dlZCB1bmRlciBwdWJsaWMgcG9vbC5cbiAgICovXG4gIElQX1Y2ID0gJ2lwdjYnLFxufVxuXG4vKipcbiAqIFRoZSBJUCBhZGRyZXNzIHNvdXJjZSBmb3IgcG9vbHMgaW4gdGhlIHB1YmxpYyBzY29wZS5cbiAqIE9ubHkgdXNlZCBmb3IgcHJvdmlzaW9uaW5nIElQIGFkZHJlc3MgQ0lEUnMgdG8gcG9vbHMgaW4gdGhlIHB1YmxpYyBzY29wZS5cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtcG9vbC5odG1sI2Nmbi1lYzItaXBhbXBvb2wtcHVibGljaXBzb3VyY2VcbiAqL1xuZXhwb3J0IGVudW0gSXBhbVBvb2xQdWJsaWNJcFNvdXJjZSB7XG4gIC8qKlxuICAgKiBCWU9JUCBJcHY2IHRvIGJlIHJlZ2lzdGVyZWQgdW5kZXIgSVBBTVxuICAgKi9cbiAgQllPSVAgPSAnYnlvaXAnLFxuXG4gIC8qKlxuICAgKiBBbWF6b24gUHJvdmlkZWQgSXB2NiByYW5nZVxuICAgKi9cbiAgQU1BWk9OID0gJ2FtYXpvbicsXG59XG5cbi8qKlxuICogTGltaXRzIHdoaWNoIHNlcnZpY2UgaW4gQVdTIHRoYXQgdGhlIHBvb2wgY2FuIGJlIHVzZWQgaW5cbiAqL1xuZXhwb3J0IGVudW0gQXdzU2VydmljZU5hbWUge1xuICAvKipcbiAgICogIEFsbG93cyB1c2VycyB0byB1c2Ugc3BhY2UgZm9yIEVsYXN0aWMgSVAgYWRkcmVzc2VzIGFuZCBWUENzXG4gICAqL1xuICBFQzIgPSAnZWMyJyxcbn1cblxuLyoqXG4gKiBPcHRpb25zIHRvIGNyZWF0ZSBhIG5ldyBJcGFtIGluIHRoZSBhY2NvdW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXBhbVByb3BzIHtcblxuICAvKipcbiAgICogVGhlIG9wZXJhdGluZyBSZWdpb25zIGZvciBhbiBJUEFNLlxuICAgKiBPcGVyYXRpbmcgUmVnaW9ucyBhcmUgQVdTIFJlZ2lvbnMgd2hlcmUgdGhlIElQQU0gaXMgYWxsb3dlZCB0byBtYW5hZ2UgSVAgYWRkcmVzcyBDSURSc1xuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBvcGVyYXRpbmcgUmVnaW9ucywgc2VlIFtDcmVhdGUgYW4gSVBBTV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tLy92cGMvbGF0ZXN0L2lwYW0vY3JlYXRlLWlwYW0uaHRtbCkgaW4gdGhlICpBbWF6b24gVlBDIElQQU0gVXNlciBHdWlkZSogLlxuICAgKiBAc2VlIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtLmh0bWwjY2ZuLWVjMi1pcGFtLW9wZXJhdGluZ3JlZ2lvbnNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBTdGFjay5yZWdpb24gaWYgZGVmaW5lZCBpbiB0aGUgc3RhY2tcbiAgICovXG4gIHJlYWRvbmx5IG9wZXJhdGluZ1JlZ2lvbj86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIElQQU0gdGhhdCBjYW4gYmUgdXNlZCBmb3IgdGFnZ2luZyByZXNvdXJjZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIElmIG5vIG5hbWUgcHJvdmlkZWQsIG5vIHRhZ3Mgd2lsbCBiZSBhZGRlZCB0byB0aGUgSVBBTVxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVmZXJzIHRvIHR3byBwb3NzaWJsZSBzY29wZSB0eXBlcyB1bmRlciBJUEFNXG4gKi9cbmV4cG9ydCBlbnVtIElwYW1TY29wZVR5cGUge1xuICAvKipcbiAgICogRGVmYXVsdCBzY29wZXMgY3JlYXRlZCBieSBJUEFNXG4gICAqL1xuICBERUZBVUxUID0gJ2RlZmF1bHQnLFxuXG4gIC8qKlxuICAgKiBDdXN0b20gc2NvcGUgY3JlYXRlZCB1c2luZyBtZXRob2RcbiAgICovXG4gIENVU1RPTSA9ICdjdXN0b20nLFxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGNvbmZpZ3VyaW5nIGFuIElQQU0gcG9vbC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvb2xPcHRpb25ze1xuXG4gIC8qKlxuICAgKiBhZGRyZXNzRmFtaWx5IC0gVGhlIGFkZHJlc3MgZmFtaWx5IG9mIHRoZSBwb29sIChpcHY0IG9yIGlwdjYpLlxuICAgKi9cbiAgcmVhZG9ubHkgYWRkcmVzc0ZhbWlseTogQWRkcmVzc0ZhbWlseTtcblxuICAvKipcbiAgICogSW5mb3JtYXRpb24gYWJvdXQgdGhlIENJRFJzIHByb3Zpc2lvbmVkIHRvIHRoZSBwb29sLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIENJRFJzIGFyZSBwcm92aXNpb25lZFxuICAgKi9cbiAgcmVhZG9ubHkgaXB2NFByb3Zpc2lvbmVkQ2lkcnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGxvY2FsZSAoQVdTIFJlZ2lvbikgb2YgdGhlIHBvb2wuIFNob3VsZCBiZSBvbmUgb2YgdGhlIElQQU0gb3BlcmF0aW5nIHJlZ2lvbi5cbiAgICogIE9ubHkgcmVzb3VyY2VzIGluIHRoZSBzYW1lIFJlZ2lvbiBhcyB0aGUgbG9jYWxlIG9mIHRoZSBwb29sIGNhbiBnZXQgSVAgYWRkcmVzcyBhbGxvY2F0aW9ucyBmcm9tIHRoZSBwb29sLlxuICAgKiBZb3UgY2FuIG9ubHkgYWxsb2NhdGUgYSBDSURSIGZvciBhIFZQQywgZm9yIGV4YW1wbGUsIGZyb20gYW4gSVBBTSBwb29sIHRoYXQgc2hhcmVzIGEgbG9jYWxlIHdpdGggdGhlIFZQQ+KAmXMgUmVnaW9uLlxuICAgKiBOb3RlIHRoYXQgb25jZSB5b3UgY2hvb3NlIGEgTG9jYWxlIGZvciBhIHBvb2wsIHlvdSBjYW5ub3QgbW9kaWZ5IGl0LiBJZiB5b3UgY2hvb3NlIGFuIEFXUyBSZWdpb24gZm9yIGxvY2FsZSB0aGF0IGhhcyBub3QgYmVlbiBjb25maWd1cmVkIGFzIGFuIG9wZXJhdGluZyBSZWdpb24gZm9yIHRoZSBJUEFNLCB5b3UnbGwgZ2V0IGFuIGVycm9yLlxuICAgKiBAc2VlIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtcG9vbC5odG1sI2Nmbi1lYzItaXBhbXBvb2wtbG9jYWxlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQ3VycmVudCBvcGVyYXRpbmcgcmVnaW9uIG9mIElQQU1cbiAgICovXG4gIHJlYWRvbmx5IGxvY2FsZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElQIGFkZHJlc3Mgc291cmNlIGZvciBwb29scyBpbiB0aGUgcHVibGljIHNjb3BlLlxuICAgKiBPbmx5IHVzZWQgZm9yIElQdjYgYWRkcmVzc1xuICAgKiBPbmx5IGFsbG93ZWQgdmFsdWVzIHRvIHRoaXMgYXJlICdieW9pcCcgb3IgJ2FtYXpvbidcbiAgICpcbiAgICogQGRlZmF1bHQgYW1hem9uXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNJcFNvdXJjZT86IElwYW1Qb29sUHVibGljSXBTb3VyY2U7XG5cbiAgLyoqXG4gICogTGltaXRzIHdoaWNoIHNlcnZpY2UgaW4gQVdTIHRoYXQgdGhlIHBvb2wgY2FuIGJlIHVzZWQgaW4uXG4gICpcbiAgKiBcImVjMlwiLCBmb3IgZXhhbXBsZSwgYWxsb3dzIHVzZXJzIHRvIHVzZSBzcGFjZSBmb3IgRWxhc3RpYyBJUCBhZGRyZXNzZXMgYW5kIFZQQ3MuXG4gICpcbiAgKiBAc2VlIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtcG9vbC5odG1sI2Nmbi1lYzItaXBhbXBvb2wtYXdzc2VydmljZVxuICAqXG4gICogQGRlZmF1bHQgLSByZXF1aXJlZCBpbiBjYXNlIG9mIGFuIElQdjYsIHRocm93cyBhbiBlcnJvciBpZiBub3QgcHJvdmlkZWQuXG4gICovXG4gIHJlYWRvbmx5IGF3c1NlcnZpY2U/OiBBd3NTZXJ2aWNlTmFtZTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhbiBJUEFNIHBvb2wuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbFxuICovXG5pbnRlcmZhY2UgSXBhbVBvb2xQcm9wcyBleHRlbmRzIFBvb2xPcHRpb25zIHtcbiAgLyoqXG4gICAqIFNjb3BlIGlkIHdoZXJlIHBvb2wgbmVlZHMgdG8gYmUgY3JlYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbVNjb3BlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogSVBBTSByZXNvdXJjZSBuYW1lXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYXV0b2dlbmVyYXRlZCBieSBDREsgaWYgbm90IHByb3ZpZGVkXG4gICAqL1xuICByZWFkb25seSBpcGFtUG9vbE5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyB0byBwcm92aXNpb24gQ0lEUnMgdG8gYW4gSVBBTSBwb29sLlxuICogVXNlZCB0byBjcmVhdGUgYSBuZXcgSXBhbVBvb2xDaWRyXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2xjaWRyLmh0bWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJcGFtUG9vbENpZHJQcm92aXNpb25pbmdPcHRpb25zIHtcbiAgLyoqXG4gICAqIElwdjYgTmV0bWFzayBsZW5ndGggZm9yIHRoZSBDSURSXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcG9vbCBwcm92aXNpb25lZCB3aXRob3V0IG5ldG1hc2sgbGVuZ3RoLCBuZWVkIGNpZHIgcmFuZ2UgaW4gdGhpcyBjYXNlXG4gICAqL1xuICByZWFkb25seSBuZXRtYXNrTGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJcHY2IENJRFIgYmxvY2sgZm9yIHRoZSBJUEFNIHBvb2xcbiAgICpcbiAgICogQGRlZmF1bHQgLSBwb29sIHByb3Zpc2lvbmVkIHdpdGhvdXQgbmV0bWFzayBsZW5ndGgsIG5lZWQgbmV0bWFzayBsZW5ndGggaW4gdGhpcyBjYXNlXG4gICAqL1xuICByZWFkb25seSBjaWRyPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIERlZmluaXRpb24gdXNlZCB0byBhZGQgb3IgY3JlYXRlIGEgbmV3IElQQU0gcG9vbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElJcGFtUG9vbHtcbiAgLyoqXG4gKiBQb29sIElEIHRvIGJlIHBhc3NlZCB0byB0aGUgVlBDIGNvbnN0cnVjdFxuICogQGF0dHJpYnV0ZSBJcGFtUG9vbElkXG4gKi9cbiAgcmVhZG9ubHkgaXBhbVBvb2xJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQb29sIENJRFIgZm9yIElQdjYgdG8gYmUgcHJvdmlzaW9uZWQgd2l0aCBQdWJsaWMgSVAgc291cmNlIHNldCB0byAnQW1hem9uJ1xuICAgKi9cbiAgcmVhZG9ubHkgaXBhbUNpZHJzOiBDZm5JUEFNUG9vbENpZHJbXTtcblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gYXNzb2NpYXRlIGEgSVB2NiBhZGRyZXNzIHdpdGggSVBBTSBwb29sXG4gICAqL1xuICBwcm92aXNpb25DaWRyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IElwYW1Qb29sQ2lkclByb3Zpc2lvbmluZ09wdGlvbnMpOiBDZm5JUEFNUG9vbENpZHI7XG5cbn1cblxuLyoqXG4gKiBJUEFNIHNjb3BlIGlzIHRoZSBoaWdoZXN0LWxldmVsIGNvbnRhaW5lciB3aXRoaW4gSVBBTS4gQW4gSVBBTSBjb250YWlucyB0d28gZGVmYXVsdCBzY29wZXMuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXNjb3BlLmh0bWxcbiAqL1xuaW50ZXJmYWNlIElwYW1TY29wZVByb3BzIGV4dGVuZHMgSXBhbVNjb3BlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBJUEFNIGlkIHRvIHdoaWNoIHNjb3BlIG5lZWRzIHRvIGJlIGFkZGVkXG4gICAqL1xuICByZWFkb25seSBpcGFtSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogT3BlcmF0aW5nIHJlZ2lvbnMgZm9yIHRoZSBJcGFtXG4gICAqIFJlcXVpcmVkIGluIG9yZGVyIHRvIHZhbGlkYXRlIHRoZSBsb2NhbGUgYmVpbmcgc2V0IG9uIHBvb2xcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1PcGVyYXRpbmdSZWdpb25zOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ3VzdG9tIGlwYW0gc2NvcGUgaWQgdG8gYWRkIGEgcG9vbCBpbiBvcmRlciB0byBzdXBwb3J0IGRlZmF1bHQgc2NvcGVzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhyb3dzIGFuIGVycm9yIGlmIG5vIHNjb3BlIGlkIGlzIHByb3ZpZGVkXG4gICAqL1xuICByZWFkb25seSBpcGFtU2NvcGVJZD86IHN0cmluZztcblxufVxuXG4vKipcbiAqIEJlaW5nIHVzZWQgaW4gSVBBTSBjbGFzcyB0byBhZGQgcG9vbHMgdG8gZGVmYXVsdCBzY29wZSBjcmVhdGVkIGJ5IElQQU0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXBhbVNjb3BlT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIElQQU0gc2NvcGUgbmFtZSB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgdGFnZ2luZ1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHRhZ3Mgd2lsbCBiZSBhZGRlZCB0byB0aGUgc2NvcGVcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1TY29wZU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY29uZmlndXJpbmcgYW4gSVAgQWRkcmVzcyBNYW5hZ2VyIChJUEFNKS5cbiAqXG4gKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSB7QGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtLmh0bWx9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElwYW1PcHRpb25zIHtcblxuICAvKipcbiAgICogQ0lEUiBNYXNrIGZvciBWcGNcbiAgICogT25seSByZXF1aXJlZCB3aGVuIHVzaW5nIEFXUyBJcGFtXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbmV0bWFzayBsZW5ndGggZm9yIElQQU0gYXR0YWNoZWQgdG8gVlBDIHNlY29uZGFyeSBhZGRyZXNzXG4gICAqL1xuICByZWFkb25seSBuZXRtYXNrTGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJcHY0IG9yIGFuIElwdjYgSVBBTSBwb29sXG4gICAqIE9ubHkgcmVxdWlyZWQgd2hlbiB1c2luZyBBV1MgSXBhbVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHBvb2wgYXR0YWNoZWQgdG8gVlBDIHNlY29uZGFyeSBhZGRyZXNzXG4gICAqL1xuICByZWFkb25seSBpcGFtUG9vbD86IElJcGFtUG9vbDtcblxuICAvKipcbiAgICogUmVxdWlyZWQgdG8gc2V0IFNlY29uZGFyeSBjaWRyIGJsb2NrIHJlc291cmNlIG5hbWVcbiAgICogaW4gb3JkZXIgdG8gZ2VuZXJhdGUgdW5pcXVlIGxvZ2ljYWwgaWQgZm9yIHRoZSByZXNvdXJjZS5cbiAgICovXG4gIHJlYWRvbmx5IGNpZHJCbG9ja05hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIElwYW1TY29wZSBDbGFzc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElJcGFtU2NvcGVCYXNlIHtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBjdXJyZW50IHNjb3BlIG9mIHN0YWNrIHRvIGJlIHBhc3NlZCBpbiBvcmRlciB0byBjcmVhdGVcbiAgICogYSBuZXcgSVBBTSBwb29sXG4gICAqL1xuICByZWFkb25seSBzY29wZTogQ29uc3RydWN0O1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IFNjb3BlIGlkcyBjcmVhdGVkIGJ5IHRoZSBJUEFNIG9yIGEgbmV3IFJlc291cmNlIGlkXG4gICAqL1xuICByZWFkb25seSBzY29wZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgc2NvcGUgdHlwZSBjYW4gYmUgZWl0aGVyIGRlZmF1bHQgb3IgY3VzdG9tXG4gICAqL1xuICByZWFkb25seSBzY29wZVR5cGU/OiBJcGFtU2NvcGVUeXBlO1xuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBhZGQgYSBuZXcgcG9vbCB0byBhbiBJUEFNIHNjb3BlXG4gICAqL1xuICBhZGRQb29sKGlkOiBzdHJpbmcsIG9wdGlvbnM6IFBvb2xPcHRpb25zKTogSUlwYW1Qb29sO1xuXG59XG5cbi8qKlxuICogQ3JlYXRlcyBuZXcgSVBBTSBQb29sXG4gKiBQb29scyBlbmFibGUgeW91IHRvIG9yZ2FuaXplIHlvdXIgSVAgYWRkcmVzc2VzIGFjY29yZGluZyB0byB5b3VyIHJvdXRpbmcgYW5kIHNlY3VyaXR5IG5lZWRzXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbFxuICogQHJlc291cmNlIEFXUzo6RUMyOjpJUEFNUG9vbFxuICogQGludGVybmFsXG4gKi9cbmNsYXNzIElwYW1Qb29sIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJSXBhbVBvb2wge1xuXG4gIC8qKlxuICAgKiBQb29sIElEIHRvIGJlIHBhc3NlZCB0byB0aGUgVlBDIGNvbnN0cnVjdFxuICAgKiBAYXR0cmlidXRlIElwYW1Qb29sSWRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpcGFtUG9vbElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBvb2wgQ0lEUiBmb3IgSVB2NiB0byBiZSBwcm92aXNpb25lZCB3aXRoIFB1YmxpYyBJUCBzb3VyY2Ugc2V0IHRvICdBbWF6b24nXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaXBhbUNpZHJzOiBDZm5JUEFNUG9vbENpZHJbXSA9IFtdXG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byBpcGFtUG9vbCByZXNvdXJjZSBjcmVhdGVkIGluIHRoaXMgY2xhc3NcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lwYW1Qb29sOiBDZm5JUEFNUG9vbDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogSXBhbVBvb2xQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcy5pcGFtUG9vbE5hbWUgPz8gTGF6eS5zdHJpbmcoe1xuICAgICAgICBwcm9kdWNlOiAoKSA9PiBOYW1lcy51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywgeyBtYXhMZW5ndGg6IDEyOCwgYWxsb3dlZFNwZWNpYWxDaGFyYWN0ZXJzOiAnXycgfSksXG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIGlmIChwcm9wcy5hZGRyZXNzRmFtaWx5ID09PSBBZGRyZXNzRmFtaWx5LklQX1Y2ICYmICFwcm9wcy5hd3NTZXJ2aWNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2F3c1NlcnZpY2UgaXMgcmVxdWlyZWQgd2hlbiBhZGRyZXNzRmFtaWx5IGlzIHNldCB0byBpcHY2Jyk7XG4gICAgfVxuXG4gICAgdGhpcy5faXBhbVBvb2wgPSBuZXcgQ2ZuSVBBTVBvb2wodGhpcywgaWQsIHtcbiAgICAgIGFkZHJlc3NGYW1pbHk6IHByb3BzLmFkZHJlc3NGYW1pbHksXG4gICAgICBwcm92aXNpb25lZENpZHJzOiBwcm9wcy5pcHY0UHJvdmlzaW9uZWRDaWRycz8ubWFwKGNpZHIgPT4gKHsgY2lkciB9KSksXG4gICAgICBsb2NhbGU6IHByb3BzLmxvY2FsZSxcbiAgICAgIGlwYW1TY29wZUlkOiBwcm9wcy5pcGFtU2NvcGVJZCxcbiAgICAgIHB1YmxpY0lwU291cmNlOiBwcm9wcy5wdWJsaWNJcFNvdXJjZSxcbiAgICAgIGF3c1NlcnZpY2U6IHByb3BzLmF3c1NlcnZpY2UsXG4gICAgfSk7XG4gICAgdGhpcy5pcGFtUG9vbElkID0gdGhpcy5faXBhbVBvb2wuYXR0cklwYW1Qb29sSWQ7XG4gICAgdGhpcy5ub2RlLmRlZmF1bHRDaGlsZCA9IHRoaXMuX2lwYW1Qb29sO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgQ0lEUiBwcm92aXNpb25lZCB0byBhbiBJUEFNIHBvb2wuXG4gICAqIEBwYXJhbSBpZCBOYW1lIG9mIFJlc291cmNlXG4gICAqIEBwYXJhbSBvcHRpb25zIEVpdGhlciBhIENJRFIgb3IgbmV0bWFzayBsZW5ndGggbXVzdCBiZSBwcm92aWRlZFxuICAgKiBAcmV0dXJucyBBV1M6OkVDMjo6SVBBTVBvb2xDaWRyXG4gICAqL1xuICBwdWJsaWMgcHJvdmlzaW9uQ2lkcihpZDogc3RyaW5nLCBvcHRpb25zOiBJcGFtUG9vbENpZHJQcm92aXNpb25pbmdPcHRpb25zKTogQ2ZuSVBBTVBvb2xDaWRyIHtcbiAgICBjb25zdCBjaWRyID0gbmV3IENmbklQQU1Qb29sQ2lkcih0aGlzLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGlwYW1Qb29sSWQ6IHRoaXMuaXBhbVBvb2xJZCxcbiAgICB9KTtcbiAgICB0aGlzLmlwYW1DaWRycy5wdXNoKGNpZHIpO1xuICAgIHJldHVybiBjaWRyO1xuICB9XG59XG5cbi8qKlxuICogQ3JlYXRlcyBjdXN0b20gSXBhbSBTY29wZSwgY3VzdG9tIElQQU0gc2NvcGVzIGNhbiBvbmx5IGJlIHByaXZhdGVcbiAqIChjYW4gYmUgdXNlZCBmb3IgYWRkaW5nIGN1c3RvbSBzY29wZXMgdG8gYW4gZXhpc3RpbmcgSVBBTSlcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtc2NvcGUuaHRtbFxuICogQHJlc291cmNlIEFXUzo6RUMyOjpJUEFNU2NvcGVcbiAqL1xuY2xhc3MgSXBhbVNjb3BlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJSXBhbVNjb3BlQmFzZSB7XG5cbiAgLyoqXG4gICAqIFN0b3JlcyB0aGUgcmVmZXJlbmNlIHRvIG5ld2x5IGNyZWF0ZWQgUmVzb3VyY2VcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lwYW1TY29wZTogQ2ZuSVBBTVNjb3BlO1xuXG4gIC8qKlxuICAgKiBJRCBmb3IgUmVzb3VyY2UgSXBhbVNjb3BlXG4gICAqIEBhdHRyaWJ1dGUgSXBhbVNjb3BlSWRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzY29wZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFByb3BlcnRpZXMgdG8gY29uZmlndXJlIGlwYW0gc2NvcGVcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IElwYW1TY29wZVByb3BzO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gc3RhY2sgc2NvcGUgdG8gYmUgcGFzc2VkIHRocm91Z2ggYWRkUG9vbCBtZXRob2QgaW5vcmRlciB0byBjcmVhdGUgYSBuZXcgSXBhbVBvb2xcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzY29wZTogQ29uc3RydWN0O1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHNjb3BlIHR5cGUgY2FuIGJlIGVpdGhlciBkZWZhdWx0IG9yIGN1c3RvbVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNjb3BlVHlwZTogSXBhbVNjb3BlVHlwZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogSXBhbVNjb3BlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMuX2lwYW1TY29wZSA9IG5ldyBDZm5JUEFNU2NvcGUoc2NvcGUsICdJcGFtU2NvcGUnLCB7XG4gICAgICBpcGFtSWQ6IHByb3BzLmlwYW1JZCxcbiAgICB9KTtcbiAgICB0aGlzLnNjb3BlSWQgPSB0aGlzLl9pcGFtU2NvcGUuYXR0cklwYW1TY29wZUlkO1xuICAgIHRoaXMuc2NvcGVUeXBlID0gSXBhbVNjb3BlVHlwZS5DVVNUT007XG4gICAgdGhpcy5zY29wZSA9IHNjb3BlO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgcG9vbCB0byB0aGUgSVBBTSBzY29wZS5cbiAgICogQGV4dGVybmFsXG4gICAqL1xuICBhZGRQb29sKGlkOiBzdHJpbmcsIG9wdGlvbnM6IFBvb2xPcHRpb25zKTogSUlwYW1Qb29sIHtcbiAgICByZXR1cm4gY3JlYXRlSXBhbVBvb2wodGhpcy5zY29wZSwgaWQsIHRoaXMucHJvcHMsIG9wdGlvbnMsIHRoaXMuc2NvcGVJZCk7XG4gIH1cblxufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIElQQU0gZGVmYXVsdCBzY29wZXMuXG4gKi9cbmNsYXNzIElwYW1TY29wZUJhc2UgaW1wbGVtZW50cyBJSXBhbVNjb3BlQmFzZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgcmVhZG9ubHkgc2NvcGVJZDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IElwYW1TY29wZVByb3BzLFxuICAgIHJlYWRvbmx5IHNjb3BlVHlwZT86IElwYW1TY29wZVR5cGUsXG4gICkge1xuICAgIHRoaXMuc2NvcGVUeXBlID0gSXBhbVNjb3BlVHlwZS5ERUZBVUxUO1xuICAgIGlmICghcHJvcHMuaXBhbVNjb3BlSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaXBhbVNjb3BlSWQgaXMgcmVxdWlyZWQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zY29wZUlkID0gcHJvcHMuaXBhbVNjb3BlSWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBwb29sIHRvIHRoZSBJUEFNIHNjb3BlLlxuICAgKiBAZXh0ZXJuYWxcbiAgICovXG4gIGFkZFBvb2woaWQ6IHN0cmluZywgb3B0aW9uczogUG9vbE9wdGlvbnMpOiBJSXBhbVBvb2wge1xuICAgIHJldHVybiBjcmVhdGVJcGFtUG9vbCh0aGlzLnNjb3BlLCBpZCwgdGhpcy5wcm9wcywgb3B0aW9ucywgdGhpcy5zY29wZUlkKTtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgbmV3IElQQU0gd2l0aCBkZWZhdWx0IHB1YmxpYyBhbmQgcHJpdmF0ZSBzY29wZVxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1zY29wZS5odG1sXG4gKiBAcmVzb3VyY2UgQVdTOjpFQzI6OklQQU1cbiAqL1xuZXhwb3J0IGNsYXNzIElwYW0gZXh0ZW5kcyBSZXNvdXJjZSB7XG4gIC8qKlxuICogUHJvdmlkZXMgYWNjZXNzIHRvIGRlZmF1bHQgcHVibGljIElQQU0gc2NvcGUgdGhyb3VnaCBhZGQgcG9vbCBtZXRob2QuXG4gKiBVc2FnZTogVG8gYWRkIGFuIElwYW0gUG9vbCB0byBhIGRlZmF1bHQgcHVibGljIHNjb3BlXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXNjb3BlLmh0bWxcbiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHVibGljU2NvcGU6IElJcGFtU2NvcGVCYXNlO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlcyBhY2Nlc3MgdG8gZGVmYXVsdCBwcml2YXRlIElQQU0gc2NvcGUgdGhyb3VnaCBhZGQgcG9vbCBtZXRob2QuXG4gICAqIFVzYWdlOiBUbyBhZGQgYW4gSXBhbSBQb29sIHRvIGEgZGVmYXVsdCBwcml2YXRlIHNjb3BlXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtc2NvcGUuaHRtbFxuICAgKiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJpdmF0ZVNjb3BlOiBJSXBhbVNjb3BlQmFzZTtcblxuICAvLyBSZXNvdXJjZSBJUEFNXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lwYW06IENmbklQQU07XG4gIC8qKlxuICAgKiBBY2Nlc3MgdG8gSXBhbSByZXNvdXJjZSBpZCB0aGF0IGNhbiBiZSB1c2VkIGxhdGVyIHRvIGFkZCBhIGN1c3RvbSBwcml2YXRlIHNjb3BlIHRvIHRoaXMgSVBBTVxuICAgKiBAYXR0cmlidXRlIElwYW1JZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlwYW1JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIG9wZXJhdGluZyByZWdpb25zIGZvciBJUEFNXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb3BlcmF0aW5nUmVnaW9uczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2Ygc2NvcGVzIGNyZWF0ZWQgdW5kZXIgdGhpcyBJUEFNXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2NvcGVzOiBJSXBhbVNjb3BlQmFzZVtdID0gW107XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBJcGFtUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgaWYgKCFwcm9wcz8ub3BlcmF0aW5nUmVnaW9uICYmICFTdGFjay5vZih0aGlzKS5yZWdpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIHByb3ZpZGUgYXQgbGVhc3Qgb25lIG9wZXJhdGluZyByZWdpb24nKTtcbiAgICB9XG5cbiAgICB0aGlzLm9wZXJhdGluZ1JlZ2lvbnMgPSBwcm9wcz8ub3BlcmF0aW5nUmVnaW9uID8/IFtTdGFjay5vZih0aGlzKS5yZWdpb25dO1xuXG4gICAgdGhpcy5faXBhbSA9IG5ldyBDZm5JUEFNKHRoaXMsICdJcGFtJywge1xuICAgICAgb3BlcmF0aW5nUmVnaW9uczogdGhpcy5vcGVyYXRpbmdSZWdpb25zID8gdGhpcy5vcGVyYXRpbmdSZWdpb25zLm1hcChyZWdpb24gPT4gKHsgcmVnaW9uTmFtZTogcmVnaW9uIH0pKSA6IFtdLFxuICAgIH0pO1xuICAgIHRoaXMubm9kZS5kZWZhdWx0Q2hpbGQgPSB0aGlzLl9pcGFtO1xuXG4gICAgdGhpcy5pcGFtSWQgPSB0aGlzLl9pcGFtLmF0dHJJcGFtSWQ7XG4gICAgdGhpcy5wdWJsaWNTY29wZSA9IG5ldyBJcGFtU2NvcGVCYXNlKHRoaXMsICdEZWZhdWx0UHVibGljU2NvcGUnLCB7XG4gICAgICBpcGFtT3BlcmF0aW5nUmVnaW9uczogdGhpcy5vcGVyYXRpbmdSZWdpb25zLFxuICAgICAgaXBhbUlkOiB0aGlzLl9pcGFtLmF0dHJJcGFtSWQsXG4gICAgICBpcGFtU2NvcGVJZDogdGhpcy5faXBhbS5hdHRyUHVibGljRGVmYXVsdFNjb3BlSWQsXG4gICAgfSk7XG4gICAgdGhpcy5wcml2YXRlU2NvcGUgPSBuZXcgSXBhbVNjb3BlQmFzZSh0aGlzLCAnRGVmYXVsdFByaXZhdGVTY29wZScsIHtcbiAgICAgIGlwYW1PcGVyYXRpbmdSZWdpb25zOiB0aGlzLm9wZXJhdGluZ1JlZ2lvbnMsXG4gICAgICBpcGFtSWQ6IHRoaXMuX2lwYW0uYXR0cklwYW1JZCxcbiAgICAgIGlwYW1TY29wZUlkOiB0aGlzLl9pcGFtLmF0dHJQcml2YXRlRGVmYXVsdFNjb3BlSWQsXG4gICAgfSk7XG5cbiAgICB0aGlzLnNjb3Blcy5wdXNoKHRoaXMucHVibGljU2NvcGUsIHRoaXMucHJpdmF0ZVNjb3BlKTtcblxuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGFkZCBjdXN0b20gc2NvcGUgdG8gYW4gZXhpc3RpbmcgSVBBTVxuICAgKiBDdXN0b20gc2NvcGVzIGNhbiBvbmx5IGJlIHByaXZhdGVcbiAgICovXG4gIHB1YmxpYyBhZGRTY29wZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRpb25zOiBJcGFtU2NvcGVPcHRpb25zKTogSUlwYW1TY29wZUJhc2Uge1xuICAgIGNvbnN0IGlwYW1TY29wZSA9IG5ldyBJcGFtU2NvcGUoc2NvcGUsIGlkLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgaXBhbUlkOiB0aGlzLmlwYW1JZCxcbiAgICAgIGlwYW1PcGVyYXRpbmdSZWdpb25zOiB0aGlzLm9wZXJhdGluZ1JlZ2lvbnMsXG4gICAgfSk7XG4gICAgdGhpcy5zY29wZXMucHVzaChpcGFtU2NvcGUpO1xuICAgIHJldHVybiBpcGFtU2NvcGU7XG4gIH1cbn1cblxuLyoqXG4gKiBGdW5jdGlvbiB0byBjcmVhdGUgSXBhbVBvb2wgdW5kZXIgc2NvcGVcbiAqIEBpbnRlcm5hbFxuICovXG5mdW5jdGlvbiBjcmVhdGVJcGFtUG9vbChcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgaWQ6IHN0cmluZyxcbiAgc2NvcGVPcHRpb25zOiBJcGFtU2NvcGVQcm9wcyxcbiAgcG9vbE9wdGlvbnM6IFBvb2xPcHRpb25zLFxuICBzY29wZUlkOiBzdHJpbmcsXG4pOiBJcGFtUG9vbCB7XG4gIGNvbnN0IGlzTG9jYWxlSW5PcGVyYXRpbmdSZWdpb25zID0gc2NvcGVPcHRpb25zLmlwYW1PcGVyYXRpbmdSZWdpb25zXG4gICAgPyBzY29wZU9wdGlvbnMuaXBhbU9wZXJhdGluZ1JlZ2lvbnMubWFwKHJlZ2lvbiA9PiAoeyByZWdpb25OYW1lOiByZWdpb24gfSkpXG4gICAgICAuc29tZShyZWdpb24gPT4gcmVnaW9uLnJlZ2lvbk5hbWUgPT09IHBvb2xPcHRpb25zLmxvY2FsZSlcbiAgICA6IGZhbHNlO1xuXG4gIGlmICghaXNMb2NhbGVJbk9wZXJhdGluZ1JlZ2lvbnMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBwcm92aWRlZCBsb2NhbGUgJyR7cG9vbE9wdGlvbnMubG9jYWxlfScgaXMgbm90IGluIHRoZSBvcGVyYXRpbmcgcmVnaW9ucy5gKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgSXBhbVBvb2woc2NvcGUsIGlkLCB7XG4gICAgaXBhbVBvb2xOYW1lOiBpZCxcbiAgICBhZGRyZXNzRmFtaWx5OiBwb29sT3B0aW9ucy5hZGRyZXNzRmFtaWx5LFxuICAgIGlwdjRQcm92aXNpb25lZENpZHJzOiBwb29sT3B0aW9ucy5pcHY0UHJvdmlzaW9uZWRDaWRycyxcbiAgICBpcGFtU2NvcGVJZDogc2NvcGVJZCxcbiAgICBsb2NhbGU6IHBvb2xPcHRpb25zLmxvY2FsZSxcbiAgICBwdWJsaWNJcFNvdXJjZTogcG9vbE9wdGlvbnMucHVibGljSXBTb3VyY2UsXG4gICAgYXdzU2VydmljZTogcG9vbE9wdGlvbnMuYXdzU2VydmljZSxcbiAgfSk7XG59XG5cbiJdfQ==
|
package/lib/route.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { CfnEgressOnlyInternetGateway, CfnInternetGateway, CfnNatGateway, CfnRoute, CfnRouteTable, CfnVPNGateway, IRouteTable,
|
|
1
|
+
import { CfnEgressOnlyInternetGateway, CfnInternetGateway, CfnNatGateway, CfnRoute, CfnRouteTable, CfnVPNGateway, IRouteTable, IVpcEndpoint, RouterType } from 'aws-cdk-lib/aws-ec2';
|
|
2
2
|
import { Construct, IDependable } from 'constructs';
|
|
3
|
-
import { Duration, Resource } from 'aws-cdk-lib/core';
|
|
4
|
-
import { IVpcV2 } from './vpc-v2-base';
|
|
3
|
+
import { Duration, IResource, Resource } from 'aws-cdk-lib/core';
|
|
4
|
+
import { IVpcV2, VPNGatewayV2Options } from './vpc-v2-base';
|
|
5
|
+
import { ISubnetV2 } from './subnet-v2';
|
|
5
6
|
/**
|
|
6
7
|
* Indicates whether the NAT gateway supports public or private connectivity.
|
|
7
8
|
* The default is public connectivity.
|
|
@@ -21,7 +22,7 @@ export declare enum NatConnectivityType {
|
|
|
21
22
|
* Interface to define a routing target, such as an
|
|
22
23
|
* egress-only internet gateway or VPC endpoint.
|
|
23
24
|
*/
|
|
24
|
-
export interface IRouteTarget {
|
|
25
|
+
export interface IRouteTarget extends IDependable {
|
|
25
26
|
/**
|
|
26
27
|
* The type of router used in the route.
|
|
27
28
|
*/
|
|
@@ -41,7 +42,8 @@ export interface EgressOnlyInternetGatewayProps {
|
|
|
41
42
|
readonly vpc: IVpcV2;
|
|
42
43
|
/**
|
|
43
44
|
* The resource name of the egress-only internet gateway.
|
|
44
|
-
*
|
|
45
|
+
*
|
|
46
|
+
* @default - provisioned without a resource name
|
|
45
47
|
*/
|
|
46
48
|
readonly egressOnlyInternetGatewayName?: string;
|
|
47
49
|
}
|
|
@@ -55,75 +57,61 @@ export interface InternetGatewayProps {
|
|
|
55
57
|
readonly vpc: IVpcV2;
|
|
56
58
|
/**
|
|
57
59
|
* The resource name of the internet gateway.
|
|
58
|
-
*
|
|
60
|
+
*
|
|
61
|
+
* @default - provisioned without a resource name
|
|
59
62
|
*/
|
|
60
63
|
readonly internetGatewayName?: string;
|
|
61
64
|
}
|
|
62
65
|
/**
|
|
63
66
|
* Properties to define a VPN gateway.
|
|
64
67
|
*/
|
|
65
|
-
export interface
|
|
66
|
-
/**
|
|
67
|
-
* The type of VPN connection the virtual private gateway supports.
|
|
68
|
-
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngateway.html#cfn-ec2-vpngateway-type
|
|
69
|
-
*/
|
|
70
|
-
readonly type: VpnConnectionType;
|
|
68
|
+
export interface VPNGatewayV2Props extends VPNGatewayV2Options {
|
|
71
69
|
/**
|
|
72
70
|
* The ID of the VPC for which to create the VPN gateway.
|
|
73
71
|
*/
|
|
74
72
|
readonly vpc: IVpcV2;
|
|
75
|
-
/**
|
|
76
|
-
* The private Autonomous System Number (ASN) for the Amazon side of a BGP session.
|
|
77
|
-
* @default none
|
|
78
|
-
*/
|
|
79
|
-
readonly amazonSideAsn?: number;
|
|
80
|
-
/**
|
|
81
|
-
* The resource name of the VPN gateway.
|
|
82
|
-
* @default none
|
|
83
|
-
*/
|
|
84
|
-
readonly vpnGatewayName?: string;
|
|
85
73
|
}
|
|
86
74
|
/**
|
|
87
|
-
*
|
|
75
|
+
* Options to define a NAT gateway.
|
|
88
76
|
*/
|
|
89
|
-
export interface
|
|
77
|
+
export interface NatGatewayOptions {
|
|
90
78
|
/**
|
|
91
79
|
* The subnet in which the NAT gateway is located.
|
|
92
80
|
*/
|
|
93
|
-
readonly subnet:
|
|
94
|
-
/**
|
|
95
|
-
* The ID of the VPC in which the NAT gateway is located.
|
|
96
|
-
* @default none
|
|
97
|
-
*/
|
|
98
|
-
readonly vpc?: IVpcV2;
|
|
81
|
+
readonly subnet: ISubnetV2;
|
|
99
82
|
/**
|
|
100
83
|
* AllocationID of Elastic IP address that's associated with the NAT gateway. This property is required for a public NAT
|
|
101
84
|
* gateway and cannot be specified with a private NAT gateway.
|
|
102
|
-
*
|
|
85
|
+
*
|
|
86
|
+
* @default - attr.allocationID of a new Elastic IP created by default
|
|
103
87
|
* //TODO: ADD L2 for elastic ip
|
|
104
88
|
*/
|
|
105
89
|
readonly allocationId?: string;
|
|
106
90
|
/**
|
|
107
91
|
* Indicates whether the NAT gateway supports public or private connectivity.
|
|
108
|
-
*
|
|
92
|
+
*
|
|
93
|
+
* @default NatConnectivityType.Public
|
|
109
94
|
*/
|
|
110
95
|
readonly connectivityType?: NatConnectivityType;
|
|
111
96
|
/**
|
|
112
97
|
* The maximum amount of time to wait before forcibly releasing the
|
|
113
98
|
* IP addresses if connections are still in progress.
|
|
114
|
-
*
|
|
99
|
+
*
|
|
100
|
+
* @default 350seconds
|
|
115
101
|
*/
|
|
116
102
|
readonly maxDrainDuration?: Duration;
|
|
117
103
|
/**
|
|
118
|
-
* The private IPv4 address to assign to the NAT gateway.
|
|
119
|
-
*
|
|
120
|
-
* @default
|
|
104
|
+
* The private IPv4 address to assign to the NAT gateway.
|
|
105
|
+
*
|
|
106
|
+
* @default - If you don't provide an address, a private IPv4 address will be automatically assigned.
|
|
121
107
|
*/
|
|
122
108
|
readonly privateIpAddress?: string;
|
|
123
109
|
/**
|
|
124
110
|
* Secondary EIP allocation IDs.
|
|
125
|
-
* @default none
|
|
126
111
|
* @see https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating
|
|
112
|
+
*
|
|
113
|
+
* @default - no secondary allocation IDs attached to NATGW
|
|
114
|
+
*
|
|
127
115
|
*/
|
|
128
116
|
readonly secondaryAllocationIds?: string[];
|
|
129
117
|
/**
|
|
@@ -132,9 +120,9 @@ export interface NatGatewayProps {
|
|
|
132
120
|
*
|
|
133
121
|
* `SecondaryPrivateIpAddressCount` and `SecondaryPrivateIpAddresses` cannot be
|
|
134
122
|
* set at the same time.
|
|
135
|
-
*
|
|
136
|
-
* @default none
|
|
137
123
|
* @see https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating
|
|
124
|
+
*
|
|
125
|
+
* @default - no secondary allocation IDs associated with NATGW
|
|
138
126
|
*/
|
|
139
127
|
readonly secondaryPrivateIpAddressCount?: number;
|
|
140
128
|
/**
|
|
@@ -142,17 +130,29 @@ export interface NatGatewayProps {
|
|
|
142
130
|
*
|
|
143
131
|
* `SecondaryPrivateIpAddressCount` and `SecondaryPrivateIpAddresses` cannot be
|
|
144
132
|
* set at the same time.
|
|
145
|
-
*
|
|
146
|
-
* @default none
|
|
147
133
|
* @see https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating
|
|
134
|
+
*
|
|
135
|
+
* @default - no secondary private IpAddresses associated with NATGW
|
|
148
136
|
*/
|
|
149
137
|
readonly secondaryPrivateIpAddresses?: string[];
|
|
150
138
|
/**
|
|
151
139
|
* The resource name of the NAT gateway.
|
|
152
|
-
*
|
|
140
|
+
*
|
|
141
|
+
* @default - NATGW provisioned without any name
|
|
153
142
|
*/
|
|
154
143
|
readonly natGatewayName?: string;
|
|
155
144
|
}
|
|
145
|
+
/**
|
|
146
|
+
* Properties to define a NAT gateway.
|
|
147
|
+
*/
|
|
148
|
+
export interface NatGatewayProps extends NatGatewayOptions {
|
|
149
|
+
/**
|
|
150
|
+
* The ID of the VPC in which the NAT gateway is located.
|
|
151
|
+
*
|
|
152
|
+
* @default - no elastic ip associated, required in case of public connectivity if `AllocationId` is not defined
|
|
153
|
+
*/
|
|
154
|
+
readonly vpc?: IVpcV2;
|
|
155
|
+
}
|
|
156
156
|
/**
|
|
157
157
|
* Creates an egress-only internet gateway
|
|
158
158
|
* @resource AWS::EC2::EgressOnlyInternetGateway
|
|
@@ -199,7 +199,7 @@ export declare class InternetGateway extends Resource implements IRouteTarget {
|
|
|
199
199
|
* Creates a virtual private gateway
|
|
200
200
|
* @resource AWS::EC2::VPNGateway
|
|
201
201
|
*/
|
|
202
|
-
export declare class
|
|
202
|
+
export declare class VPNGatewayV2 extends Resource implements IRouteTarget {
|
|
203
203
|
/**
|
|
204
204
|
* The type of router used in the route.
|
|
205
205
|
*/
|
|
@@ -216,7 +216,15 @@ export declare class VPNGateway extends Resource implements IRouteTarget {
|
|
|
216
216
|
* The VPN gateway CFN resource.
|
|
217
217
|
*/
|
|
218
218
|
readonly resource: CfnVPNGateway;
|
|
219
|
-
|
|
219
|
+
/**
|
|
220
|
+
* The VPN Gateway Attachment
|
|
221
|
+
*/
|
|
222
|
+
private readonly _attachment;
|
|
223
|
+
/**
|
|
224
|
+
* The VPN Gateway Route Propogation
|
|
225
|
+
*/
|
|
226
|
+
private readonly _routePropagation;
|
|
227
|
+
constructor(scope: Construct, id: string, props: VPNGatewayV2Props);
|
|
220
228
|
}
|
|
221
229
|
/**
|
|
222
230
|
* Creates a network address translation (NAT) gateway
|
|
@@ -233,13 +241,15 @@ export declare class NatGateway extends Resource implements IRouteTarget {
|
|
|
233
241
|
readonly routerTargetId: string;
|
|
234
242
|
/**
|
|
235
243
|
* Indicates whether the NAT gateway supports public or private connectivity.
|
|
244
|
+
*
|
|
236
245
|
* @default public
|
|
237
246
|
*/
|
|
238
|
-
readonly connectivityType?:
|
|
247
|
+
readonly connectivityType?: NatConnectivityType;
|
|
239
248
|
/**
|
|
240
249
|
* The maximum amount of time to wait before forcibly releasing the
|
|
241
250
|
* IP addresses if connections are still in progress.
|
|
242
|
-
*
|
|
251
|
+
*
|
|
252
|
+
* @default '350 seconds'
|
|
243
253
|
*/
|
|
244
254
|
readonly maxDrainDuration?: Duration;
|
|
245
255
|
/**
|
|
@@ -255,13 +265,15 @@ export interface RouteTargetProps {
|
|
|
255
265
|
/**
|
|
256
266
|
* The gateway route target. This is used for targets such as
|
|
257
267
|
* egress-only internet gateway or VPC peering connection.
|
|
258
|
-
*
|
|
268
|
+
*
|
|
269
|
+
* @default - target is not set to a gateway, in this case an endpoint is needed.
|
|
259
270
|
*/
|
|
260
271
|
readonly gateway?: IRouteTarget;
|
|
261
272
|
/**
|
|
262
273
|
* The endpoint route target. This is used for targets such as
|
|
263
274
|
* VPC endpoints.
|
|
264
|
-
*
|
|
275
|
+
*
|
|
276
|
+
* @default - target is not set to an endpoint, in this case a gateway is needed.
|
|
265
277
|
*/
|
|
266
278
|
readonly endpoint?: IVpcEndpoint;
|
|
267
279
|
}
|
|
@@ -272,13 +284,15 @@ export declare class RouteTargetType {
|
|
|
272
284
|
/**
|
|
273
285
|
* The gateway route target. This is used for targets such as
|
|
274
286
|
* egress-only internet gateway or VPC peering connection.
|
|
275
|
-
*
|
|
287
|
+
*
|
|
288
|
+
* @default - target is not set to a gateway, in this case an endpoint is needed.
|
|
276
289
|
*/
|
|
277
290
|
readonly gateway?: IRouteTarget;
|
|
278
291
|
/**
|
|
279
292
|
* The endpoint route target. This is used for targets such as
|
|
280
293
|
* VPC endpoints.
|
|
281
|
-
*
|
|
294
|
+
*
|
|
295
|
+
* @default - target is not set to an endpoint, in this case a gateway is needed.
|
|
282
296
|
*/
|
|
283
297
|
readonly endpoint?: IVpcEndpoint;
|
|
284
298
|
constructor(props: RouteTargetProps);
|
|
@@ -286,7 +300,7 @@ export declare class RouteTargetType {
|
|
|
286
300
|
/**
|
|
287
301
|
* Interface to define a route.
|
|
288
302
|
*/
|
|
289
|
-
export interface IRouteV2 {
|
|
303
|
+
export interface IRouteV2 extends IResource {
|
|
290
304
|
/**
|
|
291
305
|
* The ID of the route table for the route.
|
|
292
306
|
* @attribute routeTable
|
|
@@ -310,6 +324,7 @@ export interface IRouteV2 {
|
|
|
310
324
|
export interface RouteProps {
|
|
311
325
|
/**
|
|
312
326
|
* The ID of the route table for the route.
|
|
327
|
+
*
|
|
313
328
|
* @attribute routeTable
|
|
314
329
|
*/
|
|
315
330
|
readonly routeTable: IRouteTable;
|
|
@@ -325,7 +340,8 @@ export interface RouteProps {
|
|
|
325
340
|
readonly target: RouteTargetType;
|
|
326
341
|
/**
|
|
327
342
|
* The resource name of the route.
|
|
328
|
-
*
|
|
343
|
+
*
|
|
344
|
+
* @default - provisioned without a route name
|
|
329
345
|
*/
|
|
330
346
|
readonly routeName?: string;
|
|
331
347
|
}
|
|
@@ -357,6 +373,14 @@ export declare class Route extends Resource implements IRouteV2 {
|
|
|
357
373
|
* The route CFN resource.
|
|
358
374
|
*/
|
|
359
375
|
readonly resource?: CfnRoute;
|
|
376
|
+
/**
|
|
377
|
+
* Destination cidr block for ipv6
|
|
378
|
+
*/
|
|
379
|
+
private destinationIpv6Cidr?;
|
|
380
|
+
/**
|
|
381
|
+
* Destination cidr block for ipv4
|
|
382
|
+
*/
|
|
383
|
+
private destinationIpv4Cidr?;
|
|
360
384
|
constructor(scope: Construct, id: string, props: RouteProps);
|
|
361
385
|
}
|
|
362
386
|
/**
|
|
@@ -369,7 +393,8 @@ export interface RouteTableProps {
|
|
|
369
393
|
readonly vpc: IVpcV2;
|
|
370
394
|
/**
|
|
371
395
|
* The resource name of the route table.
|
|
372
|
-
*
|
|
396
|
+
*
|
|
397
|
+
* @default - provisioned without a route table name
|
|
373
398
|
*/
|
|
374
399
|
readonly routeTableName?: string;
|
|
375
400
|
}
|
|
@@ -377,7 +402,7 @@ export interface RouteTableProps {
|
|
|
377
402
|
* Creates a route table for the specified VPC
|
|
378
403
|
* @resource AWS::EC2::RouteTable
|
|
379
404
|
*/
|
|
380
|
-
export declare class RouteTable extends Resource implements IRouteTable
|
|
405
|
+
export declare class RouteTable extends Resource implements IRouteTable {
|
|
381
406
|
/**
|
|
382
407
|
* The ID of the route table.
|
|
383
408
|
*/
|
|
@@ -387,4 +412,11 @@ export declare class RouteTable extends Resource implements IRouteTable, IDepend
|
|
|
387
412
|
*/
|
|
388
413
|
readonly resource: CfnRouteTable;
|
|
389
414
|
constructor(scope: Construct, id: string, props: RouteTableProps);
|
|
415
|
+
/**
|
|
416
|
+
* Adds a new custom route to the route table.
|
|
417
|
+
*
|
|
418
|
+
* @param destination The IPv4 or IPv6 CIDR block used for the destination match.
|
|
419
|
+
* @param target The gateway or endpoint targeted by the route.
|
|
420
|
+
*/
|
|
421
|
+
addRoute(id: string, destination: string, target: RouteTargetType): void;
|
|
390
422
|
}
|