UNPKG

@aws-cdk/aws-eks-v2-alpha

Version:

This module is deprecated. All constructs are now available under aws-cdk-lib/aws-eks-v2

202 lines 21.1 kB
"use strict"; 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.Addon = void 0; const jsiiDeprecationWarnings = require("../.warnings.jsii.js"); const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const aws_eks_1 = require("aws-cdk-lib/aws-eks"); 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"); /** * Represents an Amazon EKS Add-On. * @resource AWS::EKS::Addon */ let Addon = (() => { let _classDecorators = [prop_injectable_1.propertyInjectable]; let _classDescriptor; let _classExtraInitializers = []; let _classThis; let _classSuper = core_1.Resource; let _instanceExtraInitializers = []; let _get_addonName_decorators; let _get_addonArn_decorators; var Addon = class extends _classSuper { static { _classThis = this; } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0; _get_addonName_decorators = [helpers_internal_1.memoizedGetter]; _get_addonArn_decorators = [helpers_internal_1.memoizedGetter]; __esDecorate(this, null, _get_addonName_decorators, { kind: "getter", name: "addonName", static: false, private: false, access: { has: obj => "addonName" in obj, get: obj => obj.addonName }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(this, null, _get_addonArn_decorators, { kind: "getter", name: "addonArn", static: false, private: false, access: { has: obj => "addonArn" in obj, get: obj => obj.addonArn }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); Addon = _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-eks-v2-alpha.Addon", version: "2.240.0-alpha.0" }; /** Uniquely identifies this class. */ static PROPERTY_INJECTION_ID = '@aws-cdk.aws-eks-v2-alpha.Addon'; /** * Creates an `IAddon` instance from the given addon attributes. * * @param scope - The parent construct. * @param id - The construct ID. * @param attrs - The attributes of the addon, including the addon name and the cluster name. * @returns An `IAddon` instance. */ static fromAddonAttributes(scope, id, attrs) { try { jsiiDeprecationWarnings.print("@aws-cdk/aws-eks-v2-alpha.Addon#fromAddonAttributes", ""); jsiiDeprecationWarnings._aws_cdk_aws_eks_v2_alpha_AddonAttributes(attrs); } catch (error) { if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { Error.captureStackTrace(error, this.fromAddonAttributes); } throw error; } class Import extends core_1.Resource { addonName = attrs.addonName; addonArn = core_1.Stack.of(scope).formatArn({ service: 'eks', resource: 'addon', resourceName: `${attrs.clusterName}/${attrs.addonName}`, }); } return new Import(scope, id); } /** * Creates an `IAddon` from an existing addon ARN. * * @param scope - The parent construct. * @param id - The ID of the construct. * @param addonArn - The ARN of the addon. * @returns An `IAddon` implementation. */ static fromAddonArn(scope, id, addonArn) { try { jsiiDeprecationWarnings.print("@aws-cdk/aws-eks-v2-alpha.Addon#fromAddonArn", ""); } catch (error) { if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { Error.captureStackTrace(error, this.fromAddonArn); } throw error; } const parsedArn = core_1.Stack.of(scope).splitArn(addonArn, core_1.ArnFormat.COLON_RESOURCE_NAME); const splitResourceName = core_1.Fn.split('/', parsedArn.resourceName); class Import extends core_1.Resource { addonName = core_1.Fn.select(1, splitResourceName); addonArn = addonArn; } return new Import(scope, id); } clusterName = __runInitializers(this, _instanceExtraInitializers); resource; /** * Creates a new Amazon EKS Add-On. * @param scope The parent construct. * @param id The construct ID. * @param props The properties for the Add-On. */ constructor(scope, id, props) { super(scope, id, { physicalName: props.addonName, }); try { jsiiDeprecationWarnings.print("@aws-cdk/aws-eks-v2-alpha.Addon", ""); jsiiDeprecationWarnings._aws_cdk_aws_eks_v2_alpha_AddonProps(props); } catch (error) { if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { Error.captureStackTrace(error, Addon); } throw error; } // Enhanced CDK Analytics Telemetry (0, metadata_resource_1.addConstructMetadata)(this, props); this.clusterName = props.cluster.clusterName; this.resource = new aws_eks_1.CfnAddon(this, 'Resource', { addonName: props.addonName, clusterName: this.clusterName, addonVersion: props.addonVersion, preserveOnDelete: props.preserveOnDelete, configurationValues: this.stack.toJsonString(props.configurationValues), }); if (props.removalPolicy) { this.resource.applyRemovalPolicy(props.removalPolicy); } } /** * Name of the addon. */ get addonName() { try { jsiiDeprecationWarnings.print("@aws-cdk/aws-eks-v2-alpha.Addon#addonName", ""); } catch (error) { if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { Error.captureStackTrace(error, jsiiDeprecationWarnings.getPropertyDescriptor(this, "addonName").get); } throw error; } return this.getResourceNameAttribute(this.resource.ref); } get addonArn() { try { jsiiDeprecationWarnings.print("@aws-cdk/aws-eks-v2-alpha.Addon#addonArn", ""); } catch (error) { if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") { Error.captureStackTrace(error, jsiiDeprecationWarnings.getPropertyDescriptor(this, "addonArn").get); } throw error; } return this.getResourceArnAttribute(this.resource.attrArn, { service: 'eks', resource: 'addon', resourceName: `${this.clusterName}/${this.addonName}/`, }); } static { __runInitializers(_classThis, _classExtraInitializers); } }; return Addon = _classThis; })(); exports.Addon = Addon; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhZGRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBK0M7QUFFL0MsMkNBQWtFO0FBQ2xFLDRFQUF1RTtBQUN2RSw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBc0YxRTs7O0dBR0c7SUFFVSxLQUFLOzRCQURqQixvQ0FBa0I7Ozs7c0JBQ1EsZUFBUTs7OztxQkFBaEIsU0FBUSxXQUFROzs7O3lDQTRFaEMsaUNBQWM7d0NBS2QsaUNBQWM7WUFKZixrTEFBVyxTQUFTLDZEQUVuQjtZQUdELCtLQUFXLFFBQVEsNkRBTWxCO1lBeEZILDZLQXlGQzs7Ozs7UUF4RkMsc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyxpQ0FBaUMsQ0FBQztRQUV6Rjs7Ozs7OztXQU9HO1FBQ0ksTUFBTSxDQUFDLG1CQUFtQixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCOzs7Ozs7Ozs7OztZQUNwRixNQUFNLE1BQU8sU0FBUSxlQUFRO2dCQUNYLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO2dCQUM1QixRQUFRLEdBQUcsWUFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUM7b0JBQ25ELE9BQU8sRUFBRSxLQUFLO29CQUNkLFFBQVEsRUFBRSxPQUFPO29CQUNqQixZQUFZLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7aUJBQ3hELENBQUMsQ0FBQzthQUNKO1lBQ0QsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDOUI7UUFDRDs7Ozs7OztXQU9HO1FBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxRQUFnQjs7Ozs7Ozs7OztZQUN2RSxNQUFNLFNBQVMsR0FBRyxZQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsZ0JBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3BGLE1BQU0saUJBQWlCLEdBQUcsU0FBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLFlBQWEsQ0FBQyxDQUFDO1lBQ2pFLE1BQU0sTUFBTyxTQUFRLGVBQVE7Z0JBQ1gsU0FBUyxHQUFHLFNBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLENBQUM7Z0JBQzVDLFFBQVEsR0FBRyxRQUFRLENBQUM7YUFDckM7WUFFRCxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztTQUM5QjtRQUVnQixXQUFXLEdBMUNqQixtREFBSyxDQTBDcUI7UUFDN0IsUUFBUSxDQUFXO1FBRTNCOzs7OztXQUtHO1FBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFpQjtZQUN6RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtnQkFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFNBQVM7YUFDOUIsQ0FBQyxDQUFDOzs7Ozs7O21EQXRETSxLQUFLOzs7O1lBdURkLG1DQUFtQztZQUNuQyxJQUFBLHdDQUFvQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUVsQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1lBRTdDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxrQkFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQzdDLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztnQkFDMUIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7Z0JBQ2hDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7Z0JBQ3hDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQzthQUN4RSxDQUFDLENBQUM7WUFFSCxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDeEQsQ0FBQztTQUNGO1FBRUQ7O1dBRUc7UUFFSCxJQUFXLFNBQVM7Ozs7Ozs7Ozs7WUFDbEIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6RDtRQUdELElBQVcsUUFBUTs7Ozs7Ozs7OztZQUNqQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtnQkFDekQsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsR0FBRzthQUN2RCxDQUFDLENBQUM7U0FDSjs7WUF4RlUsdURBQUs7Ozs7O0FBQUwsc0JBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5BZGRvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1la3MnO1xuaW1wb3J0IHR5cGUgeyBJUmVzb3VyY2UsIFJlbW92YWxQb2xpY3kgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IEFybkZvcm1hdCwgUmVzb3VyY2UsIFN0YWNrLCBGbiB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgbWVtb2l6ZWRHZXR0ZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgdHlwZSB7IElDbHVzdGVyIH0gZnJvbSAnLi9jbHVzdGVyJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIEFtYXpvbiBFS1MgQWRkLU9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBZGRvbiBleHRlbmRzIElSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBBZGQtT24uXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGFkZG9uTmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogQVJOIG9mIHRoZSBBZGQtT24uXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGFkZG9uQXJuOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYW4gQW1hem9uIEVLUyBBZGQtT24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWRkb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBBZGQtT24uXG4gICAqL1xuICByZWFkb25seSBhZGRvbk5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgdGhlIEFkZC1Pbi4gWW91IGNhbiBjaGVjayBhbGwgYXZhaWxhYmxlIHZlcnNpb25zIHdpdGggZGVzY3JpYmUtYWRkb24tdmVyc2lvbnMuXG4gICAqIEZvciBleGFtcGxlLCB0aGlzIGxpc3RzIGFsbCBhdmFpbGFibGUgdmVyc2lvbnMgZm9yIHRoZSBgZWtzLXBvZC1pZGVudGl0eS1hZ2VudGAgYWRkb246XG4gICAqICQgYXdzIGVrcyBkZXNjcmliZS1hZGRvbi12ZXJzaW9ucyAtLWFkZG9uLW5hbWUgZWtzLXBvZC1pZGVudGl0eS1hZ2VudCBcXFxuICAgKiAtLXF1ZXJ5ICdhZGRvbnNbKl0uYWRkb25WZXJzaW9uc1sqXS5hZGRvblZlcnNpb24nXG4gICAqXG4gICAqIEBkZWZhdWx0IHRoZSBsYXRlc3QgdmVyc2lvbi5cbiAgICovXG4gIHJlYWRvbmx5IGFkZG9uVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBFS1MgY2x1c3RlciB0aGUgQWRkLU9uIGlzIGFzc29jaWF0ZWQgd2l0aC5cbiAgICovXG4gIHJlYWRvbmx5IGNsdXN0ZXI6IElDbHVzdGVyO1xuICAvKipcbiAgICogU3BlY2lmeWluZyB0aGlzIG9wdGlvbiBwcmVzZXJ2ZXMgdGhlIGFkZC1vbiBzb2Z0d2FyZSBvbiB5b3VyIGNsdXN0ZXIgYnV0IEFtYXpvbiBFS1Mgc3RvcHMgbWFuYWdpbmcgYW55IHNldHRpbmdzIGZvciB0aGUgYWRkLW9uLlxuICAgKiBJZiBhbiBJQU0gYWNjb3VudCBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIGFkZC1vbiwgaXQgaXNuJ3QgcmVtb3ZlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJlc2VydmVPbkRlbGV0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBjb25maWd1cmF0aW9uIHZhbHVlcyBmb3IgdGhlIEFkZC1vbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBVc2UgZGVmYXVsdCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uZmlndXJhdGlvblZhbHVlcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgLyoqXG4gICAqIFRoZSByZW1vdmFsIHBvbGljeSBhcHBsaWVkIHRvIHRoZSBFS1MgYWRkLW9uLlxuICAgKlxuICAgKiBUaGUgcmVtb3ZhbCBwb2xpY3kgY29udHJvbHMgd2hhdCBoYXBwZW5zIHRvIHRoZSByZXNvdXJjZSBpZiBpdCBzdG9wcyBiZWluZyBtYW5hZ2VkIGJ5IENsb3VkRm9ybWF0aW9uLlxuICAgKiBUaGlzIGNhbiBoYXBwZW4gaW4gb25lIG9mIHRocmVlIHNpdHVhdGlvbnM6XG4gICAqXG4gICAqIC0gVGhlIHJlc291cmNlIGlzIHJlbW92ZWQgZnJvbSB0aGUgdGVtcGxhdGUsIHNvIENsb3VkRm9ybWF0aW9uIHN0b3BzIG1hbmFnaW5nIGl0XG4gICAqIC0gQSBjaGFuZ2UgdG8gdGhlIHJlc291cmNlIGlzIG1hZGUgdGhhdCByZXF1aXJlcyBpdCB0byBiZSByZXBsYWNlZCwgc28gQ2xvdWRGb3JtYXRpb24gc3RvcHMgbWFuYWdpbmcgaXRcbiAgICogLSBUaGUgc3RhY2sgaXMgZGVsZXRlZCwgc28gQ2xvdWRGb3JtYXRpb24gc3RvcHMgbWFuYWdpbmcgYWxsIHJlc291cmNlcyBpbiBpdFxuICAgKlxuICAgKiBAZGVmYXVsdCBSZW1vdmFsUG9saWN5LkRFU1RST1lcbiAgICovXG4gIHJlYWRvbmx5IHJlbW92YWxQb2xpY3k/OiBSZW1vdmFsUG9saWN5O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGF0dHJpYnV0ZXMgb2YgYW4gYWRkb24gZm9yIGFuIEFtYXpvbiBFS1MgY2x1c3Rlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZGRvbkF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGFkZG9uLlxuICAgKi9cbiAgcmVhZG9ubHkgYWRkb25OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBBbWF6b24gRUtTIGNsdXN0ZXIgdGhlIGFkZG9uIGlzIGFzc29jaWF0ZWQgd2l0aC5cbiAgICovXG4gIHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBBbWF6b24gRUtTIEFkZC1Pbi5cbiAqIEByZXNvdXJjZSBBV1M6OkVLUzo6QWRkb25cbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIEFkZG9uIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJQWRkb24ge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1la3MtdjItYWxwaGEuQWRkb24nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGBJQWRkb25gIGluc3RhbmNlIGZyb20gdGhlIGdpdmVuIGFkZG9uIGF0dHJpYnV0ZXMuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBwYXJlbnQgY29uc3RydWN0LlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgY29uc3RydWN0IElELlxuICAgKiBAcGFyYW0gYXR0cnMgLSBUaGUgYXR0cmlidXRlcyBvZiB0aGUgYWRkb24sIGluY2x1ZGluZyB0aGUgYWRkb24gbmFtZSBhbmQgdGhlIGNsdXN0ZXIgbmFtZS5cbiAgICogQHJldHVybnMgQW4gYElBZGRvbmAgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21BZGRvbkF0dHJpYnV0ZXMoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgYXR0cnM6IEFkZG9uQXR0cmlidXRlcyk6IElBZGRvbiB7XG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJQWRkb24ge1xuICAgICAgcHVibGljIHJlYWRvbmx5IGFkZG9uTmFtZSA9IGF0dHJzLmFkZG9uTmFtZTtcbiAgICAgIHB1YmxpYyByZWFkb25seSBhZGRvbkFybiA9IFN0YWNrLm9mKHNjb3BlKS5mb3JtYXRBcm4oe1xuICAgICAgICBzZXJ2aWNlOiAnZWtzJyxcbiAgICAgICAgcmVzb3VyY2U6ICdhZGRvbicsXG4gICAgICAgIHJlc291cmNlTmFtZTogYCR7YXR0cnMuY2x1c3Rlck5hbWV9LyR7YXR0cnMuYWRkb25OYW1lfWAsXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBgSUFkZG9uYCBmcm9tIGFuIGV4aXN0aW5nIGFkZG9uIEFSTi5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHBhcmVudCBjb25zdHJ1Y3QuXG4gICAqIEBwYXJhbSBpZCAtIFRoZSBJRCBvZiB0aGUgY29uc3RydWN0LlxuICAgKiBAcGFyYW0gYWRkb25Bcm4gLSBUaGUgQVJOIG9mIHRoZSBhZGRvbi5cbiAgICogQHJldHVybnMgQW4gYElBZGRvbmAgaW1wbGVtZW50YXRpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21BZGRvbkFybihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBhZGRvbkFybjogc3RyaW5nKTogSUFkZG9uIHtcbiAgICBjb25zdCBwYXJzZWRBcm4gPSBTdGFjay5vZihzY29wZSkuc3BsaXRBcm4oYWRkb25Bcm4sIEFybkZvcm1hdC5DT0xPTl9SRVNPVVJDRV9OQU1FKTtcbiAgICBjb25zdCBzcGxpdFJlc291cmNlTmFtZSA9IEZuLnNwbGl0KCcvJywgcGFyc2VkQXJuLnJlc291cmNlTmFtZSEpO1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSUFkZG9uIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBhZGRvbk5hbWUgPSBGbi5zZWxlY3QoMSwgc3BsaXRSZXNvdXJjZU5hbWUpO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGFkZG9uQXJuID0gYWRkb25Bcm47XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZXNvdXJjZTogQ2ZuQWRkb247XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgQW1hem9uIEVLUyBBZGQtT24uXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgcGFyZW50IGNvbnN0cnVjdC5cbiAgICogQHBhcmFtIGlkIFRoZSBjb25zdHJ1Y3QgSUQuXG4gICAqIEBwYXJhbSBwcm9wcyBUaGUgcHJvcGVydGllcyBmb3IgdGhlIEFkZC1Pbi5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBZGRvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzLmFkZG9uTmFtZSxcbiAgICB9KTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIHRoaXMuY2x1c3Rlck5hbWUgPSBwcm9wcy5jbHVzdGVyLmNsdXN0ZXJOYW1lO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBDZm5BZGRvbih0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBhZGRvbk5hbWU6IHByb3BzLmFkZG9uTmFtZSxcbiAgICAgIGNsdXN0ZXJOYW1lOiB0aGlzLmNsdXN0ZXJOYW1lLFxuICAgICAgYWRkb25WZXJzaW9uOiBwcm9wcy5hZGRvblZlcnNpb24sXG4gICAgICBwcmVzZXJ2ZU9uRGVsZXRlOiBwcm9wcy5wcmVzZXJ2ZU9uRGVsZXRlLFxuICAgICAgY29uZmlndXJhdGlvblZhbHVlczogdGhpcy5zdGFjay50b0pzb25TdHJpbmcocHJvcHMuY29uZmlndXJhdGlvblZhbHVlcyksXG4gICAgfSk7XG5cbiAgICBpZiAocHJvcHMucmVtb3ZhbFBvbGljeSkge1xuICAgICAgdGhpcy5yZXNvdXJjZS5hcHBseVJlbW92YWxQb2xpY3kocHJvcHMucmVtb3ZhbFBvbGljeSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGFkZG9uLlxuICAgKi9cbiAgQG1lbW9pemVkR2V0dGVyXG4gIHB1YmxpYyBnZXQgYWRkb25OYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UmVzb3VyY2VOYW1lQXR0cmlidXRlKHRoaXMucmVzb3VyY2UucmVmKTtcbiAgfVxuXG4gIEBtZW1vaXplZEdldHRlclxuICBwdWJsaWMgZ2V0IGFkZG9uQXJuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UmVzb3VyY2VBcm5BdHRyaWJ1dGUodGhpcy5yZXNvdXJjZS5hdHRyQXJuLCB7XG4gICAgICBzZXJ2aWNlOiAnZWtzJyxcbiAgICAgIHJlc291cmNlOiAnYWRkb24nLFxuICAgICAgcmVzb3VyY2VOYW1lOiBgJHt0aGlzLmNsdXN0ZXJOYW1lfS8ke3RoaXMuYWRkb25OYW1lfS9gLFxuICAgIH0pO1xuICB9XG59XG4iXX0=